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

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

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

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

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

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

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

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

The classification method of calculation process in multiprocessor system at molecular dynamics calculation is proposed. The method let to appreciate multiprocessor system resources at problem calculation and to propose assessment criterions for parallel algorithm of molecular dynamics calculation.

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

УДК 548.4.001.57:681.3.06

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

В.В. АНДРЕЕВ

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

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

ВВЕДЕНИЕ

Работы в области исследования твердых ракетных топлив (ТРТ) [1] показали, что одним из наиболее важных средств для расчета теплофизических характеристик ТРТ является метод молекулярной динамики. Для реализации предложенного в работе [1] алгоритма расчета величины коэффициента теплопроводности многокомпонентной и гетерогенной среды, каковой является ТРТ, может потребоваться расчет моделей содержащих до

5-Ю8 атомов при количестве шагов интегрирования более 100000. Расчет взаимодействия атомов методом молекулярной динамики (ММД) для такой задачи даже для современных многопроцессорных вычислительных систем (МВС) задача достаточно сложная. Поэтому анализ потенциальных возможностей МВС при решении задач методом молекулярной динамики и поиск возможности построения более эффективных параллельных алгоритмов для решения задач ММД является крайне актуальным.

Из всего многообразия многопроцессорных вычислительных систем (МВС) [2,3,4,5,6] будем рассматривать системы типа MIMD (Multiple Instruction Multiple Data). Практика последних десяти лет показала, что компьютеры MIMD имеют более гибкую архитектуру и в большей степени приспособлены для решения сложных универсальных задач.

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

-х=Ух л

Л у Л

(1)

(2)

где: / - время,

X, У, Z - координаты атомов,

Ух, Уу, Уг - проекции скоростей атомов на оси координат,

¥х, Гу, Гг - проекции сил, действующих на атомы, на оси координат,

М - масса атомов.

Начальные условия задаются набором координат и скоростей атомов для момента /=0.

Здесь N - количество атомов в модели, а сила Р определяется как производная от потенциала по расстоянию между атомами = -<Ш / йг ), 1} - потенциал взаимодействия, г -расстояние между атомами.

КЛАССИФИКАЦИЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ

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

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

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

Третий тип построения вычислительного процесса - представлен такой организацией вычислительного процесса, когда при решении задачи среднее время передачи

{хи п л, Ухи УУи Уг1 /=7,7У} .

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

Здесь шаг интегрирования это решение уравнений (1), (2), для всех атомов модели для одного конкретного значения времени.

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

Рс = 1/ Тс (ц /сек).

Цикл (Тс) - это среднее время расчета одного шага интегрирования для всей модели плюс среднее время приема-передачи данных приходящееся на один шаг интегрирования для всей модели.

Время интегрирования (Тг) - это усредненное значение времени, которое процессор занят расчетом одного шага интегрирования всей модели,

Время приема-передачи (Тр) - усредненное значение времени при расчете одного шага интегрирования модели, которое процессор не занят расчетом модели, т.е. сюда входит время ожидания данных, время приема и время передачи.

Тс = 7] + Тр , Тс=Яс/Н , 77=Ш/Н , Тр=Яр/Н . (3)

п

±тк

п п

где: Тс - время цикла;

27 - среднее время одного шага интегрирования всей модели;

Тр - среднее время приема-передачи данных приходящихся на один шаг интегрирования для всей модели;

Я - количество шагов интегрирования модели для расчета усредненных значений Тс, 77, Тр\

Кс - полное время потраченное многопроцессорной системой на расчет Н шагов интегрирования модели;

Ш - время потраченное процессорами многопроцессорной системы для расчета Н шагов интегрирования модели;

Кр - время потраченное многопроцессорной системой на прием-передачу данных при расчете Я шагов интегрирования модели;

Т. - затраты времени для / процессора при расчете одного шага интегрирования всей модели на многопроцессорной системе;

Тк - время приема-передачи данных для к процессора приходящихся на один шаг

интегрирования модели;

п - количество процессоров участвующих в решении задачи.

Для расчета одного шага интегрирования уравнений (1), (2), для всех атомов модели процессору требуется информация о координатах и скоростях всех атомов для одного конкретного состояния времени. Следовательно можно предположить, что каждый процессор многопроцессорной системы за период расчета шага интегрирования модели должен передать и получить по каналам передачи данных вычислительной системы объем информации, не больший, чем информация о всей модели.

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

Рассмотрим пример многопроцессорной системы, построенной на транспьютерах Т800 [2]. Стандартная скорость обмена для Т800 составляет 10 Мбит/сек, или - 1 Мбайт/сек. При размере модели 50.000 атомов объем памяти, занимаемый моделью, составляет 3,2 Мбайт. Следовательно, при расчете одного шага интегрирования (для 2 процессоров) на передачу данных в системе будет израсходовано не более 3,2/1 = 3,2 секунд времени на каждый процессор. Допустим, что на прием-передачу данных за один шаг интегрирования один процессор расходует 2,0 секунды. Увеличение среднего времени приема-передачи, приходящееся на один процессор, с увеличением количества процессоров, участвующих в решении задачи, увеличивается на 10%. Так как один процессор расходует около 30 секунд на интегрирование уравнений движения для 50.000 атомов, то увеличение количества процессоров в системе до 10 позволит увеличить производительность до 3 сек на один шаг интегрирования. При этом время приема-передачи на один процессор составит 2,95 сек. Видно, что дальнейшее увеличение количества процессоров будет уменьшать скорость решения задачи. Следовательно, при достаточном числе быстродействующих процессоров в системе (более 20) мы придем к условию, когда среднее время передачи данных в многопроцессорной вычислительной системе больше среднего времени интегрирования одного шага рассчитываемой модели.

