Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

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

Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа
<
Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Глухов Валерий Николаевич. Реализация моделей климата на многопроцессорных вычислительных системах кластерного типа : Дис. ... канд. физ.-мат. наук : 05.13.18 : Москва, 2004 97 c. РГБ ОД, 61:04-1/630

Содержание к диссертации

Введение

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

1.1 Формулировка уравнений гидротермодинамики атмосферы . 16

1.2 Численные методы решения уравнений гидротермодинамики атмосферы 18

1.3 Проблема эффективной реализации программ на многопроцессорных вычислительных системах 34

2 Реализация атмосферных динамических блоков на много процессорных кластерах 36

2.1 Тест Хельда-Суареза 36

2.2 Коммуникационное ядро 37

2.3 Параллельная реализация конечно-разностного динамического блока 48

2.4 Параллельная реализация спектрального динамического блока 50

3 Реализация моделей общей циркуляции атмосферы и океа на ИВМ РАН на параллельных вычислительных системах 55

3.1 Реализация модели общей циркуляции атмосферы ИВМ РАН на многопроцессорных ЭВМ с распределенной памятью 55

3.2 Реализация модели общей циркуляции океана ИВМ РАН на многопроцессорных ЭВМ с общей памятью 63

Заключение 78

Литература 81

Введение к работе

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

Фактически, каждый новый виток в развитии вычислительной техники давал "повод" для совершенствования моделей. На первых порах, это развитие происходило за счет замены электронных ламп транзисторами, затем, микросхемами, наконец, появились микропроцессоры, тактовая частота которых непрерывно возрастала, увеличивался также размер оперативной памяти ЭВМ и скорость доступа к ней.

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

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

ности.

Как правило, кластеры состоят из вычислительных узлов, соединенных высокоскоростной сетью (Myrinet, SCI, Fast Ethernet). Каждый узел имеет несколько (обычно, от 2 до 16) процессоров, адресующих общую память. Процессоры, принадлежащие различным узлам, способны обмениваться сообщениями через сеть. Построенная таким образом многоуров-невость аппаратного параллелизма выражается на программном уровне в применении парадигм (моделей) общей и разделенной памяти.

Первая модель программирования, в основе которой лежит предположение о равнозначности процессоров по отношению к общей памяти, реализуется стандартом ОрепМР [5], состоящего из набора директив и функций, "указывающих" компилятору фрагменты в программе, допускающие параллельную обработку. Руководствуясь ими, основная программа создает нити (threads), адресующие общую память, выполнение которых может осуществляться несколькими процессорами одновременно.

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

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

Общепризнано, что распараллеливание программ с помощью MPI требует более существенных модификаций их последовательного кода и, как следствие, больших трудозатрат по сравнению с ОрепМР [19].

Обобщением этих двух моделей программирования является гибридное распараллеливание, использующее ОрепМР на нижнем уровне, внутри узлов, a MPI - для обменов данными между узлами.

Данная работа посвящена прикладным аспектам применения параллельных вычислений в задачах моделирования климата и численного прогноза погоды, основные принципы которого были сформулированы еще Ричардсоном в 1922 г, задолго до создания первых ЭВМ. Описанная им в [3] "фабрика прогноза" (forecast factory) должна была состоять из 64 тысяч вычислителей, производящих расчет погоды для всего Земного шара.

Представьте себе зал, похожий на театр, но с рядами и ложами, идущими по кругу и проходящими через то место, где обычно находится сцена. Стены этого зала разукрашены как карта земного шара. Потолок представляет из себя северные полярные области, Англия - там, где ложи верхнего яруса, тропики -где ложи нижнего яруса, Австралия - где бельэтаж, а Антарктида - где партер. Громадное количество вычислителей заняты работой: каждый расчитывает погоду в той части земного шара, где он сидит, отвечая за расчет одного уравнения или даже части уравнения. Работа каждого региона координируется чиновником более высокого ранга. Многочисленные светящиеся цифирки показывают мгновенные значения так, что соседние вычислители могут их читать. Каждая цифра светиться в три стороны, передавая свое значение на север и на юг. Из пола партера на половину высоты зала возвышается высокий столб, на конце которого - кабина, в которой находится человек, отвечающий за весь зал целиком. Он окружен несколькими помощниками и курьерами. Одна из его обязанностей - поддерживать постоянную скорость вычислений в различных частях земного шара. В этом отношении, он похож на дирижера оркестром, в котором инструментами являются логарифмические линейки и вычислительные машины, но вместо того, чтобы размахивать палочкой, он светит розовым лучом на те области, которые считают быстрее остальных, а синим - на отстающие области.1

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

