Научная статья на тему 'Определение наиболее эффективного метода параллельной обработки при решении задач методом молекулярной динамики'

Определение наиболее эффективного метода параллельной обработки при решении задач методом молекулярной динамики Текст научной статьи по специальности «Математика»

CC BY
145
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА / МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ / МЕТОД МОЛЕКУЛЯРНОЙ ДИНАМИКИ / АНАЛИЗ ДИНАМИЧЕСКОЙ СТРУКТУРЫ ДАННЫХ / PARALLEL HANDLING / MULTIPROCESSING SYSTEMS / A METHOD OF THE MOLECULAR DYNAMICS / THE ANALYSIS OF DYNAMIC DATA STRUCTURE

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

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

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

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

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

Definition of the most effective method of parallel processing at problem solving by the method the molecular dynamics

The method of definition of a potential possibility of parallel handling for various methods of parallel handling for problem solving by a method of the molecular dynamics is offered. The method is grounded on the analysis of dynamic data structure and allows to spot possibilities of parallel handling for various modeling tasks of space of time.

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

УДК 519.6 519.85

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

АНДРЕЕВ В.Вен., АНДРЕЕВ В. Вяч.

Институт прикладной механики УрО РАН, 426067, г. Ижевск, ул. Т.Барамзиной, 34

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

КЛЮЧЕВЫЕ СЛОВА: параллельная обработка, многопроцессорные системы, метод молекулярной динамики, анализ динамической структуры данных.

ВВЕДЕНИЕ

Расчёты методом молекулярной динамики (ММД) с использованием многопроцессорных вычислительных систем (МВС) все более широко используются сегодня в самых различных областях научных исследований. При использовании ММД для моделирования физических процессов радиационного [7] и лазерного [8] воздействия на материалы для решения задач иногда требуется значительное физическое время. Так как размер шага интегрирования на начальном этапе таких задач очень мал, то количество шагов интегрирования при решении задач может достигать миллиона и более. Поэтому, при решении такого класса задач, важно до начала расчетов оценить возможность параллельной обработки данных для рассчитываемой задачи.

Особенностью параллельных программ для моделирования физических процессов ММД является то, что большая часть расчётов производится с использованием циклов. Поэтому для разработки программ моделирования физических процессов необходимы эффективные средства анализа и оптимизации циклов, а также возможность разработки максимально оптимального параллельного алгоритма для многократно выполняемого тела цикла.

Однако наиболее известные на сегодняшний день средства создания и проектирования параллельных программ для научных расчетов (такие как CODE, HeNCE, TRAPPER, DEEP) не имеют средств для анализа и оптимальной организации циклов. Ниже представлены краткие параметры этих систем.

CODE - разработка университета шт. Техас США. Представляет собой графическую систему разработки параллельных программ. Параллельная программа представляется в виде графа, вершинами которого являются последовательные участки программы, а дуги соответствуют передаче данных. Для передачи данных используется PVM или MPI.

HeNCE - разрабатывается группой (Adam Beguelin и др.) Предназначена для разработки параллельных программ, работающих на сети рабочих станций (в модели PVM). Программа представляется в виде направленного ациклического графа (DAG), в котором вершины соответствуют процедурам, а дуги - зависимостям.

TRAPPER - разработка немецкой компании GENIAS. Графическая среда программирования, поддерживающая все стадии разработки программных систем. Для обмена данными использует MPI.

DEEP - Разработка компании Pacific-Sierra Research. Имеет графический интерфейс, который связывает средства анализа производительности и отладки с исходным кодом программы. Для передачи данных используется MPI.

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

ОПРЕДЕЛЕНИЕ НАИБОЛЕЕ ЭФФЕКТИВНОГО МЕТОДА ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ _ПРИ РЕШЕНИИ ЗАДАЧ МЕТОДОМ МОЛЕКУЛЯРНОЙ ДИНАМИКИ_

Для оценки потенциальных возможности параллельной обработки программы ММД будем использовать метод анализа динамической структуры данных [1], который позволяет оценить эффективность параллельной обработки данных в циклических расчетах для определения потенциальных возможностей параллельной обработки циклов в сложных алгоритмах, таких как молекулярная динамика [2, 3, 4] и гидромеханика [5, 6].

МЕТОД МОЛЕКУЛЯРНОЙ ДИНАМИКИ

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

d2Я (г) - , ч

(г), (1)

