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

Разработка методов параллельного расчета коррелированной многочастичной системы на графическом процессоре Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY-NC-ND
93
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ / PARALLEL ALGORITHMS / ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / HIGH PERFORMANCE COMPUTING / АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ НАУЧНЫХ ИССЛЕДОВАНИЙ / AUTOMATED RESEARCH SYSTEMS / МОЛЕКУЛЯРНАЯ ДИНАМИКА / MOLECULAR DYNAMICS / ШЛАКОВЫЕ РАСПЛАВЫ / SLAG MELTS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Воронова Лилия Ивановна, Трунов Артем Сергеевич, Воронов Вячеслав Игоревич

В статье рассматривается разработка методов высокопроизводительных вычислений, реализуемых на сетевом вычислительном ресурсе РГГУ (информационно-исследовательская система ИИС «MD-Slag-Melt»), позволяющих исследовать структуру и свойства коррелированных систем многих частиц методом молекулярной динамики. Рассмотрены элементы модели неоднородных дескрипторов для распределенного МД-моделирования, на основе которой строятся методы распределения расчетных потоков данных. Подробно описаны метод равномерной загрузки вычислителей и метод параллельного расчета коррелированной системы N-частиц на графическом процессоре с использованием технологий MPI и CUDA. В заключение представлены тестовые результаты компьютерных экспериментов.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Воронова Лилия Ивановна, Трунов Артем Сергеевич, Воронов Вячеслав Игоревич

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

Development of parallel calculation methods of correlated many-particle systems on the GPU

The article considers the development of high-performance computing methods, implemented in network computing resources in RSUH (information and research system of IMS «MD-Slag-Melt»), allowing to explore the structure and properties of correlated many-particle systems using molecular dynamics. The model elements of heterogeneous distributed descriptors for MD-modelling, on which the methods of computing data flows allocation are based, are provided. Detailed description of the balanced calculators load method and of the parallel calculation method of the correlated N-particle system on the GPU using technologies like MPI and CUDA, is considered. In conclusion, the test results of computer experiments are presented.

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

Л.И. Воронова, А.С. Трунов, В.И. Воронов

РАЗРАБОТКА МЕТОДОВ ПАРАЛЛЕЛЬНОГО РАСЧЕТА КОРРЕЛИРОВАННОЙ МНОГОЧАСТИЧНОЙ СИСТЕМЫ НА ГРАФИЧЕСКОМ ПРОЦЕССОРЕ*

В статье рассматривается разработка методов высокопроизводительных вычислений, реализуемых на сетевом вычислительном ресурсе РГГУ (информационно-исследовательская система ИИС «MD-Slag-Melt»)1, позволяющих исследовать структуру и свойства коррелированных систем многих частиц методом молекулярной динамики. Рассмотрены элементы модели неоднородных дескрипторов для распределенного МД-моделирова-ния, на основе которой строятся методы распределения расчетных потоков данных. Подробно описаны метод равномерной загрузки вычислителей и метод параллельного расчета коррелированной системы N-частиц на графическом процессоре с использованием технологий MPI и CUDA.

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

Ключевые слова: параллельные алгоритмы, высокопроизводительные вычисления, автоматизированные системы научных исследований, молекулярная динамика, шлаковые расплавы.

Введение

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

© Воронова Л.И., Трунов А.С., Воронов В.И., 2013

* Работа выполнена при финансовой поддержке Министерства образования и науки Российской Федерации, проект 14.132.21.1792.

Одним из приоритетных направлений современной науки является создание новых металлических материалов с заранее заданными свойствами. В этой области широко применяется компьютерное моделирование (КМ), в том числе метод молекулярной динамики, позволяющий определять целый комплекс свойств (структурные, термодинамические, транспортные) и исследовать взаимосвязи наноструктуры и физико-химических свойств.

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

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

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

Постановка задачи

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

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

В этом случае МД-моделирование представляет собой численное решение краевой задачи Коши; это означает, что в момент времени 1=0 задается начальное состояние системы в некоторой ограниченной области пространства (расчетная область), на поверхности которой поддерживаются заданные граничные условия. Моделирование состоит в прослеживании временной эволюции этой конфигурации. Основной частью вычисления является цикл по временному шагу, в котором состояние физической системы изменяется по времени на малый шаг Д1.

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

