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

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

CC BY
173
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЫСТРЫЕ ПРЯМЫЕ МЕТОДЫ / ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ / СЕТОЧНЫЕ ЗАДАЧИ / ЭФФЕКТИВНОСТЬ АЛГОРИТМА / КЛАСТЕРНЫЕ СИСТЕМЫ / FAST DIRECT METHODS / PARALLEL ALGORITHMS / GRID-ORIENTED PROBLEMS / ALGORITHM EFFICIENCY / CLUSTERS

Аннотация научной статьи по математике, автор научной работы — Сухинов А. И., Зорина Д. А.

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

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

Designed parallel software library of fast direct methods for solving grid-oriented problems on clusters

In this paper the basic features of designed parallel software library of fast direct methods for solving grid-oriented problems on clusters are considered. Formulas to determine algorithm characteristics based on experimentally determined system performance coefficients are given. The structure of the library is considered and areas of efficiency for each developed algorithm depending on system performance coefficients are defined.

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

БИБЛИОГРАФИЧЕСКИМ СПИСОК

1. Монин А.С. Турбулентность и микроструктура в океане // Успехи физических наук. Т. 109.

2. Белоцерковский О. М. Турбулентность: новые подходы. - М.: Наука, 2003.

3. David C. Wilcox. Turbulence Modeling for Cfd, 2002.

УДК 519.6

А.И. Сухинов, Д.А. Зорина

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

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

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

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

Разработаны параллельные алгоритмы методов прогонки Коновалова-Янен-ко и циклической скалярной редукции, их модификации. Для решения двумерных сеточных эллиптических уравнений разработаны и реализованы параллельные алгоритмы метода полной редукции, метода неполной редукции [2].

Каждый параллельный алгоритм оценивается по двум параметрам - ускорению 8Р и эффективности Ер, которые определяются по формулам

где /1 - время решения исходной задачи на одном процессоре, ґр - время решения исходной задачи по параллельному алгоритму на р процессорах; они могут быть определены теоретически и экспериментально.

t

t,

p

(1)

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

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

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

Для коротких сообщений справедлива приближенная формула

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

Ускорение и эффективность алгоритма, учитывая (1) и (2), можно записать:

где QAs - количество арифметических операций последовательного алгоритма,

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

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

Введем коэффициент эффективности передачи кЕ (рис. 1), который равен отношению скорости передачи полезной информации, вычисляемой как Б=пЛ, где t -время передачи сообщения размером п байт, к скорости передачи данных по сети Бс.

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

и = V+V, ]* Гг * к * Га,

(2)

Р * (Га *<2лР + Р * (Га *<2лР + [^ + V ]*к * Гг * Га ) ’

Га * ЯлГ +I/ ^ * с! ^ " Га

= _____________Га * QлS

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

бл =

V

'■к.

Значение коэффициента эффективности передачи кЕ можно аппроксимировать функциональной зависимостью

кЕ

V

V + V * с1 + с2

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

Полученный график зависимости коэффициента эффективности передачи от размера посылки в элементах имеет вид, показанный на рис. 1, где ось V задает размер посылки в элементах (размер каждого элемента составляет 8 байт), на оси ординат: ^ - время в секундах, полученное экспериментально, а ГкЕ^ - кривая аппроксимирующей функции.

Рис. 1. График коэффициента эффективности передачи

Рис. 2. Ускорение параллельной прогонки на разном количестве вычислителей

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

Е

Использование библиотеки возможно на любой системе распределенных вычислений. Размерность задачи, входные данные, тип решаемой задачи - набор данных, который необходим библиотеке для решения задачи.

Рис. 3. Ускорение параллельной редукции на разном количестве вычислителей

Скалярные задачи Векторные задачи

Оболочка, осуществляющая выбор

Рис. 4. Схематически представленная библиотека параллельных алгоритмов

На рис. 2, 3 приведены графики ускорений параллельного алгоритма прогонки и параллельного алгоритма редукции. Ускорение рассмотренных алгоритмов вычислялось относительно последовательной прогонки для того, чтобы можно было провести их сравнительный анализ и определить, какой из рассматриваемых алгоритмов имеет оптимальное время решения задачи, на каких размерностях и для какого количества вычислителей. Последовательная прогонка была выбрана по причине минимального времени решения задачи по сравнению с алгоритмом последовательной циклической редукции. Из графиков видно, что параллельная прогонка обладает лучшим ускорением по сравнению с параллельной редукцией,

хотя их показатели и очень близки. Именно поэтому это было сложно определить априорно. Из рис. 2 видно, что в интервале размерности задачи 28-211 оптимальное ускорение достигается на двух вычислителях, после этого интервала размерности

- на максимальном количестве вычислителей. Для данной системы />=10.

Схематически разработанную библиотеку можно представить следующим образом (рис. 4).

Библиотека была разработана и апробирована под управлением операционной системы Л8РЬших на ядре 2.4.20-9аБр, компилировалась компилятором gcc 3.2.2.

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. СухиновА.И. Двумерные схемы расщепления и некоторые их приложения. - М.: МАКС Пресс, 2005. - 408 с.

2. Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. - М.: Наука, 1978. - 592 с.

УДК 518.5

А.Е. Чистяков, Е.В. Алексеенко, О.В. Колгунова

ВЫЧИСЛИТЕЛЬНЫЕ ЭКСПЕРИМЕНТЫ С МАТЕМАТИЧЕСКИМИ МОДЕЛЯМИ ТУРБУЛЕНТНОГО ОБМЕНА В МЕЛКОВОДНЫХ ВОДОЕМАХ

Азовское море расположено на юго-западе России и имеет максимальную протяженность с севера на юг ~ 250 км, с запада на восток ~ 350 км, а максимальную глубину 15 м. Программный комплекс предназначен для оценки и прогнозирования состояния водной среды водоема. Математическое описание основано на выделении осредненных составляющих параметров течения среды (скорости, давления). Уравнения модели движения жидкости рассматриваются в прямоугольной области геоинформационной системы Азовского моря с шагом по горизонтальным координатным направлениям 1000 м и 1 м по вертикальному. Направление осей Ох и Оу горизонтально с запада на восток и с севера на юг соответственно. Ось 07 направлена вертикально вниз.

Исходными уравнениями гидродинамики являются [1]:

- уравнение движения (Навье-Стокса)

1 Г ' Г

и + ыЫ + уы'у + М>ы[ =-Р + (/ии'х ) +{ич'у ) +{уи[ ) + 20(у 8ІП0-wcсsв), (1)

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