Построение модели для оценки эффективности параллельного алгоритма циклической редукции

№ 2/2014

Вестник Таганрогского института управления и экономики

О.И. ОВЧАРЕНКО

ПОСТРОЕНИЕ МОДЕЛИ ДЛЯ ОЦЕНКИ ЭФФЕКТИВНОСТИ ПАРАЛЛЕЛЬНОГО АЛГОРИТМА ЦИКЛИЧЕСКОЙ РЕДУКЦИИ

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

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

Многопроцессорные вычислительные системы (МВС), кластер, параллельный алгоритм, ускорение, эффективность.

При реализации прямых методов решения сеточных уравнений на отдельных этапах возникает потребность в решении систем линейных алгебраических уравнений (СЛАУ) с трехдиагональной матрицей, для решения которых существует достаточно много методов. В данной работе выбор остановлен на часто используемом на практике методе циклической редукции (cyclic reduction (CR)) [1]. Данный метод является экономичным, т.к. обладает вычислительной сложностью порядка O(N).

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

В качестве исходных данных при оценке эффективности построенного параллельного алгоритма циклической редукции [2, с. 202-207] иепользова-лись параметры, характеризующие выбранную задачу, а также аппаратные характеристики HPC-кластера (ЮФУ, г. Таганрог), который представляет собой многопроцессорную вычислительную систему (МВС) с распределённой памятью, состоящую из 128 вычислительных узлов, объединённых сетью Infini Band с пропускной способностью 20 Гбит/с. В качестве вычислительных узлов иепользуется 128 однотипных 16-ядерных Blade-серверов HP ProLiant BL685c, каждый из которых оснащён четырьмя четырёхъядерными процессорами AMD Opteron 8356 2.3GHz и объёмом ОЗУ 32Гб [3, с. 320-331]. Расчёты для параллельного алгоритма произведены с применением технологий MPI на МВС и с учётом параметров , полученных при тестировании данной системы пакетами Linpack и Pallas MPI benchmark.

В качестве величин, характеризующих «распарал-леливаемостъ» алгоритмов, использовались коэффи-циентыускорения Sp=Т1/Тр и эффективности алгоритма Ep=Sp/p. Величина Т1 характеризует время выполнения последовательного алгоритма, а Тр - время выполнения алгоритма с использованием р-вычисли-тельных ядер.

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

мени, которое тратится на чтение данных, необходимых для вычислений, из оперативной памяти в кэш -память. Для параллельного алгоритма также учитывались накладные расходы на организацию параллелизма (организация и закрытие параллельных секций) и необходимость обмена данными между узлами кластера. Для обозначения алгоритмов введём индекс , характеризующий способ реализации: (1) -последовательный, (р) - параллельный.

Выполним оценку времени выполнения последовательного алгоритма метода циклической редукции, которая складывается из времени вычислений и времени доступа к оперативной памяти:

T1CR=T1 ар+Т! оп,

где Т1 ар -время выполнения арифметических операций; Т1 оп - время доступа к памяти.

Общее время выполнения вычислений складывается из времени вычисления коэффициентов на прямом ходе и времени вычисления неизвестных на обратном ходе и определяется следующим образом:

гр1 __гр1 \ гр1

1 ар * пр

log2N-1

об 12t<

ар

ll=1

N - 2

2

log2N-1

+ 5t

ар

ll= 0

N

2l2

=12 tap

где tap - среднее время выполнения базовой арифметической операции; N - размерность задачи.

Время доступа к оперативной памяти Топ представим как результат деления объёма извлекаемых данных на пропускную способность памяти Д [4]. Для получения более точной оценки необходимо также учитывать параметры конкретной вычислительной системы, а именно: размер кэш-строки (64 байта);

латентность доступа к памяти а и частоту возникновения кэш-промахов у (0<у<1):

Т^п =

Тогда время выполнения последовательного алгоритма будет получено суммированием выражений (2) и (3):

T1CR=16 tap(N - log2N- 1)+6 tap(N- 1) +(9N-

- 4 log2N - 9)- у

