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

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

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

Аннотация научной статьи по математике, автор научной работы — Андреев В. В.

Предложен метод анализа производительности многопроцессорных вычислительных систем при решении конкретных задач методом молекулярной динамики в зависимости от потоков данных, возникающих в многопроцессорной системе, размера моделируемого пространства, радиуса потенциала взаимодействия и доступных для решения задачи процессоров. Ил. 3. Табл. 1. Библиогр. 9.

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

Похожие темы научных работ по математике , автор научной работы — Андреев В. В.

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

The method of multiprocessor computer productivity analysis at molecular dynamics calculation depending on data stream in multiprocessor system, simulated space size, interaction potential radius and available processors is proposed.

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

УДК 548.4.001.57:681.3.06

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

В.В. АНДРЕЕВ

Институт прикладной механики УрО РАН, Ижевск, Россия

АННОТАЦИЯ. Предложен метод анализа производительности многопроцессорных вычислительных систем при решении конкретных задач методом молекулярной динамики в зависимости от потоков данных, возникающих в многопроцессорной системе, размера моделируемого пространства, радиуса потенциала взаимодействия и доступных для решения задачи процессоров.

ВВЕДЕНИЕ

Применение метода молекулярной динамики (ММД) для исследования свойств твердых ракетных топлив (ТРТ) [1], потребовало тщательного анализа всех возможностей ММД с целью увеличения скорости решения задачи на многопроцессорных вычислительных системах (МВС). Так как молекулярные ансамбли (МА), рассматриваемые в [1], являются многокомпонентными и включают в себя, в том числе и полимерные вещества, то радиус потенциала межатомного взаимодействия в таких моделях может достигать нескольких десятков ангстрем. Именно такие задачи с большим радиусом потенциалов межатомного взаимодействия наиболее трудно решаются на МВС. Поэтому актуальным становится вопрос возможности повышения быстродействия вычислительной системы при решении конкретной задачи ММД. Быстродействие большинства современных многопроцессорных вычислительных систем при решении сложных универсальных задач очень существенно зависит от количества используемых для решения процессоров [2-5]. Основным фактором, влияющим на эффективное использование МВС при увеличении количества процессоров, используемых для решения задач ММД, являются объем передаваемой информации между процессорами в процессе решения задачи и синхронизация возникающих в процессе решения задачи потоков данных. Рассмотрим влияние особенностей конкретной постановки задачи ММД на потоки данных, возникающие в МВС при решении этой задачи.

Основой метода молекулярной динамики является расчет траекторий движения отдельных атомов, взаимодействие между которыми задается потенциалом

взаимодействия. Движения атомов описываются уравнениями классической механики Ньютона

т - масса атома

