УДК: 004.272 ПЕКУНОВ В.В., асп.АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ ПАКЕТА WMPI 1.3ПРИ РАСПАРАЛЛЕЛИВАНИИ ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧГАЗОВОЙ ДИНАМИКИ НА ТОПОЛОГИИ «ТРУБА»В КОМПЬЮТЕРНОЙ СЕТИОбсуждается коммуникационная производительность пакета WMPI 1.3 на топологии “труба”. Сравниваются результаты, полученные при использовании различных программных средств WMPI для распараллеливания вычислений на данной топологии при решении тестовой задачи численного интегрирования системы нелинейных дифференциальных уравнений газовой динамики. Анализируется зависимость полученной производительности от числа используемых компьютеров и сложности задачи. Пекунов В.В. — закончил Ивановский государственный энергетический университет в 1999 г., по специальности “Системы автоматизированного проектирования”. В настоящее время аспирант кафедры ВВС (Высокопроизводительных вычислительных систем), программист РЦИ ВШ, [email protected]. Существует большое количество задач высокой вычислительной сложности, эффективное решение которых возможно только с использованием параллельных вычислений. В качестве примера можно назвать задачи вычислительной аэрогидродинамики при нескольких десятках тысяч узлов расчетной сетки, моделирования сложных молекулярных систем и другие. Наиболее целесообразно для решения таких задач применить многопроцессорные вычислительные системы. Однако эти системы малодоступны по причине крайне высокой стоимости. Дешевой альтернативой им являются компьютерные сети, оснащенные специальным программным обеспечением. В настоящее время в мире существует несколько пакетов, поддерживающих параллельные вычисления в сети на различных платформах. Для IBM-совместимых компьютеров наиболее часто используются пакеты, реализующие стандарт MPI (Message Passing Interface) в различных операционных системах. Это связано с тем, что данный стандарт, по сравнению, например, с PVM (Parallel Virtual Machine) обладает большим набором коммуникационных средств и более высоким быстродействием за счет удачного архитектурного решения (исключено промежуточное звено в механизме передачи данных — программа-демон). В ряде работ [1] обсуждается производительность (на различных тестовых задачах) реализаций стандарта MPI для операционной системы LINUX, тогда как реализации для Windows 9x до сих пор практически не затрагивались. Целью данного исследования является анализ производительности пакета WMPI 1.3 (реализация MPI для Windows 9x) при распараллеливании вычислений на топологии «труба» для решения задач газовой динамики. Для этого необходимо следующее: а) сформулировать тестовую задачу из области газовой динамики, при распараллеливания которой характерно использование топологии «труба»; б) определить коммуникационные средства пакета, использование которых при решении данной задачи дает минимальные временные затраты; в) определить эффективность решения задачи с помощью наиболее «быстрых» коммуникационных средств WMPI в зависимости от числа используемых компьютеров и уровня вычислительной сложности. В качестве тестовой выберем типичную задачу численного интегрирования системы нелинейных дифференциальных уравнений газовой динамики, включающей известные уравнения Навье – Стокса, переноса тепла, диффузии примесей и уравнение для давления [2]. Все уравнения имеют вид:, (1) где H – одна из интегрируемых функций (P — давление, T — температура, C — концентрация примеси, Ux, Uy, Uz — проекции вектора скорости на оси координат), R – коэффициент (вязкости, теплопроводности, диффузии), K — функция, вид которой зависит от конкретного интегрируемого уравнения [2]. К системе уравнений применим метод покомпонентного расщепления, условия счетной устойчивости и сходимости которого достаточно хорошо изучены [3]. Сведем задачу интегрирования каждого уравнения вида (1) к последовательному интегрированию трех более простых уравнений, каждое из которых содержит производные только по одной пространственной переменной. К полученным уравнениям применим метод скалярной прогонки (неявная разностная схема) [3]. С помощью средств MPI была написана программа, реализующая численное интегрирование указанной системы уравнений. Применено распараллеливание по пространству. Расчетная область поделена на блоки, причем каждый из компьютеров осуществляет интегрирование методом прогонки в пределах одного блока. Между компьютерами, обрабатывающими соседние блоки, организован обмен данными, необходимыми для предварительных вычислений на стыках блоков, что позволяет избежать простоев в работе. Указанная схема обменов полностью соответствует топологии “труба” [5]. В ходе разработки программы испытывались следующие средства MPI: синхронные, асинхронные блокирующие и асинхронные неблокирующие обмены, массовые обмены и, отчасти, групповые взаимодействия процессов. Был проведен ряд экспериментов, различавшихся только используемыми коммуникационными средствами. Все эксперименты проводились в локальной сети (протокол — TCP/IP, Ethernet, разделяемые 100 Мбит/с) из нескольких компьютеров, работающих под управлением операционных систем Windows 95, 98. Лучшее время выполнения эксперимента было получено при использовании средств асинхронного неблокирующего (MPI_Isend, MPI_Irecv, MPI_Wait) и массового (MPI_Send_init, MPI_Recv_init, MPI_Startall, MPI_Waitall) обменов — примем это время за образцовое. Время выполнения для приема/передачи данных в одном запросе (MPI_Sendrecv) оказалось чуть больше — приблизительно в 1,05 раза. Время выполнения для средств асинхронного блокирующего обмена (MPI_Send, MPI_Recv, MPI_Probe) оказалось больше образцового приблизительно в 1,11,2 раза. Средние результаты (время больше в 1,151,25 раза) были получены при использовании некоторых функций группового взаимодействия — рассылки и сбора данных (MPI_Bcast, MPI_Scatter, MPI_Gather), хотя утверждается, что они имеют внутреннюю оптимизацию пересылок. Вероятно, это связано с тем, что число используемых компьютеров было невелико (35), возможно эффект от оптимизации пересылок сказывается только при большем числе компьютеров. Наихудшее время (больше образцового в 1,31,4 раза) было получено при использовании средств синхронного обмена (MPI_Ssend). Приведем некоторые теоретические соображения, отчасти объясняющие вышеуказанные результаты. Рассмотрим идеализированный случай, когда время на установку соединения равно TС , время на передачу одного байта равно TS , обмен осуществляется блоками объемом K байт. Очевидно, что время выполнения синхронной трансакции равно (с учетом затрат времени на получение подтверждения), тогда как время выполнения асинхронной трансакции несколько меньше (). Таким образом, использование средств синхронного обмена гарантированно приводит к худшим результатам. Теперь пронумеруем компьютеры в топологии «труба» по порядку, начиная с нуля. При использовании синхронных или асинхронных блокирующих трансакций обмен данными проходит в два этапа: сначала попарно обмениваются данными компьютеры 0 и 1, 2 и 3 и так далее, затем компьютеры 1 и 2, 3 и 4 и так далее. При использовании же асинхронных неблокирующих или массовых трансакций обмен осуществляется всего за один этап, что и объясняет выигрыш по времени в сравнении с асинхронными блокирующими трансакциями. Дальнейшие эксперименты, в которых варьировались число используемых компьютеров и вычислительная сложность задачи (число узлов расчетной сетки и количество уравнений), проводились с тем вариантом программы, в котором использовались асинхронные неблокирующие и массовые обмены. Осуществлялось сравнение скорости работы параллельной программы численного интегрирования и ее однопроцессорного варианта. Выигрыш в быстродействии удалось получить только при числе узлов расчетной сетки более 20 000 (при меньшем числе узлов наблюдался некоторый проигрыш в быстродействии). При использовании двух компьютеров быстродействие увеличилось чуть более чем в 2 раза, что объясняется увеличением эффективности работы кэш-памяти процессоров за счет уменьшения объема обрабатываемых данных на каждом из компьютеров [4,5]. При использовании трех компьютеров быстродействие увеличилось примерно в 3 раза, при использовании пяти компьютеров — примерно в 4 раза, то есть начал сказываться тормозящий эффект пересылок данных. Причем этот эффект сказывается тем быстрее, чем меньшее число узлов содержит сетка. На рис. 1 показана диаграмма, иллюстрирующая зависимость производительности (вертикальная ось) от числа используемых компьютеров (горизонтальная ось) и от числа узлов расчетной сетки и числа уравнений (продольная ось). Производительность определена как , где TN – время, затраченное N компьютерами, T1 – время, затраченное на те же вычисления одним компьютером. Рис. 1. Производительность на топологии “труба” в зависимости от числа компьютеров и вычислительной сложности задачиЗаключение Сделаем следующие выводы: При распараллеливание средствами WMPI 1.3 вычислительных задач газовой динамики на топологии «труба» наиболее эффективны асинхронные неблокирующие и массовые обмены. Необходимо избегать использования крайне неэффективных синхронных обменов. Сомнительным представляется широкое использование средств группового взаимодействия. Производительность WMPI 1.3 при решении рассматриваемого класса задач тем больше, чем выше их вычислительная сложность. Насыщение, то есть момент, когда дальнейшее увеличение числа компьютеров не ведет к росту производительности наступает тем быстрее, чем ниже вычислительная сложность. Таким образом можно рекомендовать распараллеливание вычислительных задач на топологии «труба» в сети с использованием средств WMPI 1.3 только в случае высокой вычислительной сложности, когда затраты времени на вычисления существенно (в 810 раз и более) превышают затраты времени на обмен данными.ЛитератураВысокопроизводительные вычисления и их приложения: Тр. Всеросс. научн. конф. — М.: Изд-во МГУ, 2000. — 307 с.Лойцянский Л. Г. Механика жидкости и газа. — М.: Наука, 1978. — 736 с.Марчук Г. И. Методы вычислительной математики. — М.: Наука, 1989. — 608 с.Эйсымонт Л. К. Оценочное тестирование высокопроизводительных систем: Цели, методы, результаты и выводы // Суперкомпьютерные вычислительно-информационные технологии в физических и химических исследованиях: Сборник лекций. — Черноголовка, 2000. С.33-42.Ясинский Ф. Н., Чернышева Л. П., Пекунов В. В. Математическое моделирование с помощью компьютерных сетей: Уч. пос. — Иваново: Изд-во ИГЭУ, 2000. — 201 с.
Похожие работы
Альфред адлер: индивидуальная теория личности биографический очерк
АЛЬФРЕД АДЛЕР: ИНДИВИДУАЛЬНАЯ ТЕОРИЯ ЛИЧНОСТИ БИОГРАФИЧЕСКИЙ ОЧЕРКАльфред Адлер (Alfred Adler) родился в Вене 7 февраля 1870 года, третьим из шести детей. Как и Фрейд, он…
«Макроэкономические проблемы рф»
Секция 10. «Макроэкономические проблемы РФ»Руководитель – Еремина Марина Юрьевна, доцент кафедры «Экономика и управление»Место проведения: Аудитория 518 учебного корпуса 7 Голев Степан Вячеславович, «Камчатский государственный…
«Страна Буквляндия»
Всем учителям, которые убеждены в том, что при обучении иностранному языку удовольствие и успех идут вместе.УЧИМСЯ ЧИТАТЬ, ИГРАЯПисецкая Алина, НОУ “Аврора”БлагодарностьМне бы хотелось поблагодарить тех,…
Xvi международная конференция
XVI Международная конференция «Информационные технологии на железнодорожном транспорте» и выставка отраслевых достижений «ИНФОТРАНС-2011»11-12 октября, г. Санкт-Петербург, «Парк Инн Прибалтийская» IT-инновации для железнодорожного транспортаОрганизатор: ООО «Бизнес…
«фізика навколо нас»
Фізичний вечір на тему: «ФІЗИКА НАВКОЛО НАС»І. Вступ(Лунає музика.Виходять учні)Учень.УВАГА! УВАГА!На вечорі цьомуНемає артистів, еквілібристів,Дуетів,квартетів,славетних солістів.Ровесники, друзі,Тут ваші знайомі,Що разом із вами за партами сидять.Ми…
«экспресс каникулы в скандинавии» финляндия швеция обозначение тура: фш3
«ЭКСПРЕСС КАНИКУЛЫ В СКАНДИНАВИИ»ФИНЛЯНДИЯ – ШВЕЦИЯ Обозначение тура: ФШ3 Круиз по Балтийскому морю – ХЕЛЬСИНКИ – ТУРКУ – СТОКГОЛЬМ ОТЪЕЗД ИЗ САНКТ – ПЕТЕРБУРГА: на…