1 переведено с англ. автором

те по созданию параллельной версии модели общей циркуляции атмосферы (ОЦА) ИВМ РАН.

Модель ОЦА ИВМ РАН является инструментом для изучения современного климата Земли, его внутренней изменчивости и изменений под воздействием антропогенных внешних воздействий [12]. Модель решает систему уравнений гидротермодинамики атмосферы в форме Громеко-Лэмба в гидростатическом приближении. Прогностическими величинами являются скорость ветра, температура, приземное давление, относительная влажность; независимые переменные - широта, долгота, вертикальная а-координата. Дискретизация прогностических величин выполнена на "смещенной" С-сетке Аракавы. Интегрирование по времени осуществляется по полунеявной схеме. Модель включает в себя параметризации коротковолновой и длинноволновой радиации, пограничного слоя Земли, конвекции, крупномасштабной конденсации, растительности, почвы и снежного покрова. Программная реализация модели выполнена на языке Фортран 77.

Модель участвовала в международной программе сравнения атмосферных моделей AMIP [13, 14] и во многих других экспериментах [15, 16, 17, 18]. При этом большая часть расчетов проводилась либо на персональных компьютерах, либо на рабочих станциях. Типичные разрешения пространственной сетки модели 4 х 5, 2 х 2.5, 1 х 1.25 по широте и долготе, соответственно, и 21 уровень - по вертикали. Данная работа посвящена результатам адаптации модели к параллельной вычислительной системе с распределенной памятью.

Первая попытка такой адаптации была предпринята автором совместно с Уртминцевым А.Г. в 1995-96 гг. Распараллеливание проводилось на многопроцессорном комплексе МВС100, установленном в Институте прикладной математики им. М.В. Келдыша. Комплекс состоял из модулей, оснащенных процессорами І860ХР с тактовой частотой 40 MHz, используемыми для вычислений, и транспьютерами Т805 предназначенными для обмена данными. Пропускная способность каналов МВС100 составляла примерно 1 Мб в секунду, время латентности сообщений - 1 мс, а пиковая производительность всей системы - 100 Gflops. Тогда модель ОЦА имела пространственное разрешение 4 х 5 и 7 вертикальных уровней. Данные распреде-

лились по процессорам равномерными полосами по широте, а для решения уравнения Гельмгольца, возникающего при применении полунеявной схемы для интегрирования динамических уравнений модели, - конвейер2. В результате, на МВС100 было достигнуто ускорение 4 на 9 процессорах и дальнейшее увеличение количества процессоров не давало дополнительного ускорения.

Полученный параллельный код модели, к сожалению, не был востребован практически, отчасти, по причине не высокого ускорения, и не модифицировался, в то время, как последовательный вариант претерпел существенные изменения, в основном, в физических процедурах. Кроме того, пространственное разрешение модели было увеличено до 2 х 2.5 по горизонтали и 21 уровня по вертикали. Новая последовательная версия модели в 2001 г. была опять адаптирована к многопроцессорной машине, но на этот раз, - к кластерной системе МВСЮООМ, пиковая производительность которой составляет 1 TFlops.

Суперкомпьютер МВСЮООМ состоит из 6 базовых блоков, каждый из которых включает в себя 64 двухпроцессорных модуля. Модули собраны на базе процессоров Alpha21264A, 667 MHz и объединены высокоскоростной сетью Myrinet (2 Gbit/s), используемой только для межпроцессорных коммуникаций во время параллельных вычислений.