Хц - координата / атома у в момент времени / К; (0 - проекция скорости на координату I атома у в момент времени / проекция силы на координату / атома у в момент времени /.

АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ

Одной из самых важных характеристик МВС является производительность. Множество работ посвящено анализу алгоритмов и конкретных программ [4-9] с целью увеличения скорости их выполнения на ЭВМ. Рассмотрим, как влияют на быстродействие МВС конкретные параметры задачи, решаемой на МВС методом ММД.

Для анализа быстродействия многопроцессорной системы при решении задач ММД введем некоторые понятия:

Расчетная область (Уг) - это область модели для расчета траекторий движения атомов, предназначенная для одного процессора многопроцессорной системы, которая состоит из «независимой области» и «зависимой области».

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

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

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

Любая расчетная область состоит из независимой области и зависимой области. Зависимые области характеризуются количеством соседних областей, от которых они

(1)

(2)

где: /=1,2,3

7= 1,2,3,...И

зависят. Поэтому будем различать их по типу. Зависимая область первого типа (Уг{)

зависит только от одной соседней области. Зависимая область третьего типа (Уг3) зависит от трех соседних областей и т.д.. Тогда для всей модели можно записать:

у = Е;Уг> (3)

/=1

g V w

Уг = Уп + ^ У\ +1 + X VI, (4)

7=1 /=1 <7=1

Где: У - область модели,

Уг - расчетная область одного процессора, Р - количество процессоров для расчета, Уп - независимая область одного процессора, У2Х - зависимая область первого типа,

Уг3 - зависимая область третьего типа,

Уг1 - зависимая область седьмого типа,

g - количество зависимых областей первого типа, V - количество зависимых областей третьего типа, м> - количество зависимых областей седьмого типа.

Рассмотрим работу многопроцессорной системы при решении задачи ММД. Все пространство модели (3) разобьем на одинаковые по форме и размеру расчетные (4) области так, чтобы количество областей было равно количеству процессоров, участвующих в расчете задачи. Расчет временного шага будем производить в каждом процессоре для своей расчетной области. Следовательно, по окончании расчета расчетной области в каждом узле МВС будет рассчитанный шаг интегрирования для следующего цикла расчетов. Все рассчитанные значения шагов интегрирования передаем в один из процессоров и для следующего цикла расчетов, выбираем наиболее подходящий из них.

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

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

Таблица 1.

Тип модели Кол. У/Л Кол. УгЗ (V) Кол. Уг7 (\у)

Квадрат - циклические граничные условия 4 4

Куб - циклические граничные условия 6 8 8

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

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

Вся область моделируемого пространства разбита на 4 расчетные области. Уг1 - Уп1, 1а, 1Ь, 1с, Ы, 1к, 1у, Н Уг2 - Уп2, 2а, 2Ь, 2с, 2ё, 2к, 2g, 2у, И УгЗ - УпЗ, За, ЗЬ, Зс, Зс1, Зк, 3^ Зу, Зf Уг4 - Уп4, 4а, 4Ь, 4с, 4(1, 4к, 4^ 4у, 4f

• »v- Ы - , . - - . .: 2Ь

1с Уп1 1а 2а Уп2 2с

1Ь шш - УЩ 2<1 .

Г 4Ь ■ ■■■. ■ ■■ ■■ ■жюу.гл-. ■ 3(1

4с Уп4 4а За УпЗ Зс

: : 4ё ■'¡■■у- ;:: • № ШЩ&г - • • ЗЬ •

А

Г

Рис. 1. Вариант разбиения на расчетные области для двумерной модели с циклическими граничными условиями

Рассмотрим вариант, когда пространство модели представляет собой квадрат разбитый на четыре равные расчетные области. Тогда: Уп1 = Уп2 = УпЗ = Уп4

1а = 2а = 3а = 4а= 1Ь = 2Ь = ЗЬ = 4Ь= 1с = 2с = 3с = 4с = Ы = 2<1 = 3с1 = 4<1 1к = 2к = Зк = 4к = = Н= Зf= 4{= ^ = 2g = Зg = 4g = IV - 2у = Зу = 4у Уг1 = Уг2 = УгЗ = Уг4 = Уг

у = Уг 1 + Уг2 + УгЗ + Уг4 = 4 Уг

Для областей расчета согласно (3), (4) можно записать:

у =>>,

/= 1

Уг = +

j=\ /=1 Введем следующие обозначения:

А - сторона квадрата расчетной области для одного процессора. 5 - радиус обрезания потенциала межатомного взаимодействия.

Для плоского случая, согласно табл. 1, имеем, g = 4, V = 4, следовательно

Уг = Уп + АУгх + 4Уг3 Уп = (А- 25)2 Уг, = (А-25).5 Уг з = 52

Уг = (А- 2Я)2 + 45 • (А - 25) + 452

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

Сг{ - коэффициент, определяющий затраты на прием-передачу данных, необходимых для расчета одного атома в зависимой области первого типа.

Сг3 - коэффициент определяющий затраты на прием-передачу данных, необходимых

для расчета одного атома в зависимой области третьего типа.

Тг - время расчета процессором своей расчетной области.

Тп - время расчета процессором независимой области.

Тг] - время расчета процессором зависимой области первого типа.

Тг3 - время расчета процессором зависимой области третьего типа.

Тргха - время приема-передачи данных для одного атома зависимой области первого типа.

Трг3а - время приема-передачи данных для одного атома зависимой области третьего типа.

Tzxa = Тпа • Czl Tz3a = Тпа • Cz3

Определим время, расходуемое одним процессором MB С на расчет своей расчетной области в случае расчета плоской квадратной модели.

Тпа

Czз =

Tpz3a

Тпа

Тп = Тпа - (А - 25)

2

Tz] =Tzla-(A-2S)-S

Tz3 = Tz3a • S

2

Примем время расчета одного атома в независимой области за единицу. Тогда:

Tn = (A-2S)

2

Zzj =Czr(A-2S)-S

Tz3 = Cz3 • S2

Тг = (А-28)2 +48-{А-28уСгх+А82 -Сц

Мы получили время работы одного процессора при расчете своей расчетной области для плоской модели квадратной формы.

Рассмотрим вариант, когда пространство модели трехмерное, и представляет собой куб разбитый на Р одинаковых расчетных областей. Тогда для областей расчета согласно (3), (4) можно записать:

у=£уг, /=1

£ V м

+ £ У'з, +1

7=1 М <7=1

Введем следующие обозначения: Тпа - время расчета одного атома в независимой области. Тгха - время расчета одного атома зависимой области первого типа.

Тг3а - время расчета одного атома зависимой области третьего типа.

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

Тг7а - время расчета одного атома зависимой области седьмого типа.

Сг{ - коэффициент, определяющий затраты на прием-передачу данных, необходимых для расчета одного атома в зависимой области первого типа.

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

Сг1 - коэффициент определяющий затраты на прием-передачу данных, необходимых

для расчета одного атома в зависимой области седьмого типа.

Тг - время расчета процессором своей расчетной области.

Тп - время расчета процессором независимой области.

Тг, - время расчета процессором зависимой области первого типа.

7>3 - время расчета процессором зависимой области третьего типа.

Тг7 - время расчета процессором зависимой области седьмого типа.

Тргха - время приема-передачи данных для одного атома зависимой области первого типа.

Трг3а - время приема-передачи данных для одного атома зависимой области третьего типа.

Уг = Уп + У

Tpz7a - время приема-передачи данных для одного атома зависимой области седьмого типа.

А - сторона куба расчетной области для одного процессора. S - радиус обрезания потенциала взаимодействия атомов.

Для трехмерного случая, согласно табл. 1, имеем, g = 6, v = 8, w= 8. Следовательно

Vr = Vn + 6Vz] + 8Vz, + 8Vz7 Vn = (A-2S)3 Vzx = S-(A-2S)2 Vz,=S2-(A-2S) Vz7 = S3

Vr = (A- 2S)3 + 6S - (A - 2S)2 + 8S2 (A - 2S) + 8S3

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

Тп = Тпа • (А - 2S)3 Tzl =Tzla-(A-2S)2-S Tz3 = Tz3a • (A - 2S) • S2 Tz7 = Tz7a-S3

Примем время расчета одного атома в независимой области за единицу. Тогда:

Тпа Тпа

Cz1 = Теы. Тпа

Tzxa = Tna-Cz{ Tzya = Тпа • Cz3 Tz7a = Тпа • Cz7 Tn = (A-2S)3 Tz, =Czr(i4-2S)2-5 Tz3=Cz3-(A-2S)-S2 Tz7 = Cz7-S3

Определим время, расходуемое одним процессором МВС на расчет своей расчетной области в случае расчета куба.

Тг = (А- 2Sf + 6Cz, • (А - 2S)2 • S + 8Cz3 • (А -2S)• 52 + 8Cz7 • S3

Мы получили выражение времени работы одного процессора для расчета своей расчетной области при расчете трехмерного пространства в форме куба.

Характерные размеры молекулярных ансамблей при решении задачи расчета те-плофизических характеристик ТРТ согласно [1] составляют 400 х 400 х 400 атомов. Поэтому рассмотрим, как для моделей такого размера изменяется зависимость скорости расчета задачи от радиуса обрезания потенциала взаимодействия между атомами и от количества процессоров, участвующих в расчете поставленной задачи. Графики зависимостей для различных размеров моделей и различного количества процессоров представлены на рис. 2, 3.

Здесь радиус потенциала взаимодействия представлен в межатомных расстояниях, а за единицу времени для оценки быстродействия принято время расчета одного атома (Тпа).

Здесь для всех графиков Cz}= 1,1 т.е. время передачи данных для расчета одного атома из зависимой области первого типа составляет 10% от времени расчета одного атома независимой области, что является хорошей скоростью передачи данных по каналам межпроцессорной связи. Cz3= 1,3 т.е. время приема-передачи данных из зависимой области третьего типа для расчета одного атома в три раза больше чем из зависимой области первого типа. Cz7 =1,4 т.е. время приема-передачи данных из зависимой

области седьмого типа в четыре раза больше чем из зависимой области первого типа. Это значения коэффициентов которые были получены на МВС на процессорах Alpha 21164 с каналами передачи данных 1Gb.

Рис. 2. Радиус потенциала взаимодействия в межатомных расстояниях.

Размер модели 400 х 400 х 400 атомов. Количество процессоров 8 и 40

0 0 0 0 0 0

Рис. 3. Радиус потенциала взаимодействия в межатомных расстояниях.

Размер модели 400 х 400 х 400 атомов. Количество процессоров 8 и 100

Видно, что при расчете этой модели (рис. 2.) с радиусом потенциала взаимодействия 80 межатомных расстояний скорость расчета на 8 процессорах равна скорости расчета на 40 процессорах, а если радиус потенциала взаимодействия составляет 100 межатомных расстояний, то скорость расчета на 40 процессорах в 1,5 раза меньше чем на 8 процессорах.

ВЫВОДЫ

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

СПИСОК ЛИТЕРАТУРЫ

1. Липанов A.M. Теоретические основы отработки твердых ракетных топлив. Институт прикладной механики УрО РАН. Ижеск, 2003. С.26-40.

2. Abraham F.F. Computational Statistical Mechanics. Methodology, Applications and Supercomputing, Advances in Physics 35, 1 (1986).

3. Gupta S. Computing Aspects of Molecular Dynamics Simulation, Comp. Phys. Comm. 70, 243 (1992).

4. Plimpton S., Heelnger G. Scalable Parallel Molecular Dynamics on MIMD Supercomputers, Procs. of the High Performance Computing Conference 92, p246, IEEE Computer Society 1992.

5. Smith W. Molecular Dynamics on Hypercube Parallel Computers, Comp. Phys. Comm. 62, 229(1991).

6. Андреев В.В., Чудинов В.Г. Оптимизация временных характеристик метода молекулярной динамики в комплексе программ MMDYN. ВИНИТИ 2242-В. 1988. 14с.

7. Головкин Б.А. Расчет характеристик и планирование параллельных вычислительных процессов. - М.: Радио и связь, 1983. - 272с.

8. Калиниченко Д.В., Капитонова А.П., Ющенко Н.В.. Методы и средства прогнозирования времени выполнения последовательных программ.//Методы математического моделирования. МГУ, 1997. № 2.

9. Вальковский В.А. Распараллеливание алгоритмов и программ. Структурный подход. - М.: Радио и связь, 1989. - 176с.

SUMMARY. The method of multiprocessor computer productivity analysis at molecular dynamics calculation depending on data stream in multiprocessor system, simulated space size, interaction potential radius and available processors is proposed.

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