Тр > П. (5)

Поэтому при решении задачи ММД на такой многопроцессорной системе следует использовать не более 14 процессоров, так как большее количество процессоров приведет к уменьшению скорости решения задачи. Максимальная производительность системы будет определяться значением ЬО, т.е. Рс = ЬО циклов за секунду. Данные испытаний такой системы приведены на рис. 1. Увеличение количества процессоров в системе не может изменить условие (5).

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

В том или ином виде этот тип вычислительного процесса был реализован на системах типа М1МБ [3] и показал хорошие результаты на небольших моделях. Но более тщательный анализ показывает неприемлемость этого подхода для решения больших задач. Рассмотрим пример многопроцессорной системы, построенной на транспьютерах Т800. Так как при размере модели 50.000 атомов объем памяти, занимаемый моделью, составит около 3,2 Мбайт, то на передачу данных о всей модели нужно около 3,2 секунд времени на каждый процессор. Следовательно, можно допустить, что при расчете одного шага интегрирования на передачу данных в системе будет израсходовано около 2 секунд времени. Если один процессор будет расходовать 30 секунд на интегрирование

Количество

. производительность

Рис. 1. Производительность вычислительной системы от числа процессоров для первого типа вычислительного процесса

уравнений движения для 50.000 атомов, то увеличение количества процессоров в системе более 20 практически не будет давать прироста производительности параллельного компьютера. Следовательно, при достаточном числе быстродействующих процессоров в системе (более 40) мы придем к условию когда

Тр » 27

(6)

Увеличение количества процессоров в системе только усиливает условие (6). Зависимость производительности вычислительной системы от числа процессоров в системе для этого случая приведена на рис. 2.

Кривая увеличения производительности системы асимптотически приближается к значению Ы, в котором отношение Тр/Т] стремится к бесконечности. Следовательно, это предел возможной производительности системы для второго типа построения вычислительного процесса. Значение Ы определяется выражением

Ы = 1/Тр.

Производительность вычислительной системы определяться значением Ы т.е.

Количество Процессоров в шг.

30

25

20

15

10

0 0.00

♦ 1 « 1 1

4 Е 9 I !

Рс (п $ 1/Тр(п

7

/

^ \

0.10

0.20

0.30

0.40

0.50 0.60

Ы Рс (цик./сек)

производительность

Рис. 2. Производительность вычислительной системы от числа процессоров для второго типа вычислительного процесса

Рс=Ы = 1/Тр ( цик /сек).

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

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

Для третьего типа вычислительного процесса нужно построить такую архитектуру системы и такой алгоритм решения задачи, которые бы обеспечили уменьшение объема передаваемой информации за время одного цикла вычислений пропорционально увеличению количества процессоров участвующих в решении задачи. Рассмотрим третий тип вычислительного процесса на примере транспьютеров Т800. Как будет изменяться производительность многопроцессорной вычислительной системы в этом случае? Если время интегрирования уравнений движения 50.000 атомов для одного процессора составит около 30 секунд, то для 10 процессоров это время может достигать 3 секунд. Время передачи данных за один цикл в этом случае может достигать 0,3 секунды. В таком случае будет соблюдаться условие.

Тр « 77 . (7)

Увеличение количества процессоров участвующих в решении задачи не может изменить условия (7). Зависимость производительности вычислительной системы от числа процессоров участвующих в решении задачи для этого случая приведена на рис. 3.

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

На рис. 4 все графики для сравнения показаны вместе. Здесь:

1 - Первый тип построения вычислительного процесса.

2 - Второй тип построения вычислительного процесса.

3 - Третий тип построения вычислительного процесса, когда уменьшение объема передаваемой информации за время одного цикла уменьшается пропорционально времени одного шага интегрирования модели.

Количество Процессоров в шт.

О -т-т---г

0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.С

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

Производительность Рс (цик./сек)

Производительность в Рс (цик./сек)

Рис. 4. Сравнительные графики

Рис. 3. Производительность вычислительной системы от числа процессоров для третьего типа вычислительного процесса

Количество Процессоров в шт.

ВЫВОДЫ ' _ к

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

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

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

2. Транспьютеры. Архитектура и программное обеспечение: Пер. с англ. / Под ред. Г.Харпа. - М.:Радио и связь, 1993. - 304с.

3. By Rodrigue G. "Parallel Computations", Academic Press, 1982.

4. Clementi E., Gorongiu., Detrich J.H., Kahmohammadbaigi H., Chin S., Domingo L., Laaksonen A., Nguyen N.L. "Parallelism in computational chemistry: applications in quontum and statistical mechanics.", Physica, V.131B, p.74-102, 1985.

5. Hockney R.W.,Eastwood J.M. "Computer simulation using particles", McGraw-Hill Inc., 1981.

6. P. S. Lomdahl, P. Tamayo, N. Gronbech-Jensen, and D. M. Beazley, in Proceedings of Supercomputing 93 (IEEE Computer Society Press, Los Alamitos, CA, 1993), p. 520-527; D. M. Beazley and P. S. Lomdahl, Parallel Comput. 20, 173 (1994).

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

8. Ганн В.В., Марченко И.Г. Комплекс программ ДИМОД для динамического моделирования дефектов в металлах и сплавах. Препринт Харьков: Изд. ХФТИ АН УССР, 1987.

SUMMARY. The classification method of calculation process in multiprocessor system at molecular dynamics calculation is proposed. The method let to appreciate multiprocessor system resources at problem calculation and to propose assessment criterions for parallel algorithm of molecular dynamics calculation.

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