Московский Государственный Университет им. М.В. Ломоносова
Факультет Вычислительной Математики и Кибернетики
Кафедра Суперкомпьютеров и Квантовой Информатики
Магистерская программа «Технологии параллельного
программирования и высокопроизводительные вычисления»
Магистерская диссертация
Исследование эффективности параллельных
алгоритмов моделирования распространения
акустических волн в гетерогенных средах в задачах
сейсморазведки для высокопроизводительных систем Работу выполнил студент Бурцев А. П.
Научный руководитель:
к.ф-м.н. доц. Попова Н. Н., Ген. директор ООО «GEOLAB» Курин Е. А.
Москва Содержание Аннотация
Введение
Глава 1. Использование высокопроизводительных систем для моделирования геологических сред и анализа результатов сейсморазведки
1.1 Физические основы сейсморазведки
1.2 Обоснованность выбора технических средств
1.3 Обзор работ посвящённых моделированию геологических сред
1.4 Постановка задачи
1.5 Краткие выводы по главе
Глава 2. Параллельный алгоритм моделирования распространения акустических волн в геологических средах
2.1 Математическая постановка задачи
2.2 Структура параллельного алгоритма
2.3 Формат входных/выходных данных
2.4 Особенности программной реализации алгоритма на суперкомпьютере «Ломоносов»
2.5 Особенности программной реализации на GPU
2.6 Краткие выводы по главе
Глава 3. Исследование эффективности
3.1 Вычислительный эксперимент на базе IBM Blue Gene/P
3.2 Вычислительный эксперимент на базе ноутбуков ASUS N61VN и ASUS K53S.
3.3 Вычислительный эксперимент на базе суперкомпьютера «Ломоносов»........... 3.4 Краткие выводы по главе
Заключение
Результаты исследования эффективности паралного алгоритма на различных платформах
Дальнейшее развитие работы
Список литературы
Приложение А
Приложение Б
Аннотация В работе исследуется эффективность параллельных алгоритмов моделирования распространения акустических волн в гетерогенных средах в задачах сейсморазведки. Приводятся различные программные реализации параллельного алгоритма для систем с распределённой памятью и графических ускорителей.
Проводится исследование эффективности полученных программ для большого числа вычислительных узлов. Осуществляется покомпонентная оценка элементов программ. Анализируются основные проблемы, возникающие при работе с большим числом вычислительных узлов, и предлагаются методы их решения. Программы тестировались на базе суперкомпьютеров «Ломоносов» и Blue Gene/P, а так же на графических ускорителях компании NVIDIA GT 240M и GT 610M.
Введение Добыча полезных ископаемых играет важную роль на протяжении всей истории человечества. Сейчас в век промышленности, особенно остро стоит вопрос добычи, возобновления и экономии природных энергоресурсов, таких как: газ, нефть и уголь. Поскольку легко доступные месторождения или уже выработаны, либо существенно истощены, необходимо искать новые источники природных ресурсов, а современное развитие техники позволяет разрабатывать всё более и более труднодоступные.
Поиски залежей природных ископаемых методом точечного бурения не целесообразны, так как это очень дорогой и трудоёмкий процесс. Следовательно необходимо проводить некоторые предварительные исследования направленные на поиск наиболее вероятных мест залегания полезных ископаемых. Именно эту задачу ставит перед собой геологоразведка и для ее решения использует методы сейсмики.
При подобном подходе удается достаточно точно обнаруживать новые месторождения и определить их границы, избегая бурения. В подобных исследованиях геологам могут оказать существенную помощь мощные вычислительные машины предназначенные для обработки большого объема данных, позволяющие оценивать плотности пород и глубину их залегания, а анализ полученной картины позволяет построить предполагаемые картины разрезов.
Сейчас геологи собирают сотни гигабайт данных результатов сейсморазведки даже с небольших площадей, а требуется исследовать сотни и сотни квадратных километров. Чтобы максимально ускорить процесс анализа полученных данных необходимо использование супер-вычислителей: многоядерных машин, кластеров, грид-систем, а в процессах обработки, моделирования и визуализации как исходных так и преобразованных данных использование параллельных алгоритмов.
Данная работа направлена на исследование эффективности параллельных алгоритмов при решении одной из важнейших задач сейсмики — моделировании распространения акустических волн в неоднородной среде. В рамках настоящей работы предполагается, что распространение волн описывается скалярным волновым уравнением в гетерогенной среде. Для решения поставленной задачи используются различные парадигмы параллельного программирования и осуществляется исследование эффективности реализации численного моделирования волнового процесса для большого числа вычислительных узлов. В работе рассматриваются основные модели параллельного программирования:
OpenMP для SMP архитектуры, MPI для кластеров и CUDA для графических ускорителей компании NVIDIA [1].
Глава 1. Использование высокопроизводительных систем для моделирования геологических сред и анализа Сейсморазведка – геофизический метод изучения геологических объектов с помощью упругих колебаний - сейсмических волн. Этот метод основан на том, что скорость распространения и другие характеристики сейсмических волн зависят от свойств геологической среды, в которой они распространяются: от состава горных пород, их пористости, трещиноватости, флюидонасыщенности, напряженного состояния и температурных условий залегания. Геологическая среда характеризуется неравномерным распределением этих свойств, т.е. неоднородностью, что проявляется в отражении, преломлении, рефракции, дифракции и поглощении сейсмических волн. Изучение отраженных, преломленных, рефрагированных и других типов волн с целью выявления пространственного распределении и количественной оценки упругих и других свойств геологической среды - составляет содержание методов сейсморазведки и определяет их разнообразие.
Методика сейсморазведки основана на изучении кинематики волн или времени пробега различных волн от пункта их возбуждения до сейсмоприемников, улавливающих скорости смещения почвы, и их динамики или интенсивности волн. В специальных достаточно сложных установках (сейсмостанциях) электрические колебания, созданные в сейсмоприемниках очень слабыми колебаниями почвы, усиливаются и автоматически регистрируются на сейсмограммах и магнитограммах.
сейсмогеологических границ, их падение, простирание, скорости волн, а используя геологические данные, установить геологическую природу выявленных границ.
В сейсморазведке различают два основные метода: метод отраженных волн (МОВ) и метод преломленных волн (МПВ). Меньшее применение находят методы, высокоточным определением геометрии геологического разреза (ошибки менее 1 %), стало возможным благодаря применению трудоемких систем возбуждения и наблюдения, обеспечивающих одновременный, иногда многократный съем информации с больших площадей и ее цифровую обработку на ЭВМ. Это обеспечивает выделение полезных, чаще однократно отраженных или преломленных волн среди множества волн-помех. Подобные задачи отличает большой объём обрабатываемых данных, что требует использовать не простые «домашние»
компьютеры, а машины обладающие крайне высокой производительностью и большими хранилищами данных.
По решаемым задачам различают глубинную, структурную, нефтегазовую, рудную, инженерную сейсморазведку. По месту проведения сейсморазведка подразделяется на наземную (полевую), акваториальную (морскую), скважинную и подземную, а по частотам колебаний используемых упругих волн можно выделить высокочастотную (частоты свыше 100 Гц), среднечастотную (частоты в несколько десятков герц) и низкочастотную (частоты менее 10 Гц) сейсморазведку. Чем выше частота упругих волн, тем больше их затухание и меньше глубинность разведки.
Сейсморазведка - очень важный и во многих случаях самый точный (хотя и самый дорогой и трудоемкий) метод геофизической разведки, применяющийся для решения различных геологических задач с глубинностью от нескольких метров (изучение физико-механических свойств пород) до нескольких десятков и даже сотен километров (изучение земной коры и верхней мантии). Одно из важнейших назначений сейсморазведки - поиск и разведка нефти и газа [2].
Рис. 1: Схема сейсморазведки на море. [3] Теория распространения упругих (сейсмических) волн базируется на теории упругости, так как геологические среды в первом приближении можно считать упругими. Поэтому напомним основные определения и законы теории упругости применительно к однородным изотропным средам.
Установлено, что под действием внешних нагрузок жидкие и газообразные тела изменяют свои объем и форму, деформируются. При деформации частицы тела смещаются относительно друг друга и исходного положения. Величина и направление перемещений определяются величиной и характером внешних сил и свойствами тела. Положение частиц тела после деформации можно найти, если известен вектор перемещений частиц.
После приложения внешних нагрузок малый параллелепипед, мысленно выделенный внутри тела до его деформации, изменит свой объем или форму, или и то, и другое. При этом изменится длина его ребер, а прежде прямые углы между соответствующими ребрами станут тупыми или острыми. Количественной мерой деформации являются относительные удлинения ребер малого параллелепипеда и абсолютное изменение углов относительно 90°. Таким образом, деформация полностью описывается шестью компонентами. Три первые компоненты называются продольными (нормальными) деформациями, три последние — сдвиговыми.
При снятии нагрузки частицы тела могут вернуться или не вернуться в исходное положение. В первом случае говорят об обратимых, а во втором о необратимых деформациях. Тела, в которых развиваются только обратимые деформации, называют упругими. Тела, в которых развиваются только необратимые деформации,—пластичными, неупругими. Величина деформаций зависит от величины и характера внешних напряжений—сил, действующих на единицу площади. Горные породы ведут себя как упругие тела только при малых деформациях, когда все шесть компонент деформации не превышают 10-3.
При деформации в упругом теле возникают внутренние напряжения, обусловленные упругим взаимодействием между частицами тела. На каждую площадку малого размера, мысленно выделяемую в теле, действуют напряжения, имеющие в общем случае составляющую, перпендикулярную к площадке,— нормальное напряжение, и две, направленные вдоль площадки, называемые сдвиговыми напряжениями. Три компоненты напряжения задаются с помощью шести компонент тензора напряжения. Эти шесть компонент связаны с шестью компонентами малых деформаций законом Гука [4].
1.2 Обоснованность выбора технических средств.
Использование высокопроизводительных машин требует больших экономических затрат. Требуется построить специальное помещение, закупить дорогостоящую аппаратуру, и потратить достаточно много времени на настройку оборудования и разработку специального программного обеспечения, которое сможет по максимуму использовать возможности аппаратуры. Кроме того мощные вычислители потребляют огромное количество электроэнергии, что делает даже процесс анализа данных крайне дорогим удовольствием. Так надо ли тратить деньги на развитие методов сейсморазведки?
Стоимость одной разведочной скважины на суше — 1 млн. долларов за Стоимость одной разведочной скважины на море — 10 млн. долларов за Средняя глубина скважины — 1.5 — 3 километра в настоящее время, но из-за истощения поверхностных запасов в ближайшем будущем эта величина составит 4 — 6 километров.
Высокие технологические риски, без предварительного изучения геологических данных велик риск разрушения не законченной скважины, а значит придётся начинать всё бурение сначала (См. Рис. 2).
Средняя стоимость высокопроизводительного вычислителя — 4 млн.
долларов (20Тфлопс, УГТУ, 2007г) Средняя стоимость часа работы — около 157 долларов (20Тфлопс, УГТУ, Рис. 2: Схема геологического участка на море. [3] Таким образом существует достаточное экономическое обоснование для использования высокопроизводительных вычислителей. Но не будет ли достаточно простых «персональных» машин?
Требования накладываемые реальной задачей (Карачаганак, См. Рис. 3) [3]:
Площадь наблюдений ~ 900 кв. км Количество пунктов возбуждения (ПВ) ~ Количество пунктов приёма (ПП) ~ Количество средних точек (ОСТ) ~ 9 Кратность сейсмограммы ОСТ Количество трасс (записей) ~ 3 миллиарда Длина записи 20 сек, 10000 отсчётов, 4 байта/отсчёт Объём данных > 100 терабайт Рис. 3: Месторождение Карачаганак, 3D съёмка, 2009г. [3] Решение задачи подобной сложности невозможно без использования специальных машин обладающих повышенной производительностью. Решение этого класса задач на «домашних» машинах невозможно.
Таким образом использование высокопроизводительных систем в области поиска месторождений нефти и газа полностью оправдано как с материальной точки зрения, так и с точки зрения необходимых вычислительных мощностей.
1.3 Обзор работ посвящённых моделированию геологических Нужды отрасли и рост числа высокопроизводительных систем, вызвали повышенный интерес к разработке различных алгоритмов моделирования геологических сред.
В работе [5] был предложен параллельный алгоритм для анализа волновых полей в тонких коллекторах. Особенностью этого алгоритма является адаптивная сетка: её масштаб меняется в зависимости от насыщенности волнового поля. Для организации вычислений использовалась технология MPI. Алгоритм ориентирован на сравнительно небольшое число вычислительных узлов, а эффективность достигается за счёт адаптивной сетки.
Гибридный алгоритм предложенный в работе [6] также как и предыдущий использует специальную декомпозицию данных для достижения высокой эффективности в задачах имеющих не более 50% вязкоупругих включений. Кроме декомпозиции используются различные методы моделирования волн отдельно в вязкоупругих включениях и во всей остальной области. Алгоритм использует сравнительно небольшое число процессоров и основан на технологиях MPI и OpenMP.
Примером работы с уже существующими библиотеками (Intel®MKL) служит работа [7]. Важной особенностью предложенного подхода является использование разложение Лагерра по времени, вместо преобразования Фурье. Для организации параллельного счёта данные разбивается на прямоугольные области по которым счёт ведётся независимо, но возникает необходимость синхронизации пограничных зон.
Алгоритм использует возможности MPI для синхронизации и OpenMP для повышения скорости расчётов.
В работе [8] используется принцип геометрического параллелизма при распределении данных, а так же модель MPI+OpenMP, при моделировании распространения упругих волн в гетерогенных средах.
Использованию графических процессоров в задачах моделирования посвящена работа [9]. Рассматривалась среда вокруг уже пробуренной скважины.
Одной из особенностей работы являлся способ построения сетки, связанная с особенностью решаемой задачи. Важным является использование группы графических ускорителей (multi-GPU) каждый из которых обрабатывает свой набор данных, но проводит синхронизацию с соседними (по параметрам модели) видеокартами.
Примером полномасштабного исследования эффективности параллельного алгоритма сейсмической миграции в обратном времени для Blue Gene/P может служить работа [10]. В работе рассмотрены основные проблемы возникающие при использовании программы на разном числе процессоров, например такие как влияние кэша. Так же в работе проведено покомпонентное исследование элементов программы.
Данная работа направлена на исследование поведения классических алгоритмов моделирования акустических волн в геологических средах на вычислительных системах с большом числом вычислительных узлов, в отличие от большинства современных работ в области анализа данных сейсморазведки, которые ориентированы на оптимизацию процесса вычислений на сравнительно небольшом числе узлов. Полномасштабное исследование поведения разработанных алгоритмов в большинстве работ не проводиться, что существенно усложняет процесс прогнозирования эффективности новых программных реализаций, разработанных на их основе. Принципы построения параллельного алгоритма, который использован в данной работе близок к представленному в работе [8]. Отличием данной работы являются другие математические модели и проведённое покомпонентное исследование программы для большого числа вычислительных узлов. Также в работе рассматривается применимость графических ускорителей для решения поставленной задачи.
Задачи данной работы:
1. Разработка и реализация параллельного алгоритма моделирования распространения акустических волн в неоднородных средах:
с учётом особенностей массивно-параллельной вычислительной системы с учётом особенностей суперкомпьютера «Ломоносов»
с учётом особенностей графических ускорителей распределённой памятью (Blue Gene/P и «Ломоносов»), при использовании достаточно большого числа вычислительных узлов, для определения ключевых проблем при организации масштабных вычислений.
3. Исследование структуры, разработанных параллельных программ, для проведения дальнейшей оптимизации.
В данной главе описывается постановка задачи и формулируются основные цели работы. Описывается предметная область, физические обоснования процессов моделирования и анализа результатов сейсморазведки, приводятся экономическая целесообразность применения суперкомпьютеров. Поясняются причины актуальности данной работы. Проводиться обзор работ посвящённых моделированию геологических сред и формулируются основные особенности данной работы.
Глава 2. Параллельный алгоритм моделирования распространения акустических волн в геологических неоднородной среде, характеризующейся своей плотностью и скоростью распространения волны. Решается двумерная нестационарная задача. В процессе моделирования среда покрывается равномерной прямоугольной сеткой с шагами:
x (горизонтальное удаление) и z (глубина), и шагом по времени t. Для граничного слоя реализованы отражающие условия — элементы поля давления всегда не возмущены (давление равно 0).
распространение акустической волны в твёрдом неоднородной среде [11], для двумерной нестационарной задачи с размерностью ( x, z, t) (1):
( x, z ) — плотность в каждой точке пространства.
v ( x, z ) — скорость акустической волны в каждой точке пространства.
момент времени t.
S ( x, z, t) — внешняя сила (функция источника) в точке пространства с координатами (x, z ), в момент времени t.
Для решения этой задачи воспользуемся методом конечных разностей заменив частные производные на конечно-разностные соотношения (Шаблон представлен на Рис. 4). Исходное уравнение примет вид (2):
Рис. 4: Графическая интерпретация конечно-разностной схемы используемой в данной работе.
Преобразовав последнее уравнение в явную конечно-разностную схему 2-ого порядка по времени получим (3):
излучения источников.
Заменив оператор Лапласа конечно-разностной схемой 4-ого порядка по пространственным координатам получим (4):
Скалярное произведение градиентов заменим конечной разностью (5):
Таким образом мы можем решать данную задачу имея информацию о двух начальных состояниях по времени и четырёх соседних точках по каждой из пространственных координат в момент времени состояния по времени:
граничные условия — во всех граничных точках поставленную задачу на ЭВМ.
Условием сходимости данной конечно-разностной схемы является критерий максимальный шаг по пространственным координатам: v =max ( v (x, z)) — максимальная скорость распространения акустической волны в среде.
последовательный вариант алгоритма, реализованного в рамках Open source проекта Madagascar [12].
Алгоритм состоит из следующих шагов:
1. Обработка и контроль корректности входных параметров.
2. Контроль входных файлов и распределение данных между вычислительными узлами, инициализация выходных файлов.
3. Расчёт поля давлений (для каждого шага по времени):
1. Копирование данных, полученных на предыдущем шаге по времени, на 2. Расчёт новых значений поля давлений (текущий шаг по времени).
3. Обмен «теневыми» границами между соседними вычислительными В алгоритме используется геометрическая декомпозиция данных: каждый процессор обслуживает прямоугольную область. Нагрузка распределяется равномерно между всеми процессорами. Данные соседних процессоров пересекаются (См. Рис. 5).
Рис. 5: Схема распределения данных для четырёх процессоров.
Оценку оптимального числа вычислительных узлов следующим образом:
sizeof(float)( 3 m+ t+ Buffer sizem) Total available memory матрице, — число вычислительных узлов, оценку их максимального числа можно получить в результате пробного эксперимента на конкретной вычислительной вычислительной системе, из условия того, что время расчёта не должно превышать время обмена данными.
Все данные представляются в виде бинарных файлов. Файлы имеют следующий формат: число измерений (int), число элементов по каждой размерности (массив long int), число матриц (long int), матрицы представленные в виде линейного массива (массив float).
Входные данные программы (x — горизонтальное удаление, z — глубина, t — время моделирования):
1. Карта плотностей (размерность матрицы [x, z]).
2. Карта скоростей (размерность матрицы [x, z]).
3. Карта позиций источников (размерность матрицы [x, z]).
4. Карта функции источников (размерность матрицы [t]).
Поскольку для решения задачи необходима информация о двух предыдущих слоях по времени целесообразно организовать циклический буфер. В данной работе реализовано два типа буфера: одинарный (См. Рис. 6) — данные каждый раз перезаписываются и двойной (См. Рис. 7) — данные перезаписываются каждые два шага. Цикличность означает что позиция новой записи вычисляться по модулю где n – длина буфера.
Рис. 6: Одинарный буфер длинны 6.
Рис. 7: Двойной буффер длинны 6.
2.4 Особенности программной реализации алгоритма на Для суперкомпьютера «Ломоносов» процесс расчёта и процесс копирования, уже готовых данных на жёсткий диск, целесообразно проводить параллельно с использованием директивы task стандарта OpenMP 3.0. В основе этого метода лежит выделение отдельных участков кода в так называемые задания (task). Задания попадают в очередь выполнения и выполняются любой свободной нитью (thread).
Для синхронизации используется директива taskwait, которая указывает на необходимость синхронизации всех нитей и завершения всех заданий в очереди.
В отдельную задачу выделен процесс копирования данных на жёсткий диск.
Цикл обработки полей давления разделяется на набор независимых (друг от друга) частей, каждая из которых помещается в отдельную задачу. Количество частей цикла должно быть больше количества нитей, чтобы они могли быть все задействованы, идеальным вариантом является число частей цикла равное максимально доступному числу нитей минус одна (т. к. одна из нитей занята копированием).
2.5 Особенности программной реализации на GPU.
При работе с графическими процессорами необходимо учитывать тот факт, что оперативная память узла CPU не может быть использована GPU, и наоборот глобальная память GPU не может быть использована CPU. В стандарте CUDA [1] описан способ организации прямой адресации из памяти GPU, в память CPU, так называемый mapping, но в данной работе такой способ организации вычислений не рассматривался.
Таким образом, работа с GPU подразумевает копирование данных из памяти CPU (один раз перед началом вычислений) в память GPU и копирование на каждом шаге по времени данных из памяти GPU в память CPU. В случае использования нескольких GPU необходимо также на каждом шаге по времени производить копирование «теневых» границ между соседними графическими ускорителями.
В данной главе рассмотрена математическая постановка задачи. Представлена конечно-разностная схема её решения. Разработан, общий для всех систем, параллельный алгоритм. Описан способ декомпозиции данных, способ коммуникации между вычислительными узлами и размещения данных на каждом процессоре. Описан формат входных и выходных данных при корректной работе программы. Сформулирован критерий позволяющий оценить оптимальное число процессоров необходимых для решения задачи. Указанны программные особенности версий программ для разных платформ.
3.1 Вычислительный эксперимент на базе IBM Blue Gene/P.
Микропроцессорное ядро [13]:
• модель: PowerPC • рабочая частота: 850 MHz • адресация: 32-битная • кэш инструкций 1-го уровня (L1 instruction): 32 KB • кэш данных 1-го уровня (L1 data): 32 KB • кэш 2-го уровня (L2): 14 потоков предварительной выборки (stream prefetching): 14 x 256 байтов • два блока 64-битной арифметики с плавающей точкой (Floating Point Unit, FPU), каждый из которых может выдавать за один такт результат совмещенной операции умножения-сложения (Fused Multiply-Add, FMA) • пиковая производительность: 2 FPU x 2 FMA x 850 MHz = 3,4 GFlop/sec per Коммуникационные сети:
• трехмерный тор (three-dimensional torus) • сеть общего назначения, объединяющие все вычислительные узлы;
предназначена для операций типа «точка-точка»
• вычислительный узел имеет двунаправленные связи с шестью • пропускная способность каждого соединения — 425 MB/s (5,1 GB/s • латентность (ближайший сосед):
• глобальные коллективные операции (global collective) • коммуникации типа «один-ко-многим» (broadcast-операции и • используется вычислительными узлами для обменов с I/O-картами • каждый вычислительный узел и I/O-карта имеют три двунаправленные • пропускная способность каждого соединения — 850 MB/s (1,7 GB/s • латентность (полный обход): 3,0 s • глобальные прерывания (global interrupt) • операции барьеров и прерываний (глобальные AND- и OR-операции) • функциональная сеть • соединяет узлы ввода-вывода с внешним окружением • 10-гигабитная оптическая Ethernet-сеть • сервисная сеть (service/control) • загрузка, мониторинг, диагностика, отладка, доступ к счетчикам • гигабитная Ethernet-сеть (4 соединения на стойку) Во время тестов вся коммуникационная сеть между процессами выделена для поставленной задачи, таким образом можно проводить вычислительный эксперимент можно производить один раз (в повторных тестах нет необходимости). Для оценки времени работы компонентов программы данные по процессорам усреднялись без учёта явных отклонений от средних значений (процессоры обрабатывающие границы области).
Ниже приводятся графики времени выполнения программы, коэффициента слабой масштабируемости ( T 128 /T n, где - время выполнения на процессорах, - время выполнения на процессорах; при сохранении относительной загрузки на процессор) и соотношение времени выполнения отдельных компонентов программы.
время (сек.) Рис. 8: Время выполнения для различного числа процессоров и схемы распределения данных.
время (сек.) Рис. 9: Коэффициент слабой масштабируемости для различного числа процессоров и схемы распределения данных Графики на Рис. 8 и Рис. 9 демонстрируют зависимость времени выполнения от способа распределения данных и числа процессоров.
Blue Gene/P (компоненты программы) нагрузка на один проц. 1000х1000х100, для 128 проц.
Рис. 10: Покомпонентная оценка программы для 128 проц.
Blue Gene/P (компоненты программы) нагрузка на один проц. 1000х1000х100, для 256 проц.
Рис. 11: Покомпонентная оценка программы для 256 проц.
Blue Gene/P (компоненты программы) нагрузка на один проц. 1000х1000х100, для 512 проц.
Рис. 12: Покомпонентная оценка программы для 512 проц.
Таким образом результаты тестов на Blue Gene/P позволяют сделать следующие выводы:
1. Наблюдается хорошая слабая масштабируемость программы (См. Рис. 8 и Рис. 9), что объясняется подходящей топологией сети.
2. Потеря эффективности связана с увеличением вклада коммуникационных расходов (См. Рис. 10, Рис. 11 и Рис. 12).
3. Влияние схемы распределения данных (См. Рис. 8 и Рис. 9) объясняется влиянием кэша.
3.2 Вычислительный эксперимент на базе ноутбуков ASUS Для оценки эффективности реализации программы, написанной на CUDA, были выбраны два ноутбука с разными видеокартами. При реализации вместо функций MPI были использованы функциональные заглушки обеспечивающие корректную работу программы на ноутбуке, с поддержкой OpenMP, но без поддержки MPI.
Характеристики ноутбука ASUS N61VN:
Core™2 Duo Processor P8800: 2.66 GHz, 2 cores, 64-bit, L2 Cache 3 Mb.
Жесткий диск: 2.5" 9.5mm SATA, 500Gb, 7200 rpm.
Оперативная память: 4 Gb DDR 3, 1333 MHz.
Графическая система: GeForce GT240M, 1GB VRAM 48 процессорных ядер с частотой 174 MHz, частота процессора: 1210 MHz.
Характеристики ноутбука ASUS K53S:
Intel Core i5 2410M: 2.33 GHz, 2 cores, 64-bit, L2 Cache 3 Mb.
Жесткий диск: 2.5" 9.5mm SATA, 500 Gb, 5400 rpm.
Оперативная память: 4 Gb DDR 3, 1333 MHz.
Графическая система: GeForce GT610M, 2GB VRAM 48 процессорных ядер с частотой 810 MHz, частота процессора: 1620 MHz.
Для проведения тестов из-за того что видеокарта постоянно используется операционной системой требуется производить осреднение по результатам тестов.
Производилось 10 тестов из которых исключались выбросы (значения явно выше среднего), а остальные результаты усреднялись. Время копирования данных из памяти видеокарты учитывается во времени расчётов.
Ниже приводятся результаты тестов для оценки времени работы и соотношения времён компонентов программы. Оценка времени на обмен данными между процессорами не проводилась, так как оно одинаково для всех тестов (реальных обменов нет).
Рис. 13: Зависимость времени выполнения программы от размерности задачи.
На Рис. 13 представлен график зависимости времени выполнения программы от размерности задачи. При размерности 500х500х100 время выполнения на ноутбуке ASUS K53S меньше чем на ноутбуке ASUS N61VN, это объясняется более производительной видеокартой. С ростом размерности больший вклад во время выполнения вносят затраты на копирование, которое быстрее выполняются на ноутбуке ASUS N61VN.
время (сек.) Рис. 14: Зависимость времени копирования от размерности задачи.
время (сек.) Рис. 15: Зависимость времени расчётов от размерности задачи.
На основе полученных результатов можно сделать следующие выводы:
1. Основное время работы программы занимает копирование данных на жёсткий диск, а время расчётов на графическом ускорителе, при большой размерности 2. Использование графических ускорителей при решении данной задачи будет оправданно только при повышении вычислительной сложности ядра (использовании более точные и трудоёмкие схемы) и организации процесса максимальной производительности, за счёт расчёта нескольких шагов по времени до операции копирования (если используется одна видеокарта) или частично выполняя вычисления на CPU для граничного слоя (если 3.3 Вычислительный эксперимент на базе суперкомпьютера Микропроцессорное ядро [14]:
• модель: Intel® Xeon 5570 Nehalem • рабочая частота: 2.93 GHz • адресация: 64-битная • 4 cores, 8 threads • Оперативная память: 12 Gb Коммуникационные сети:
• Системная сеть - QDR InfiniBand, 40 Гбит/сек • Сервисная сеть - Ethernet, 10 Гбит/сек, 1 Гбит/сек и 100 Мбит/сек • Управляющая сеть - Ethernet, 10 Гбит/сек и 1 Гбит/сек • Сеть барьерной синхронизации и сеть глобальных прерываний, Т-Платформы При проведение тестов на системе «Ломоносов» необходимо учитывать то, что коммуникационная сеть может быть занята программами разных пользователей.
Поэтому не достаточно проводить единичный вычислительный эксперимент.
Производилось 10 тестов из которых исключались выбросы (значения явно выше среднего), а остальные результаты усреднялись. Так как на базе суперкомпьютера «Ломоносов» можно использовать функции OpenMP 3.0, то в работе был разработан вариант программы с расчётами, выполняемыми одновременно с копированием данных на жёсткий диск (использовались директивы task).
Ниже приводятся графики времени выполнения программы, коэффициент слабой масштабируемости ( T 16 /T n, где T 16 - время выполнения на процессорах, - время выполнения на процессорах; при сохранении время выполнения на процессорах, а так же соотношение времени выполнения отдельных компонентов программы.
время (сек.) Рис. 16: Время выполнения для различного числа процессоров и схемы распределения данных.
Рис. 17: Коэффициент эффективности для различного числа процессоров и схемы распределения данных.
Анализ поведения программы для малого (менее 16) числа узлов представлен на Рис. 16 и Рис. 17. Результаты вычислительного эксперимента демонстрируют высокую эффективность работы программы. Схема распределения данных также оказывает значительное влияет на время работы программы.
время (сек.) Рис. 18: Время выполнения для различного числа узлов.
Рис. 19: Время выполнения для различного числа узлов.
Рис. 20: Коэффициент слабой масштабируемости для различного числа процессоров и размерности задачи.
Анализ поведения программы для большого (более 64) числа узлов представлен на Рис. 18, Рис. 19 и Рис. 20. При повышении размерности задачи растёт коэффициент слабой масштабируемости, это объясняется увеличением доли расчёта полей давлений в общем времени выполнения.
Рис. 21: Покомпонентная оценка программы для 16 узлов.
Рис. 22: Покомпонентная оценка программы для 64 узлов.
Рис. 23: Покомпонентная оценка программы для 256 узлов.
Исследования проведённые на суперкомпьютере «Ломоносов» показывают:
1. Особенности коммуникационной среды существенно оказывает влияние на эффективность (масштабируемость) текущей версии программы (См. Рис. 21, Рис. 22 и Рис. 23). Для решения этой проблемы требуется покрывать коммуникационные издержки расчётами.
2. Организация процесса копирования данных на жёсткий параллельно с расчётами даёт выигрыш по времени сопоставимый со временем расчёта (См.
Рис. 16, Рис. 18 и Рис. 19).
3. Влияние схемы распределения данных (См. Рис. 16, Рис. 17) объясняется влиянием кэша.
4. При использовании числа процессоров менее 32 (одна стойка процессоров) эффективности и масштабируемости (См. Рис. 16, Рис. 17).
В данной главе приводятся результаты тестирования разработанных программ. Описывается методика тестирования для каждой конкретной системы.
Для каждой конкретной системы приводятся её основные характеристики и краткий анализ полученных результатов.
В рамках выполнения магистерской диссертации получены следующие результаты:
Разработан параллельный алгоритм моделирования распространения акустических волн в геологических средах для задач сейсморазведки.
Алгоритм построен на основе конечно-разностной схемы 4-ого порядка по пространственным координатам (глубина и горизонтальное удаление) и 2-ого На основе предложенного алгоритма разработаны параллельные программы для следующих аппаратных платформ: массивно-параллельной системы IBM Blue Gene/P, суперкомпьютера «Ломоносов» и рабочих станций с графическими ускорителями компании NVIDIA, поддерживающих технологию CUDA. Все программы реализованы на языке Си++. В работе использовались следующие технологии параллельного программирования:
OpenMP для работы с потоками на одном узле, MPI для организации вычислений на системах с распределённой памятью и CUDA для графических Выполнены экспериментальные исследования разработанных программ на модельных задачах и проведён анализ полученных результатов. Показано что задача обладает хорошей масштабируемостью.
Результаты исследования эффективности паралного алгоритма По результатам исследований можно сделать следующие выводы:
1. Общие для всех систем:
1. Организация параллельного выполнения компонентов программы (копирование, расчёт, процесс обмена данных между узлами) позволяет получить заметный выигрыш по времени.
2. Для достижения высокой эффективности текущей программы требуется загружать процессор максимальным объёмом данных.
3. Топология и организация коммуникационной сети вносит значительный вклад во время выполнения программ.
2. Для графических процессоров:
1. Графические процессоры позволяют пересчитывать текущее поле давлений значительно быстрее, чем проводить операции копирования 2. Для повышения эффективности программы требуется повышать трудоёмкие схемы) и организовывать вычисления специальным образом, добиваясь от карты максимальной производительности, например за счёт расчёта нескольких шагов по времени до операции копирования (если используется одна видеокарта) или частично выполняя вычисления на CPU для граничного слоя (если используется набор видеокарт).
3. Для массивно-параллельной системы IBM Blue Gene/P:
1. За счёт эффективной топологии коммуникационной сети система демонстрирует очень хорошие результаты масштабируемости.
4. Для суперкомпьютера «Ломоносов»:
1. Мощные процессоры демонстрируют отличную эффективность для запусков использующих малое (одну стойку, т. е. менее 32) число узлов.
коммуникационная среда, снижает эффективность программы.
1. Решение трёхмерной нестационарной задачи.
2. Замена акустических уравнений на упругие, что поможет существенно повысить качество моделирования.
3. Организация граничных условий, которые лучше отражают поведение реальной среды.
1. Поглощающие — наиболее простые.
2. PML — белее сложные, чем поглощающие, но более точные.
4. Разработка программы для кластеров с GPU.
5. Организация обменов между процессами, параллельно с проведением расчётов и дальнейшее улучшение схемы параллельных вычислений.
1. Боресков А. В. Основы работы с технологией CUDA. / А. В. Боресков, А. А.
Харламов. - М.: ДМК, 2010. 230 с.
2. Хмелевской В.К. Геофизические методы исследований. / В.К. Хмелевской, Ю.И. Горбачев, А.В. Калинин, М.Г. Попов, Н.И. Селиверстов, В.А. Шевнин. Петропавловск-Камчатский: КГПУ, 2004. 232 с.
суперкомпьютерной школе МГУ им. Ломоносова: Сейсморазведка и высокопроизводительные вычисления, 2011. [PDF] (http://school.hpcrussia.ru/files/materials/geolab.pdf) 4. Соловьянова И.П. Теория волновых процессов: акустические волны. / И.П.
Соловьянова, С.Н. Шабунин. - Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2004.
5. Чеверда В.А. Распространение сейсмических волн в разномасштабных средах: численное моделирование и полевые наблюдения. / В.В. Лисица, Г.В.
Решетова, В.А. Чеверда, В.А. Поздняков, В.В. Шиликов, Вторая научнопрактическая конференция: Суперкомпьютерные технологии в нефтегазовой отрасли, М.: Суперкомпьютерный центр МГУ имени М.В. Ломоносова, 2012.
[PDF] (http://www.hpc-oilgas.ru/hpc-oilgas/files/004_Cheverda.pdf) 6. Лисица В. В. Численное моделирование волновых процессов в вязкоупругих средах. / В.В. Лисица, Д. М. Вишневский, Г. В. Решетова, Вторая научнопрактическая конференция: Суперкомпьютерные технологии в нефтегазовой отрасли, М.: Суперкомпьютерный центр МГУ имени М.В. Ломоносова, 2012.
[PDF] (http://www.hpc-oilgas.ru/hpc-oilgas/reports12/Lisica.pdf) 7. Соловьев С. А. Численное моделирование сейсмических волн на системах с распределенной памятью с использованием аддитивного метода Щварца и математической библиотеки Intel®MKL. / М. А. Белоносов, Г. В. Решетова, С.
А. Соловьёв, В. А. Чевердав, Вторая научно-практическая конференция:
Суперкомпьютерный центр МГУ имени М.В. Ломоносова, 2012. [PDF] (http://agora.guru.ru/abrau2012/pdf/222.pdf) 8. Голубев В.И. Расчет волновых процессов в геологических средах с использованием сеточно-характеристического метода на прямоугольных сетках. / В.И. Голубев, К.И. Шульц, И.Б. Петров, Н.И. Хохлов, Вторая научнопрактическая конференция: Суперкомпьютерные технологии в нефтегазовой отрасли, М.: Суперкомпьютерный центр МГУ имени М.В. Ломоносова, 2012.
[PDF] (http://www.hpc-oilgas.ru/hpc-oilgas/reports12/Golubev.pdf) 9. Вершинин А.В. Моделирование акустического каротажа в анизотропных вязкоупругих средах методом спектральных элементов. А.В. Вершинин, Д.И.
Сабитов, Первая научно-практическая конференция: Суперкомпьютерные технологии в нефтегазовой отрасли, М.: Суперкомпьютерный центр МГУ имени М.В. Ломоносова, 2011. [PDF] (http://www.hpc-oilgas.ru/hpcoilgas/reports/Vershinin_Sabitov.pdf) 10. Perrone Michael, Fast Scalable Reverse Time Migration Seismic Imaging on Blue Gene/P. / Michael Perrone, Lurng-Kuo Liu, Ligang Lu, K Magerlein, Changhoan Kim, I. Fedulova, A. Semenikhin, IBM TJ Watson Research Cente, NY, IBM (ftp://ftp.software.ibm.com/systems/deepcomputing/RTM_on_BG-P_Perrone_et_al.pdf) 11. Тихонов А.Н. Уравнения математической физики. / А.Н. Тихонов, А.А.
Самарский. - 7-е изд. - М.: Изд-во МГУ: Наука, 2004. 742 с.
http://reproducibility.org/wiki/Guide_to_programming_with_madagascar.
13. Сайт hpc@cmc. Высокопроизводительные вычисления на ВМК МГУ.
http://hpc.cmc.msu.ru/ 14. Сайт Лаборатории Параллельных информационных технологий Научноисследовательского вычислительного центра Московского государственного университета имени М. В. Ломоносова. http://www.parallel.ru/ акустической волны в однородной среде, точечный источник возмущения размещён в центре области. Параметры модели: горизонтальное удаление — 301 точка, глубина — 301 точка, число шагов по времени — 100. На изображениях более светлый цвет характеризует большее значение параметра. Модель среды и результаты моделирования представлены на Рис. 24 и Рис. 25. Результаты полностью согласуются с теорией — волна имеет сферический фронт, чередуются области высокого и низкого давления см. Рис. 25.
Рис. 24: Модель среды: карта Рис. 25: Результат моделирования:
плотностей (размерность 301х301). карта давлений, время 81.
Пример работы программы на модельной задаче: распространение акустической волны в горизонтально-слоисто среде, точечный источник возмущения размещён в центре области. Параметры модели: горизонтальное удаление — точка, глубина — 301 точка, число шагов по времени — 100. На изображениях более светлый цвет характеризует большее значение параметра. Модель среды и результаты моделирования представлены на Рис. 26, Рис. 27, Рис. 28 и Рис. 29.
Результаты полностью согласуются с теорией — волна имеет сферический фронт пока волна распространяется в однородной среде Рис. 27. После отражения от границы двух сред волна быстрее распространяется в более плотной среде Рис. 28 и Рис. 29.
Рис. 26: Модель среды: карта Рис. 27: Результат моделирования:
плотностей (размерность 301х301). карта давлений, время 32.
Рис. 28: Результат моделирования: Рис. 29: Результат моделирования:
карта давлений, время 37. карта давлений, время 46.