Модель неоднородных дескрипторов для распределенного МД-моделирования

В настоящее время разработан ряд программных комплексов, реализующих методы распределенного расчета задач класса М-частиц2Д4. Эти методы основаны на расчете двухобъектных отношений5,6. Предметом этой статьи являются методы, основанные на двухобъектных отношениях с учетом трехобъектных и многообъектных отношений7,8,9.

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

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

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

Таким образом, система - это совокупность объектов, описываемых неоднородными дескрипторами, расчет которых можно

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

На основе концептуальной модели МД-метода и тщательного анализа программного кода legacy application - локального МД-приложения101 построены наборы дескрипторов, описывающих бизнес-логику МД-приложения с точки зрения разделения его кода на блоки, пригодные для распределения.

Выделено два класса: одночастичные дескрипторы (D1s(i), D1v(i)) и агрегаторы (двух- и трехчастичные (D£2(i), D£3(i)) дескрипторы). Оба класса предполагают возможность параллельного расчета дескрипторов на разных вычислителях. Однако если одночастичные дескрипторы можно произвольно распределять по вычислителям, то агрегаторы (содержат элементы, описывающие перекрестные отношения разных порядков между одночастичны-ми дескрипторами и/или агрегаторами) являются «зависимыми» от одночастичного дескриптора и рассчитываются на том же вычислительном устройстве, где и «родительский» одночастичный дескриптор.

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

Метод равномерной загрузки вычислителей

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

Равномерная загрузка подразумевает разделение множества на подмножества с мощностью, равной к = N/p, где N - количество одночастичных дескрипторов системы, p - количество вычислителей, выполняющих расчет. Эффективной считается загрузка, при которой вычислители завершают расчет дескрипторов одновременно.

Конечной целью расчета каждого вычислителя является получение новых значений элементов одночастичных дескрипторов {Dlv(i)}, рассчитываемых по формуле (1). Для получения новых значений элемента F. е Dlv(...) требуется расчет элементов f е

D£2(i), в которых идет пересчет отношений i и j элемента, для всех фиксированных i со всеми j и где i * j

F е Dlv(i) = jfj е D£2(i). (1)

Эта часть расчета имеет квадратную зависимость от числа дескрипторов {Dlv(i)} и является самой затратной по времени в процессе моделирования системы. Сократить время расчета можно за счет уменьшения обсчитываемых отношений между дескрипторами.

Для этого применяется алгоритм «диагональной матрицы», в котором элемент f е D£2(i) = - f е D£2(i). В этом случае время расчета Dlv{F.} сокращается в два раза, а количество обсчитываемых отношений становится равным (N(N-1))/2. На рис. 1 наглядно отображен расчет элементов f е D£2(i) с использованием алгоритма «диагональной матрицы».

В этом случае количество отношений, которые нужно обсчитывать для накопителя £/2 е D£2(1), равно N-1, а для £/2 е D£2(N), равно 0. Следовательно, если формировать рассчитываемые подмножества дескрипторов {Dlv(i)} для каждого вычислителя последовательными диапазонами с мощностью N/p, то загруженность вычислителей становится неравномерной. Для равномерной загрузки вычислителей разработан встречный алгоритм выборки дескрипторов в диапазон.

i j i1 i2 i n

j1 - j j1i2 - j j1in

j2 fj - j 2n

j J n 4 4

Рис. 1. Применение алгоритма «диагональной матрицы» для расчета элементов двухчастичного дескриптора _0£2(г)

Подмножества одночастичных дескрипторов {Б/у(1)}, рассчитываемых каждым вычислителем, формируются по схеме, отображенной на рис. 2.

Все множество дескрипторов разбивается на два интервала [В/у(1х), ВЬ(1Ы/2)] и [Д/у(г^/2+1), В/у(1ы)]. Внутри каждого интервала дескрипторы распределяются по номерам, где 11 - номер первого дескриптора, 1Ы - номер последнего дескриптора. Количество дескрипторов, содержащихся в рассчитываемом подмножестве и передаваемых каждому вычислителю, равно к.