Для параллельного алгоритма метода цикличес-кой редукции время выполнения составит

Т CR=rf ар + ^оп + Тобм + т,

где ТРар - время выполнения арифметических операций на р - вычислительных элементах; ТРоп _ время

74

№ 2/2014

Вестник Таганрогского института управления и экономики

доступа к оперативной памяти; Т0бм _ время выполнения операций обмена информацией между узлами; т - время, необходимое на организацию и закрытие параллельных секций.

Время выполнения арифметических операций определяется по формуле

log2N-1 г

^ар =ТР np+Т11 об = 12tap ^

ll=1 L

г -| log2N-1 г 1

N + 5 ар ^ ll= 0 N

_ 2lp. 2l2 p

=12 tap

где p - общее количество вычислительных ядер; квадратные скобки в формуле означают операцию округления до целого, не превосходящего данное. Величина Тропсоставит

TPon =

Чтобы оценить время выполнения операций обмена информацией, обрабатываемой в различных узлах вычислительной системы, введём следующие обозначения : ku - количество узлов; kp - количество однотипных ядер в узле. Тогда время на обмен между узлами определяется следующим образом:

Тобм = 9log2(N- 1) (ainf+1/Pinf) при N/ku=kv;

Т0бм = (8(log2N- 1) +log2p) (аы+1/ры) при N/ku>kv,

где ocinf- латентность (latency), определяющая время подготовки к передаче данных по сети; pinf - пропускная способность сети (bandwidth), задающая объём передаваемых по сети за 1 секунду данных.

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

Рис. 1. Структура ин формационн ых связей

циклической редукции

Для оценки качества параллельного алгоритма ис -пользуются характеристики, введённые ранее. График изменения коэффициента ускорения Sp в зависимости от размерности задачи N и числа вычис-лительных элементов (ядер) р представлен на рис.2.

На рис. 3 представлены графики изменения величины Ер, характеризующей среднюю долю времени выполнения алгоритма, в течение которого процес-соры реально используются для решения задачи, в зависимости от размерности задачи N и числа вычислительных элементов (ядер) р.

Анализ представ ленных графиков показывает, что при небольших значениях N ускорение растёт до определённого момента. Далее при увеличении числа вычислительных элементов (ядер) ускорение начи-

нает падать. Это говорит о том, что по сравнению с объёмом вычислений, приходящихся на одно ядро, время на обмены между узлами существенно увеличивается. Аналогично обстоит дело с эффективностью алгоритма (рис.3). Если считать приемлемыми значениями эффективности величины, попадающие в диапазон от 1 до 0,5, то совершенно очевидно, что использование такой системы эффективно только при решении задач большой размерности с использованием количества вычислительных элементов не более 128 (для рассматриваемой системы эго 8 узлов по 16 ядер в каждом).

-N-105?

-N-&15J

-WS.ft-Vl

-Ч=Гх?!:Я!|

Рис. 2. Графики изменения величины ускорения Sp в зависимости от N up

-N-'SIVl:

»N“K1 ЧУ

-Н=1№1!4

-Н=л:--'1:К

123 2'iii .'U 1П''г 7iMiv

нллк'-сстч!? TOHjercDDDS

Рис.3. Графики изменения величины эффективности Ep в зависимости от N и p

ЛИТЕРАТУРА

1. Самарский А.А., Николаев Е. С. Методы решения сеточных уравнений. М.: Наука, 1978.

2. Овчаренко О.И. Параллельная реализация быстрых прямых методов решения сеточных эллиптических уравнений //Известия ЮФУ. Технические науки. Таганрог: Изд-во ЮФУ. 2008. №9(86).

3. Лапин Д.В., Сухинов А.И., Целых А.Н. и др. Многопроцессорная вычислительная система ТТИ ЮФУ: материалы Всероссийской суперкомпьютерной конференции «Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность». М.: Изд-во МГУ, 2009.

4. Гергелъ В.П. Высокопроизводительные вычисления для многоядерных многопроцессорных сис-тем: учебное пособие. Нижний Новгород: Изд-во ННГУ им. Н.И.Лобачевского, 2010.

75