Научная статья на тему 'Использование технологии MPI при распараллеливании интерполяции методом кубического сплайна'

Использование технологии MPI при распараллеливании интерполяции методом кубического сплайна Текст научной статьи по специальности «Математика»

CC BY
102
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
MPI / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / PARALLEL COMPUTING / ИНТЕРПОЛЯЦИЯ / INTERPOLATION

Аннотация научной статьи по математике, автор научной работы — Чашин Юрий Геннадьевич, Деев Виталий Владимирович

Цель статьи заключается в рассмотрении распараллеливания интерполяции методом кубического сплайна. При анализе использовались входные значения узлов на примере функции синус. В ходе рассмотрения были вычислены основные показатели эффективности параллельного алгоритма по сравнению с последовательным алгоритмом.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USE OF MPI IN PARALLELIZATION OF CUBIC SPLINE INTERPOLATION METHOD

The purpose of the article is to review the parallelization method cubic spline interpolation. The analysis used the input node values on the example of the sine function. During the review it was calculated key performance indicators of the parallel algorithm, compared with sequential algorithms.

Текст научной работы на тему «Использование технологии MPI при распараллеливании интерполяции методом кубического сплайна»

ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ MPI ПРИ РАСПАРАЛЛЕЛИВАНИИ ИНТЕРПОЛЯЦИИ МЕТОДОМ КУБИЧЕСКОГО СПЛАЙНА

Чашин Юрий Геннадьевич

канд. техн. наук, доц. кафедры математического и программного обеспечения информационных систем, Белгородский Государственный Национальный исследовательский Университет

РФ, г. Белгород E-mail: chashin@bsu.edu.ru

Деев Виталий Владимирович

студент, Белгородский Государственный Национальный исследовательский Университет,

РФ, г. Белгород E-mail: vitalijdeev@;yandex. ru

USE OF MPI IN PARALLELIZATION OF CUBIC SPLINE INTERPOLATION METHOD

Yuri Chashin

candidate of Science., assistant professor of mathematical and software support of information systems, Belgorod State National Research University

Russia, Belgorod

Vitaly Deev

student, Belgorod State National Research University,

Russia, Belgorod

АННОТАЦИЯ

Цель статьи заключается в рассмотрении распараллеливания интерполяции методом кубического сплайна. При анализе использовались входные значения узлов на примере функции синус. В ходе рассмотрения были вычислены основные показатели эффективности параллельного алгоритма по сравнению с последовательным алгоритмом.

ABSTRACT

The purpose of the article is to review the parallelization method cubic spline interpolation. The analysis used the input node values on the example of the sine function. During the review it was calculated key performance indicators of the parallel algorithm, compared with sequential algorithms.

Ключевые слова: MPI; параллельные вычисления; интерполяция.

Keywords: The MPI; parallel computing; interpolation.

Параллельные вычисления - одна из наиболее актуальных областей вычислительных наук в последнее десятилетие. Актуальность данной области связана прежде всего с бурным развитием численного моделирования. Численное моделирование является промежуточным элементом между аналитическими методами изучения и физическими экспериментами [1]. Рост количества задач, для решения которых необходимы параллельные вычисления обусловлен:

• Возможностью изучать явления, которые затруднительно, по некоторым причинам, изучить экспериментально.

• Необходимостью управления сложными промышленными и технологическими процессами в режиме реального времени. И в условиях неопределенности [2].

• Ростом числа задач, для решения которых необходимо обрабатывать гигантские объемы информации.

Помимо всего прочего процессоры приближаются к пределу тактовой частоты. Исторически сложилось, что выполняется закон Мура: каждые 18 месяцев производительность вычислительных систем увеличивается в 2 раза. До 21 века производительность процессов увеличивалась за счет повышения тактовой частоты. Главным тормозом здесь служило энергопотребление: при увеличении тактовой частоты на 20 %, энергопотребление возрастало на 73 % [3]. Поэтому было решено пойти другим путем. Производители процессоров стали уделять больше внимания реализации параллелизма, нежели тактовой частоте процессоров. Это достигается за счет реализации многоядерной архитектуры. Разместить на одном кристалле процессора несколько упрощенных процессоров, у которых тактовая частота была занижена, а функции АЛУ упрощены. Практически все современные устройства имеют многопроцессорную архитектуру (суперкомпьютеры, ПК, мобильные устройства).

В связи с тем, что многопроцессорные системы, такие как суперкомпьютеры, стали широко распространены, а также существует множество задач, требующих больших вычислительных мощностей, возросла и роль методов параллельного программирования.

Сплайны имеют многочисленные применения как в математической теории, так и в прикладной математике (в частности, в разнообразных вычислительных программах). В частности, сплайны двух переменных интенсивно используются для задания поверхностей в различных системах компьютерного моделирования. Сплайны двух аргументов называют би-сплайнами (например, бикубический сплайн), которые являются двумерными сплайнами, моделирующими поверхности. Их часто путают с B-сплайнами (базисными сплайнами), которые являются одномерными и в линейной комбинации составляют кривые — каркас для «натягивания» поверхностей. Также из базисных сплайнов возможно составить трёхмерную конструкцию для моделирования объёмных тел.