Также параллельная версия модели была адаптирована к SCI-кластеру НИВЦ МГУ, собранному на базе процессоров Pentium III, 500-550 MHz и высокоскоростной сетевой технологии SCI.

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

В 2001 г. параллельная версии атмосферной модели с разрешением 2 х 2.5 и 21 вертикальным уровнем показала ускорение 32 на 64 процессорах

2Идея построения конвейера была предложена А.В. Забродиным в личной беседе.

МВСЮООМ и 14 на 32 процессорах SCI-кластера НИВЦ МГУ.

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

Так, программа СНАММР, предпринятая Отделом энергетики Соединенных Штатов (US Department of Energy) в 1990 г. и расчитанная на 10 лет, преследовала в качестве основной цели создание нового поколения моделей климата, способных эффективно использовать высокопроизводительные суперкомпьютеры. В первоначальном плане [7] приводилась цифра 10 Tflops - такой должна была стать производительность совместной климатической модели к 2000 г. В достижении этой цели основную ставку планировалось сделать на массивно:параллельные системы, состоящие из большого числа (100-1000) относительно недорогих скалярных процессоров.

Наряду с вычислительными системами эволюционировали и применяемые в моделях алгоритмы. До недавнего времени основными методами численного интегрирования полных атмосферных уравнений были конечно-разностный, спектральный и полулагранжев методы [21, 22]. Также представляется весьма перспективным метод спектральных элементов [20].

Построенная NCAR, модель атмосферы COM2 [11], использующая спектральный метод для дискретизации основных прогностических уравнений и полулагранжеву схему переноса влаги, при горизонтальном разрешении Т170 с 18 вертикальными уровнями достигла производительности 3.18 Gflops на 1024 процессорах Paragon, и 2.27 Gflops - на 128 процессорах IBM SP2, что сравнимо с 5.3 Gflops, полученными на Cray С90/16.

Модель среднесрочного прогноза погоды MRF, созданная в NCEP, также основана на спектральном методе. Она используется индийским Национальным центром среднесрочного прогноза погоды (NCMRWF) в качестве оперативной с 1994 г. Первоначально, модель была распараллелена на вычислительной системе PARAM10000 вдоль широты [23]. Однако, двумерное распараллеливание по широте и долготе позволило достичь в два раза большего ускорения [24].

Применение парадигмы распределенной памяти в работе по адаптации глобальных атмосферных моделей к многопроцессорным кластерам

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

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

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

Научная новизна работы состоит в применении метода двумерной декомпозиции расчетной области по широте и долготе для распараллеливания модели ОЦА ИВМ РАН. Было показано, его преимущество по срав-

нению с одномерным разбиением. Проведено сравнение ускорения, полученного при применении явной и полунеявной схем для решения уравнений гидротермодинамики атмосферы конечно-разностным методом. Для уравнения Гельмгольца, возникающего в полунеявной схеме, испытаны итерационные методы. Ускорение, полученное для конечно-разностного метода сопоставлено с ускорением для спектрального метода. Модель океана ИВМ РАН реализована на параллельных вычислительных системах с общей памятью.

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

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

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

Третья глава содержит результаты адаптации моделей общей циркуляции атмосферы и океана ИВМ РАН к многопроцессорным ЭВМ с распределенной и общей памятью, соответственно.

В заключении кратко сформулированы основные результаты, полученные в диссертационной работе.

Результаты диссертации докладывались на научных семинарах ИВМ РАН, НИВЦ МГУ, а также на конференции The International Conference on Computational Science (ICCS 2002), проходившей в апреле 2002 г. в Амстердаме (Нидерланды).

Автор выражает глубокую признательность своему научному руково-

дителю академику Воеводину В.В., члену-корреспонденту РАН Лыкосо-ву В.Н., д.ф-м.н Володину Е.М. к.ф-м.н Фролову А.В. за помощь при работе над диссертацией.