где г = 1,2,3,...,N; N - число атомов; гг - радиус-вектор г -го атома; М{ - масса г -го атома; ¥{ - суммарная сила, действующая на г -й атом со стороны других атомов.

Сила ^ определяется как производная от потенциала по расстоянию между атомами

(2).

= -ЦР. (2)

дг

где г = {г1, г2, г3,..., гп}; гг - радиус-вектор г -го атома; и (г) - потенциальная энергия,

зависящая от взаимного расположения всех атомов.

Начальные условия задаются набором координат и скоростей атомов (3) для момента

г = 0.

{X, Т, 2, уХ1 ,УТ1 Л, г = 1, N}, (3)

где N - число атомов; X, Т, 2 - координаты атомов; УХ ,УТ, V - проекции скоростей атомов на оси координат.

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

гп+1 = гп + И • V," + (И2 / 2т); (4)

= V» + (и / 2т)(^п+1 + Ргп), (5)

где г = 1,2,3,...,N ; N - число частиц; гг - положение г-й частицы; V, - скорость г-й частицы;

тг - масса г-й частицы; ¥{ - суммарная сила, действующая на г-ю частицу со стороны

остальных частиц.

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

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

Для построения параллельных алгоритмов ММД разработано четыре метода параллельной обработки. Пропорциональность затрат МВС для различных методов параллельной обработки в ММД приходящихся на один процессор [4] приведена в таблице.

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

Таблица

Пропорциональность затрат МВС для различных методов параллельной обработки в ММД, приходящихся на один процессор

Декомпозиция атомов Декомпозиция пространства Декомпозиция силы Декомпозиция времени

Время вычислений N дг — + N P —+4 N Г 2P s I, P ) N N ~р +7P N / P

Время передачи N < N Г 3N N / P

Объем памяти N N+(N Г 3v? N / P

Количество каналов пер. P 26 P 2

Здесь N - количество атомов в модели; Р - количество процессоров участвующих в расчете задачи; Г - радиус обрезания потенциала межатомного взаимодействия.

АНАЛИЗ ДИНАМИЧЕСКОЙ СТРУКТУРЫ ДАННЫХ

Цель анализа динамической структуры данных выявить, как в процессе выполнения программы изменяются структура данных и зависимость переменных друг от друга. Затем, используя результаты анализа динамической структуры данных отдать предпочтение той или иной реализации алгоритма. Анализ структуры данных начнем с того, что введем понятие - пространства переменных (1111). Пространство переменных - это абстрактное виртуальное пространство, объектами которого являются переменные, используемые в программе. Свойства переменных в этом пространстве определяются их структурой и зависимостью переменных друг от друга. Состояние переменных и их свойства в 11 динамически изменяются в процессе выполнения программы. Множество конкретных состояний пространства переменных (СИП) представляет собой последовательность обработки данных определяемых программой. Каждое конкретное СПИ определяет значения всех составляющих его переменных, и их взаимосвязь в программе на данный момент времени. Наиболее важными при анализе структуры данных программ, являются последовательность СПИ при выполнении какой либо структурной единицы программы процедуры, функции, цикла.

Все особенности динамического изменения в структуре данных в процессе выполнения программы отражаются во множестве последовательных СПИ {С1,С2,С3,.. .Сп}.

В качестве примера рассмотрим ПП для программы TEST-31.

Test-31 - расчет множества 3х мерных векторов. Начальные значения векторов задаются генератором случайных чисел. Значение каждого вектора зависит от его значения в предыдущей итерации цикла.

Program Test31 Integer I, J, K

DIMENSION X(100),Y(100),Z(100)

DIMENSION C(100) ! значение векторов J итерации цикла DIMENSION C1(100) ! значение векторов J-1 итерации цикла K=120 ! Количество итераций цикла для расчета

DO 11,1=1,100 CALL RANDOM (X(I)) CALL RANDOM (Y(I)) CALL RANDOM (Z(I))

Начальные значения для X(100) для Y(100) для Z(100)

ОПРЕДЕЛЕНИЕ НАИБОЛЕЕ ЭФФЕКТИВНОГО МЕТОДА ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ _ПРИ РЕШЕНИИ ЗАДАЧ МЕТОДОМ МОЛЕКУЛЯРНОЙ ДИНАМИКИ_

C(I) = 0 ! для C(100)

C1 (I) = 1 ! для C1(100)

11 CONTINUE DO 1, J=1,K DO 2, I=1,100

C(I) = SQRT (X(I)*X(I)+Y(I)*Y(I)+Z(I)*Z(I)) C(I)=C(I)+C1(I)*0.9 C1(I)=C(I) 2 CONTINUE

WRITE (*,*)J, C(40) ! С(40) для различных итераций 1 CONTINUE STOP END

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

Рис. 1. Начальное состояние пространства переменных TEST-31

На момент времени выполнения цикла J=1, !=3 СПП TEST-31 будет иметь вид, представленный на рис. 2 и 3. Ячейки, окрашенные в серый цвет, показывают изолированную группу зависимых переменных.

Таким образом, в процессе расчета цикла программой TEST-31 в ПП образуется компактная динамически перемещающаяся область взаимозависимых переменных, которая перемещается от начального значения индекса массива к конечному значению индекса массива. Область взаимодействия переменных не пересекает границ индекса (I) текущего цикла расчетов. Поэтому в процессе расчета этого цикла на нескольких процессорах МВС и разделении пространства переменных между процессорами по границе индекса цикла, нет необходимости в передаче данных между процессорами до окончания расчета цикла.

Рис. 2. Состояние пространства переменных ТЕ8Т-31 на момент определения С[3]

Рис. 3. Состояние пространства переменных TEST-31 на момент определения С1[3]

Пример разделения пространства переменных и итераций цикла для 4 процессоров показан на рис. 4, 5. Из СПП представленных на рис. 4 и 5 видно, что переменные, рассчитываемые на одних процессорах, не зависят переменных на других процессорах МВС.

Рис. 4. Состояние пространства переменных TEST-3 на момент определения С[25]

процессорами Р1, Р2, Р3, Р4

Рис. 5. Состояние пространства переменных TEST-3 на момент определения С1[25]

процессорами Р1, Р2, Р3, Р4

Рассмотрим другой пример, в котором переменные одной итерации зависят от переменных другой итерации со смещением счетчика индекса цикла на примере программы TEST-32.

Test-32 - расчет множества 3х мерных векторов. Начальные значения векторов задаются генератором случайных чисел. Значение каждого вектора зависит от его значения в предыдущей итерации цикла.

Program Test32 Integer I, J, K

DIMENSION X(100),Y(100),Z(100)

DIMENSION C(100) ! значение векторов J итерации цикла

DIMENSION C1(100)

! значение векторов J-1 итерации цикла

Количество итераций цикла для расчета

Начальные значения

для Х(100)

для ^100)

для Д100)

для С(100)

для С1(100)

K=120

DO 11,1=1,100 CALL RANDOM (X(I)) CALL RANDOM (Y(I)) CALL RANDOM (Z(I)) C(I) = 0 C1(I) = 1 11 CONTINUE DO 1, J=1,K DO 2, I=1,100

C(I) = SQRT (X(I)*X(I)+Y(I)*Y(I)+Z(I)*Z(I))

IF(I>1 .AND. I<100) C(I)=C(I)+(C1 (I)*0.33+C1 (I-1 )*0.33+C1 (I+1 )*0.33) 2 CONTINUE DO 3, L=1,100 C1(L)=C(L)

ОПРЕДЕЛЕНИЕ НАИБОЛЕЕ ЭФФЕКТИВНОГО МЕТОДА ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ _ПРИ РЕШЕНИИ ЗАДАЧ МЕТОДОМ МОЛЕКУЛЯРНОЙ ДИНАМИКИ_

3 CONTINUE

WRITE (*,*)J, C(40) ! С(40) для различных итераций 1 CONTINUE STOP END

На начальный момент времени СПП программы TEST-32 будет иметь такой же вид как на рис. 1. Рассмотрим СПП на момент времени определения C(I) выполнения цикла при J=1, I=3 на одном процессоре рис. 6. Серым цветом показана группа зависимых переменных.

Рис. 6. Состояние пространства переменных TEST-32 на момент определения С[3]

при решении на одном процессоре

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

В результате анализа динамической структуры данных для задачи TEST-32 при решении на одном процессоре можно сделать вывод, что в пространстве переменных при расчете цикла возникает компактная область зависимых переменных (рис. 6) которая перемещается в 1111 по мере изменения индекса цикла при решении задачи. В процессе перемещения области зависимых переменных за ней остаются рассчитанные данные, а перед этой областью находятся не рассчитанные переменные. Рассчитанные переменные массива С[1,100] после выхода из области зависимых переменных в последующем больше не используются в расчетах.

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

При решении этой задачи на 4 процессорах из СПП (рис. 7) видно, что при расчете переменных находящихся на границе раздела ПП между процессорами часть необходимых данных для расчета находится в соседних процессорах. Поэтому процессорам в процессе расчета переменных находящихся на границе раздела ПП необходимо обмениваться данными. Такая ситуация характерна для параллельных алгоритмов моделирования физических задач, использующих для параллельной обработки метод декомпозиции пространства [2,5].

Рис.7. Состояние пространства переменных TEST-32 на момент определения С1[25] при решении на 4 процессорах Р1, Р2, Р3, Р4

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

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

АНАЛИЗ ДИНАМИЧЕСКОЙ СТРУКТУРЫ ДАННЫХ ДЛЯ ММД

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

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

Рис. 8. Пример С1111 для модели размером 5x5x20 атомов при расчете задачи на 1 процессоре

методом декомпозиции атомов

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

Рис. 9. Пример СПП для модели размером 5x5x20 атомов при расчете задачи на 4 процессорах МВС методом декомпозиции атомов

ОПРЕДЕЛЕНИЕ НАИБОЛЕЕ ЭФФЕКТИВНОГО МЕТОДА ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ _ПРИ РЕШЕНИИ ЗАДАЧ МЕТОДОМ МОЛЕКУЛЯРНОЙ ДИНАМИКИ_

2. Метод декомпозиции пространства. Основная идея метода в распределении пространства модели между процессорами МВС. Каждый процессор рассчитывает только свое подпространство модели. В данном случае, так как между процессорами разбивается пространство модели, а рассчитываемая модель представляет собой множество атомов взаимодействующих между собой в пространстве, то в 1111, в процессе решения задачи образуется компактная область зависимых переменных, перемещающаяся от начального значения индекса цикла к конечному значению индекса цикла (рис. 10). На рис. 10 светлым серым цветом показана рассчитанная область модели, а темным серым цветом область зависимых переменных.

Р1 1,2,3,4,5.......................18,19,20

3

4

5

Рис. 10. Пример СПП для модели размером 5x5x20 атомов при расчете задачи на 1 процессоре методом декомпозиции пространства

Рис. 11. Пример СПП для модели размером 5x5x20 атомов при расчете задачи на 4 процессорах МВС методом декомпозиции пространства

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

ЗАКЛЮЧЕНИЕ

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

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

1. Андреев В.В. Анализ программ для построения параллельных алгоритмов / препринт, вып. 2. Ижевск : ИМП УрО РАН, 2009. 45 с.

2. Smith W. and Forester T.R. Parallel macromolecular simulations and the replicated data strategy // The computation of atomic forces. Comp. Phys. Comm. 1994. № 79. P. 52-62.

3. Fincham D. Parallel computers and molecular simulation // Molec. Sim. 1987. V. 1, № 1. P. 45.

4. Андреев В.В. Использование метода декомпозиции времени в параллельных алгоритмах метода молекулярной динамики / препринт, вып. 1. Ижевск : ИПМ УрО РАН, 2006. 55 с.

5. Липанов А.М., Андреев В.В. Решение трехмерных задач гидромеханики на многопроцессорных вычислительных системах // Химическая физика и мезоскопия. 2008. Т. 10, № 3. С. 280-294.

6. Липанов А.М., Кисаров Ю.Ф., Ключников И.Г. Численный эксперимент в классической гидромеханике турбулентных потоков. Екатеринбург : УрО РАН, 2001. 161 с.

7. Chudinov V.G., Andreev V.V. Atomic Mechanism of Solid-Liquid Transition in F.C.C. // Metals with a Large Stacking-Fault Energy. Phys. stat. sol. 1990. V. (a) 118. Р. 415.

8. Бесогонов В.В., Андреев В.Вен., Андреев В.Вяч. Определение временного шага интегрирования при моделировании лазерного воздействия на металлы методом молекулярной динамики // Химическая физика и мезоскопия. 2009. Т. 11, № 2. С. 159-165.

DEFINITION OF THE MOST EFFECTIVE METHOD OF PARALLEL PROCESSING AT PROBLEM SOLVING BY THE METHOD THE MOLECULAR DYNAMICS

Andreev V.Ven., Andreev V.Vjach.

Institute of Applied Mechanics, Ural Branch of the Russian Academy of Sciences, Izhevsk, Russia

SUMMARY. The method of definition of a potential possibility of parallel handling for various methods of parallel handling for problem solving by a method of the molecular dynamics is offered. The method is grounded on the analysis of dynamic data structure and allows to spot possibilities of parallel handling for various modeling tasks of space of time.

KEYWORDS: parallel handling, multiprocessing systems, a method of the molecular dynamics, the analysis of dynamic data structure.

Андреев Вячеслав Вениаминович, кандидат технических наук, старший научный сотрудник ИПМ УрО РАН, тел. (3412) 21-45-83, e-mail: andre32140@gmail.com

Андреев Вячеслав Вячеславович, аспирант ИПМ УрО РАН

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