Алгоритм вычисления можно разделить на две части:

• Вычисление коэффициентов в узлах интерполяции.

• Вычисление значений сплайна в заданной точке.

Первый этап не является таким трудоемким, по сравнению со вторым,

Второй этап занимает гораздо большую часть вычислительного времени, поэтому выполнение второго этапа алгоритма распределяется между процессами.

Прежде всего пользователем производится ввод значений узлов входных данных. Затем, с помощью специальных директив MPI создается параллельная секция, которая будет выполняться на нескольких процессах, количество которых указывается пользователем при запуске приложения. После этого производится распределение данных между процессами. Пример распределения массива, состоящего из 100 элементов представлен на рисунке 1.

13 13 13 13 1Ï 12 12 12

CPU0 CPU1 CPU2 стиз CPU4 CPUS CPLT& CPU7

D 13 Зб 39 52 И 76 ВВ îoc

Рисунок 1. Пример распределения данных между процессами

После того, как произведено распределение данных, на каждом процессе начинается выполнение вычисления значений между входными узлами интерполяции. Для этого, на каждом из узлов

производится вызов последовательной функции, реализующей метод кубических сплайнов. После выполнения вычислений каждым из процессов производится барьерная блокировка, чтобы все процессы окончили вычисление, а после этого производится сборка результатов вычислений со всех процессов в один массив на одном процессе при помощи функции МР1_ОаШегу(). Пример работы данной функции проиллюстрирован на рисунке 2.

Рисунок 2. Схема работы МР1_Са1квгг

После того, как все данные собраны на одном процессе выполнение алгоритма окончено.

Результаты выполнения программ на разных наборах данных приведены в таблице 1.

Таблица 1.

Результат выполнения на различных наборах данных

Размерность Последовательно (1 процесс), сек 2 процесса, сек 4 процесса, сек

31101 0.00128654 0.000809977 0.000403943

311017 0.0115795 0.00671721 0.00318956

31101767 0.98814 0.528883 0,261672

188495559 6.56067 3.44094 1.69863

Ускорение при выполнении программы на 2 и 4 процессах по сравнению с последовательным выполнением представлено в таблице 2.

Таблица 2.

Коэффициенты ускорения программы

Размерность Ускорение по сравнению с последовательным выполнением

2 процесса 4 процесса

31101 1,588 3,1849

311017 1,723 3,6304

31101767 1,872 3,776

188495559 1,907 3,8654

Соотношение эффективности выполнения программы на 2 и 4 процессах по сравнению с параллельным выполнением представлено в таблице 3.

Таблица 3.

Эффективность программы по сравнению с последовательным

выполнением

Размерность Эффективность по сравнению с последовательным выполнением

2 процесса 4 процесса

31101 0,794 0,796225

311017 0,8615 0,9076

31101767 0,936 0,944

188495559 0,9535 0,96635

Как видно из таблиц 2 и 3 с увеличением объема вычислений увеличивается ускорение вычислений, а также эффективность. Это обусловлено тем, что на создание процессов и обмен сообщениями между ними необходимы некоторые издержки. С увеличением объемов данных эти издержки становятся не такими существенными, как на небольших объемах.

Исследовав эффективность разработанного алгоритма, можно прийти к выводу, что использование технологии MPI для создания параллельных приложений значительно повышает скорость вычислений, а ускорение растет с ростом количества вычислений, но достигает своего предела. Так же ускорение не может быть равным количеству вычислителей из-за издержек, как было сказано выше.

Список литературы:

1. Букатов А.А., Дацюк В.Н., Жегуло А.И. Программирование многопроцессорных вычислительных систем. - Ростов-на-Дону: ООО «ЦВВР», 2003. - 208 с. - ISBN 5-94153-062-5.

2. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. - М.: Мир, 1982. - 416 с.

3. Эра многоядерных энергоэффективных процессоров - [Электронный ресурс] - режим доступа - http://compress.ru/article.aspx?id=16962 (Дата обращения: 03.06.2016).

СЖАТИЕ АУДИОДАННЫХ НА ОСНОВЕ ПСИХОАКУСТИЧЕСКИХ СВОЙСТВ СЛУХА ЧЕЛОВЕКА

Заболотов Владимир Александрович

студент Поволжского государственного университета телекоммуникаций и информатики, РФ, г. Самара E-mail: zabal-v37@mail.ru

Стефанова Ирина Алексеевна

канд. техн. наук, доц. Поволжского государственного университета

телекоммуникаций и информатики, РФ, г. Самара E-mail: aistvt@mail.ru

COMPRESSION OF AUDIO DATA ON THE BASIS OF PSYCHOACOUSTIC PROPERTIES OF HEARING

Vladimir Zabolotov

student of Volga Region State University of Telecommunications and Informatics, Russia, Samara

Irina Stefanova

phD (Science), assistant professor of Volga Region State University

of Telecommunications and Informatics, Russia, Samara

i Надоели баннеры? Вы всегда можете отключить рекламу.