Численные методы решения уравнений гидротермодинамики атмосферы

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

Фактически, каждый новый виток в развитии вычислительной техники давал "повод" для совершенствования моделей. На первых порах, это развитие происходило за счет замены электронных ламп транзисторами, затем, микросхемами, наконец, появились микропроцессоры, тактовая частота которых непрерывно возрастала, увеличивался также размер оперативной памяти ЭВМ и скорость доступа к ней.

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

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

Как правило, кластеры состоят из вычислительных узлов, соединенных высокоскоростной сетью (Myrinet, SCI, Fast Ethernet). Каждый узел имеет несколько (обычно, от 2 до 16) процессоров, адресующих общую память. Процессоры, принадлежащие различным узлам, способны обмениваться сообщениями через сеть. Построенная таким образом многоуров-невость аппаратного параллелизма выражается на программном уровне в применении парадигм (моделей) общей и разделенной памяти.

Первая модель программирования, в основе которой лежит предположение о равнозначности процессоров по отношению к общей памяти, реализуется стандартом ОрепМР [5], состоящего из набора директив и функций, "указывающих" компилятору фрагменты в программе, допускающие параллельную обработку. Руководствуясь ими, основная программа создает нити (threads), адресующие общую память, выполнение которых может осуществляться несколькими процессорами одновременно.

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

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

Проблема эффективной реализации программ на многопроцессорных вычислительных системах

Общепризнано, что распараллеливание программ с помощью MPI требует более существенных модификаций их последовательного кода и, как следствие, больших трудозатрат по сравнению с ОрепМР [19].

Обобщением этих двух моделей программирования является гибридное распараллеливание, использующее ОрепМР на нижнем уровне, внутри узлов, a MPI - для обменов данными между узлами.

Данная работа посвящена прикладным аспектам применения параллельных вычислений в задачах моделирования климата и численного прогноза погоды, основные принципы которого были сформулированы еще Ричардсоном в 1922 г, задолго до создания первых ЭВМ. Описанная им в [3] "фабрика прогноза" (forecast factory) должна была состоять из 64 тысяч вычислителей, производящих расчет погоды для всего Земного шара.

Представьте себе зал, похожий на театр, но с рядами и ложами, идущими по кругу и проходящими через то место, где обычно находится сцена. Стены этого зала разукрашены как карта земного шара. Потолок представляет из себя северные полярные области, Англия - там, где ложи верхнего яруса, тропики -где ложи нижнего яруса, Австралия - где бельэтаж, а Антарктида - где партер. Громадное количество вычислителей заняты работой: каждый расчитывает погоду в той части земного шара, где он сидит, отвечая за расчет одного уравнения или даже части уравнения. Работа каждого региона координируется чиновником более высокого ранга. Многочисленные светящиеся цифирки показывают мгновенные значения так, что соседние вычислители могут их читать. Каждая цифра светиться в три стороны, передавая свое значение на север и на юг. Из пола партера на половину высоты зала возвышается высокий столб, на конце которого - кабина, в которой находится человек, отвечающий за весь зал целиком. Он окружен несколькими помощниками и курьерами. Одна из его обязанностей - поддерживать постоянную скорость вычислений в различных частях земного шара. В этом отношении, он похож на дирижера оркестром, в котором инструментами являются логарифмические линейки и вычислительные машины, но вместо того, чтобы размахивать палочкой, он светит розовым лучом на те области, которые считают быстрее остальных, а синим - на отстающие области.1

В контексте сегодняшних многопроцессорных ЭВМ эти принципы известны как распределение вычислений между процессорами, обмены данными между ними, их равномерная загрузка. Все они имели применение в работе по созданию параллельной версии модели общей циркуляции атмосферы (ОЦА) ИВМ РАН.