[В/у(1), В/у(»)]

В/у(1) ВЦ2) В/v(3) . . . В/у(М/2)

1 . . . к/2

Вычислитель Р4

к/2+1 . . . к

1 . . . к/2

Вычислитель Р2

к/2+1 . . . к

1 . . . к/2

. . .

к/2+1 . . . к

1 . . . к/2

Вычислитель Р п

к/2+1 . . . к

вЦЛО . . . В/г(ЛТ/2 + 3) ВЦЛ//2 + 2) ВЬ(Ы/2 + 1)

[ВЬ(Ы/2 + 1), ВЫ(Щ

Рис. 2. Формирование подмножеств одночастичных дескрипторов (В/у(г)| с применением встречного расчета

Из номеров дескрипторов, находящихся на интервале [ВЬ(1{), В/у(1Ы/2)], формируется первая половина подмножества, а из номеров интервала [В/у^ ), В/у(1}] формируется вторая половина подмножества.

Выборка дескрипторов происходит поочередно: сначала из первого интервала, начиная с ВЬ(1), затем из второго интервала в обратном направлении с В/у(1ы). Каждое подмножество получает следующий дескриптор через шаг, равный р. На рис. 2 отображено

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

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

В настоящее время разработанный метод равномерной загрузки вычислителей для параллельного расчета коррелированной системы М-частиц проходит апробацию в программном комплексе «МБ-8ЬЛО-МЕЬТ»12-13.

Метод параллельного расчета коррелированной системы N-частиц на графическом процессоре

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

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

На рис. 3 представлен алгоритм параллельного расчета одноча-стичных дескрипторов на GPU.

Все множество значений элементов дескрипторов {Dlv(i)} передается в глобальную память (обладает большой вместимостью) GPU из-за большого количества передаваемых данных. В константную и текстурную память передаются дескрипторы {Dls(i)}, что позволяет разгрузить глобальную память.

дескрипторы (ОЩ)}

дескрипторы (О!у()}

Распределение дескрипторов (О!у()}и (О1э(1)} между нитями GPU

Выполняется на CPU

012(1}

Нить (1,1)

« «

Нить (1,1)

Блок 1

о о с

В22(Ь*£)-(И) Нить (1,Ь)

I \Блок Ь Сетка

Глобальная память

«

в О

Нить (t,b)

Разделяемая и константная память

Выполняется на вРУ

--------->--------

Передача (йк()} в память СРи

Выполняется на CPU

Рис. 3. Алгоритм параллельного расчета одночастичных дескрипторов на ОРИ

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

Каждая нить производит расчет одного двухчастичного ^£2(г)-агрегатора и на основе полученных результатов обновляет значения элементов одночастичных векторных дескрипторов.

Для расчета двухчастичных {0£2(г)}-агрегаторов на графическом процессоре применяется алгоритм «диагональной матрицы». Так как память для всех вычислителей одна, то возможны кон-

фликты записи, когда вычислители обращаются к одному и тому же значению элемента дескриптора. Для_этого на каждой итерации результат расчета значений элемента f е D£2(j) передается в специальный двумерный накопитель. Так же на каждой итерации цикла производится синхронизация. Расчет будет возобновлен только_после прохождения одной итерации расчета значений элемента f е DY2(i) всеми нитями.

Тестирование

Для оценки эффективности разработанного метода проведен ряд экспериментов, имитирующих расчет коррелированной системы N-частиц. В экспериментах сравнивается время, затраченное на проведение локального варианта расчета коррелированной системы N-частиц, и параллельный расчет с технологией CUDA. Дескрипторы заполняются тестовыми значениями элементов. Тестирование модели, в основе которой заложен расчет с использованием технологии CUDA, проведено на графическом процессоре GForceGTS 450. Результаты компьютерных экспериментов представлены в табл. 1.

Тестирование реализованных методов производилось на кластере, состоящем из 16 вычислителей Intel Core 2 Duo E6800, а также на видеокарте GEFORCE GTS 450. В табл.1 представлены результаты расчетов коррелированной системы N-частиц с использованием технологии MPI, а в табл. 2 - с использованием технологии CUDA.

Таблица 1

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

Результаты расчетов коррелированной системы N-частиц, технология MPI

Кол-во частиц 10240 50176 250880 401408

Кол-во вычислителей Время расчета, с

2 0,29 7,89 101 361

4 0,23 7,6 76 217

8 0,15 5,1 49 137

16 0,02 4,2 28 71

Таблица 2

Результаты расчетов с использованием технологии CUDA

Кол-во частиц 10240 50176 250880 401408

Время расчета, с 0,02 0,14 3,53 9,1

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

В настоящее время модель распределенных вычислителей проходит апробацию в программном комплексе ИИС «MD-SLAG-MELT»14-15.

Выводы

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

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

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

Примечания

См.: Информационно-исследовательская система «MD-SLAG-MELT» [Электронный ресурс]. URL: http://nano-md-simulation.com (дата обращения: 30.04.2013).

См.: SAGE MD2 [Электронный ресурс]. URL: http://www.sagemd.com/htmls/ about_sagemd.htm (дата обращения: 30.04.2013).

См.: HyperChem [Электронный ресурс]. URL: http://www.hyper.com/ (дата обращения: 30.04.2013).

См.: XMD (Molecular Dynamics for Metals and Ceramics) [Электронный ресурс] URL: http://xmd.sourceforge.net/ (дата обращения: 30.04.2013). См.: Brown, W.M., Kohlmeyer, A., Plimpton, S.J., Tharrington, A.N. Implementing molecular dynamics on hybrid high performance computers - Particle-particle particle-mesh // Computer Physics Communications. 2012. Vol. 183. Issue 3. March. P. 449-459.

См.: Le Grand, S., Gotz, A.W., Walker, R.C. SPFP: Speed without compromise -A mixed precision model for GPU accelerated molecular dynamics simulations // Computer Physics Communications. 2013. Vol. 184. Issue 2. February. P. 374-380.

См.: Воронова Л.И., Григорьева М.А., Воронов В.И. Разработка методов компьютерного моделирования наноструктуры многокомпонентных расплавов // Фундаментальные исследования. 2011. № 8 (3). С. 617-622. См.: Воронова Л.И., Трунов А.С. Оптимизация параллельного алгоритма подсистемы распределенного молекулярно-динамического моделирования // Межотраслевая информационная служба. 2011. № 3. С. 1-12. См.: Воронова Л.И., Григорьева М.А. Разработка информационной модели физико-химических свойств расплава для исследовательского программного комплекса MD-SLAGMEL // Межотраслевая информационная служба. 2011. № 2. С. 30-36.

См.: Воронова Л.И., Григорьева М.А., Воронов В.И., Трунов А.С. Программный комплекс «MD-SLAG-MELT» для моделирования наноструктуры и свойств многокомпонентных расплавов // Расплавы. 2013. № 2. С. 1-16. См.: Voronova L.I., Grigorjeva M.A., Voronov V.I., Trunov A.S. Computer simulation of the polymerizable oxide melts nanostructure using the descriptor-graph model // Materials Science and Metallurgy Engineering. 2013. № 1. P. 1-12 [Электронный ресурс]. URL: http://pubs.sciepub.com/msme/1/1/1/#12/ (дата обращения: 30.04.2013).

См.: Voronova L.I., Voronov V.I. "The Research-Information System 'MD-SLAG-MELT". Certificate of state registration of computer programs № 2012615018 from 05.06.2012.

См.: Трунов А.С., Воронова Л.И. «Подсистема распределенного молекуляр-но-динамического моделирования информационно-исследовательской сис-

3

4

5

6

7

8

9

10

11

12

темы "MD-SLAG-MELT"». Свидетельство о государственной регистрации программы для ЭВМ, № 2012615017 от 05.06.2012.

14 Там же.

См.: Воронова Л.И., Григорьева М.А., Воронов В.И., Трунов A.C. Программный комплекс «MD SLAG MELT» информационно-исследовательской системы «Шлаковые расплавы» версии 10.0 // Деп. в ВИНИТИ РАН, 2012. № 29-В2012. C. 16.

15

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