Модель ОЦА ИВМ РАН является инструментом для изучения современного климата Земли, его внутренней изменчивости и изменений под воздействием антропогенных внешних воздействий [12]. Модель решает систему уравнений гидротермодинамики атмосферы в форме Громеко-Лэмба в гидростатическом приближении. Прогностическими величинами являются скорость ветра, температура, приземное давление, относительная влажность; независимые переменные - широта, долгота, вертикальная а-координата. Дискретизация прогностических величин выполнена на "смещенной" С-сетке Аракавы. Интегрирование по времени осуществляется по полунеявной схеме. Модель включает в себя параметризации коротковолновой и длинноволновой радиации, пограничного слоя Земли, конвекции, крупномасштабной конденсации, растительности, почвы и снежного покрова. Программная реализация модели выполнена на языке Фортран 77.

Модель участвовала в международной программе сравнения атмосферных моделей AMIP [13, 14] и во многих других экспериментах [15, 16, 17, 18]. При этом большая часть расчетов проводилась либо на персональных компьютерах, либо на рабочих станциях. Типичные разрешения пространственной сетки модели 4 х 5, 2 х 2.5, 1 х 1.25 по широте и долготе, соответственно, и 21 уровень - по вертикали. Данная работа посвящена результатам адаптации модели к параллельной вычислительной системе с распределенной памятью.

Первая попытка такой адаптации была предпринята автором совместно с Уртминцевым А.Г. в 1995-96 гг. Распараллеливание проводилось на многопроцессорном комплексе МВС100, установленном в Институте прикладной математики им. М.В. Келдыша. Комплекс состоял из модулей, оснащенных процессорами І860ХР с тактовой частотой 40 MHz, используемыми для вычислений, и транспьютерами Т805 предназначенными для обмена данными. Пропускная способность каналов МВС100 составляла примерно 1 Мб в секунду, время латентности сообщений - 1 мс, а пиковая производительность всей системы - 100 Gflops. Тогда модель ОЦА имела пространственное разрешение 4 х 5 и 7 вертикальных уровней. Данные распределились по процессорам равномерными полосами по широте, а для решения уравнения Гельмгольца, возникающего при применении полунеявной схемы для интегрирования динамических уравнений модели, - конвейер2. В результате, на МВС100 было достигнуто ускорение 4 на 9 процессорах и дальнейшее увеличение количества процессоров не давало дополнительного ускорения.

Параллельная реализация конечно-разностного динамического блока

Полученный параллельный код модели, к сожалению, не был востребован практически, отчасти, по причине не высокого ускорения, и не модифицировался, в то время, как последовательный вариант претерпел существенные изменения, в основном, в физических процедурах. Кроме того, пространственное разрешение модели было увеличено до 2 х 2.5 по горизонтали и 21 уровня по вертикали. Новая последовательная версия модели в 2001 г. была опять адаптирована к многопроцессорной машине, но на этот раз, - к кластерной системе МВСЮООМ, пиковая производительность которой составляет 1 TFlops.

Суперкомпьютер МВСЮООМ состоит из 6 базовых блоков, каждый из которых включает в себя 64 двухпроцессорных модуля. Модули собраны на базе процессоров Alpha21264A, 667 MHz и объединены высокоскоростной сетью Myrinet (2 Gbit/s), используемой только для межпроцессорных коммуникаций во время параллельных вычислений.

Также параллельная версия модели была адаптирована к SCI-кластеру НИВЦ МГУ, собранному на базе процессоров Pentium III, 500-550 MHz и высокоскоростной сетевой технологии SCI.

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

В 2001 г. параллельная версии атмосферной модели с разрешением 2 х 2.5 и 21 вертикальным уровнем показала ускорение 32 на 64 процессорах МВСЮООМ и 14 на 32 процессорах SCI-кластера НИВЦ МГУ. Аналогичные работы, направленные на построение параллельных климатических моделей проводились зарубежом.

Так, программа СНАММР, предпринятая Отделом энергетики Соединенных Штатов (US Department of Energy) в 1990 г. и расчитанная на 10 лет, преследовала в качестве основной цели создание нового поколения моделей климата, способных эффективно использовать высокопроизводительные суперкомпьютеры. В первоначальном плане [7] приводилась цифра 10 Tflops - такой должна была стать производительность совместной климатической модели к 2000 г. В достижении этой цели основную ставку планировалось сделать на массивно:параллельные системы, состоящие из большого числа (100-1000) относительно недорогих скалярных процессоров.

Наряду с вычислительными системами эволюционировали и применяемые в моделях алгоритмы. До недавнего времени основными методами численного интегрирования полных атмосферных уравнений были конечно-разностный, спектральный и полулагранжев методы [21, 22]. Также представляется весьма перспективным метод спектральных элементов [20].

Построенная NCAR, модель атмосферы COM2 [11], использующая спектральный метод для дискретизации основных прогностических уравнений и полулагранжеву схему переноса влаги, при горизонтальном разрешении Т170 с 18 вертикальными уровнями достигла производительности 3.18 Gflops на 1024 процессорах Paragon, и 2.27 Gflops - на 128 процессорах IBM SP2, что сравнимо с 5.3 Gflops, полученными на Cray С90/16.

Модель среднесрочного прогноза погоды MRF, созданная в NCEP, также основана на спектральном методе. Она используется индийским Национальным центром среднесрочного прогноза погоды (NCMRWF) в качестве оперативной с 1994 г. Первоначально, модель была распараллелена на вычислительной системе PARAM10000 вдоль широты [23]. Однако, двумерное распараллеливание по широте и долготе позволило достичь в два раза большего ускорения [24].

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

Реализация модели общей циркуляции океана ИВМ РАН на многопроцессорных ЭВМ с общей памятью

Ускорение алгоритма обычно определяют как отношение времени счета последовательного алгоритма на одном процессоре к времени счета параллельного либо как отношение времени счета быстрейшего последовательного алгоритма на одном процессоре к времени счета параллельного [1, 38]. Мы будем пользоваться первым определением, оговаривая особо те случаи, когда время работы последовательной программы значительно отличается от времени работы параллельной на одном процессоре. Также целесообразно ввести понятие эффективности как отношения ускорения к количеству процессоров на котором оно достигнуто [1, 38]. Как правило, эффективность выражается в процентах. Стопроцентная эффективность соответствует идеальному ускорению. Известны случаи, когда эффективность превышает 100%, например, вследствии роста эффективности кэширования данных.

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

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

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

Большая часть современных климатических моделей численно интегрируют нелинейные системы уравнений в частных производных типа Навье-Стокса, описывающих движение жидкости или газа. Одна из таких систем, включающих в себя приближение гидростатики по вертикальной координате, была нами сформулирована в разделе 1.1 предыдущей главы. Кроме процедур, осуществляющих интегрирование уравнений модели содержат параметризации физических процессов подсеточного масштаба. Соответствующие блоки в моделях условно принято называть динамическим и физическим блоками. Как будет показано в Главе 3, физический блок модели ОЦА ИВМ производит вычисления, обладающие значительной степенью параллелизма в горизонтальной плоскости, поэтому его параллельная реализация, не представляет трудности. Эта ситуация типична для большинства глобальных атмосферных моделей.

В данной же главе мы остановимся подробно на способах распараллеливания динамических блоков глобальных атмосферных моделей, которые мы будем также называть атмосферными динамическими ядрами (dynamical cores). В частности, нами будут рассмотрены два метода: метод конечных разностей на сдвинутой С-сетке Аракавы и спектральный метод, описание которых дано в разделе 1.2.

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

В [25] было показано, что выбор численной схемы мало влияет на статистические характеристики воспроизводимых течений. При этом поверхность Земли предполагалась гладкой (без орографии), интегрирование моделей осуществлялось на длительный период времени.

Данный раздел посвящен описанию коммуникационных процедур, используемых тестовыми атмосферными динамическими блоками и параллельной версией модели ОЦА ИВМ РАН, описанных в разделах 2.3, 2.4 и 3.1.

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

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

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

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