Вычислительные технологии
Том 11, Специальный выпуск, 2006
ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛЕНИЯ В ИВТ СО РАН
Ю.И. Шокин, М.П. Федорук, Д.Л. Чубаров, A.B. Юрченко Институт вычислительных технологий СО РАН, Новосибирск, Россия e-mail: shokin@ict.nsc.ru, mife@ict.nsc.ru
A review of the current state and the future developments of the high performance informational resources in the ICT SB RAS is presented.
Введение
Одним из ключевых направлений деятельности Института вычислительных технологий СО РАН (ИВТ СО РАН) является применение вычислительных технологий и методов математического моделирования для решения актуальных прикладных и фундаментальных научных задач. В Институте получены принципиально новые результаты по таким направлениям исследований, как математическое моделирование и вычислительный эксперимент, экология, совершенствование безопасности систем и объектов и др.
В настоящее время в Институте развиваются направления: разработка и исследование оригинальных алгоритмов построения разностных сеток и создание универсальных криптографических кодов [1], численное моделирование пространственных течений жидкости и газа для проектирования перспективных аэрогидродинамических установок [2], применение методов математического моделирования для оптимизации сверхскоростных волоконно-оптических линий связи [3], решение задач горения в пористых средах и моделирование процессов генерации пучков быстрых ионов при взаимодействии коротких лазерных импульсов с тонкой фольгой [4], исследование свободных турбулентных течений [5], неравновесных физико-химических процессов в молекулярных и многокомпонентных газах и гидродинамических неустойчивостей в линейных плазменных системах [6], построение численных моделей катастрофических волн в океане и оценка воздействия этих волн на прибрежные зоны [7]. Решение этих задач требует использования современной высокопроизводительной вычислительной техники.
В данной статье отражены основные результаты исследований ИВТ СО РАН в области применения высокопроизводительных вычислительных систем для решения научных и исследовательских задач, обозначены некоторые перспективы их дальнейшего развития и планы на ближайшее будущее.
© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2006.
1. Задачи и проблемы
Активное развитие и внедрение в 90-е годы 20-го века персональной вычислительной техники и средств разработки программного обеспечения, их применение для решения научно-исследовательских задач позволили существенно упростить и ускорить как процессы написания и отладки расчетных программ, так и проведение вычислительных экспериментов. При этом вычислительные мощности и ресурсы, предоставляемые персональными рабочими станциями (РС), практически удваивались каждые полтора-два года, что позволяло исследователям применять при численном моделировании все более сложные, в том числе нелинейные и многомерные, математические модели.
С другой стороны, программное обеспечение современных РС содержит мощные математические пакеты, специализированные средства визуализации научных данных, средства их обработки и анализа, а также развитые инструменты для подготовки публикаций. В результате имеется возможность организовывать на РС полноценный рабочий процесс по разработке моделей и численных методов, проектированию, созданию и отладке программных комплексов, проведению вычислительных экспериментов, визуализации результатов расчетов и их анализу.
Использование персональных РС позволяет исследователям самостоятельно распределять вычислительные ресурсы, устанавливать очередность запуска задач по их приоритету, выполнять отладку программного кода, а в случае возникновения системного сбоя производить перезагрузку системы. Однако повышение требований к полноте используемых моделей, к точности и скорости расчетов приводит к тому, что ресурсов, предоставляемых самыми современными РС, начинает не хватать.
Переход к использованию больших вычислительных комплексов значительно расширяет возможности исследователя, однако он не является тривиальной задачей. Для того чтобы полноценно использовать предоставляемые многопроцессорными комплексами вычислительные мощности, требуется освоить новую технику, научиться учитывать ее особенности, овладеть методами разработки и реализации параллельных алгоритмов.
Необходимость проведения расчетов на высокопроизводительных вычислительных системах назрела в ИВТ СО РАН давно. Решаемые сотрудниками Института задачи, разрабатываемые и применяемые при этом математические модели требовали вычислительных ресурсов, которые не покрывались мощностями РС.
Решение проблемы обеспечения сотрудникам возможности применения высокопроизводительных вычислительных систем в научной деятельности идет по пути развития связей с существующими вычислительными центрами в России и за рубежом и обеспечения доступа к имеющимся в этих вычислительных центрах высокопроизводительным комплексам. Крупные вычислительные центры располагают вычислительными ресурсами, покрывающими текущие потребности большинства пользователей. Высокая степень централизации ресурсов позволяет оптимизировать затраты на обслуживание компьютерной техники и более эффективно использовать имеющееся программное обеспечение.
Однако для проведения численных расчетов пользователям вычислительных комплексов необходимо разработать соответствующий программный продукт, адаптированный к особенностям архитектуры вычислительного комплекса, провести отладку кода, его анализ и усовершенствование с точки зрения производительности и надежности, а специфика проведения численных экспериментов в области математического моделирования требует дальнейшего анализа и визуализации результатов расчетов. При решении таких задач проявляются преимущества собственного вычислительного комплекса — близость к поль-
зователям как самого комплекса, так и его администраторов и, как следствие, возможность гибкого и оперативного реагирования па меняющиеся потребности пользователей, с одной стороны, а с другой — интеграция с локальными системами хранения и обработки данных.
Особенно важно наличие собственного вычислительного комплекса в период перехода от применения в расчетах исключительно персональных PC и последовательного кода к созданию параллельных программ и использованию ресурсов с коллективным доступом. Это открывает возможность, во-первых, проведения при необходимости собственных образовательных мероприятий — от единичных семинаров до полноценных курсов и школ с приглашением квалифицированных специалистов, во-вторых, самостоятельно определять политику доступа в зависимости от текущих потребностей, выполнять задачи как в пакетном, так и в интерактивном режиме, оперативно изменять конфигурации системного программного обеспечения.
Развивать собственный ресурс, сопоставимый по вычислительной мощности с суперкомпьютерами больших вычислительных центров, нерационально. Поэтому в Институте одновременно реализуются оба описанных пути: укрепляются связи с суперкомпьютерными центрами и развивается собственная вычислительная база.
Проектирование собственного вычислительного комплекса осуществляется исходя из таких задач, как обеспечение сотрудников возможностью экспериментировать с написанием новых параллельных программ и распараллеливанием существующих, в том числе производить отладку и анализ производительности параллельного кода. При этом учитывается, что пользователям, возможно, придется проводить основные расчеты на вычислительных комплексах различной архитектуры, построенных на различных платформах. Поэтому желательно, чтобы локальный вычислительный комплекс интегрировал ресурсы с различными типами параллелизма, в частности, позволял реализовывать модели как с общей, так и с распределенной памятью, а также гибридные архитектуры. Кроме того, необходимо учитывать, что обслуживание вычислительного ресурса не должно быть слишком трудоемким, а на всех этапах его использования сотрудниками Института необходимо оперативно оказывать им поддержку в освоении и наиболее эффективном использовании предоставляемых им ресурсов.
При сотрудничестве с большими вычислительными центрами важны не только удаленное использование имеющихся у них вычислительных комплексов, проведение совместных мероприятий, в том числе образовательного характера, но и возможность стажировки и обучения сотрудников непосредственно в самом вычислительном центре.
2. Вычислительный комплекс ИВТ СО РАН
В ИВТ СО РАН создаются условия, позволяющие сотрудникам осваивать новые технологии по применению высокопроизводительных вычислительных комплексов в их научно-исследовательской деятельности. В 2004 году в Институте был установлен и введен в эксплуатацию собственный вычислительный комплекс. В состав комплекса входят один управляющий и четыре вычислительных узла, которые объединены сетью стандарта IEEE 802.3ab (Gigabit Ethernet) на основе неуправляемого коммутатора 3Com ЗС17401. Узлы построены на базе платформы Intel SE7501 и оснащены процессорами Pentium 4 Xeon с тактовой частотой 3.06 ГГц и оперативной памятью объемом 2 Гбайт. Таким образом, вычислительная часть комплекса имеет восемь процессоров, и ее пиковая производитель-
ность составляет приблизительно 49 Гфлопс. Управляющий узел соединен с локальной сетью Института каналом Fast Ethernet (100 Мбит/с).
Вычислительный комплекс работает под управлением операционной системы RedHat Linux 9.0 и системы распределения задач и управления очередями Sun N1GE 6. Компиляция программного кода, написанного на языках Фортран, Си и Си++, производится на управляющем узле, для чего установлено несколько альтернативных версий компиляторов: GNU С, С++, F77 версии 3.2.2, Intel C/C++, F77, F9x версий 8.1, 9.1 (некоммерческая лицензия). Семейство компиляторов Intel имеет поддержку многопоточного программирования в стандарте ОрепМР. На комплексе установлены пакеты MPICH версий 1.2.5 и 1.2.7 и MPICH2 версии 1.0 для поддержки моделей параллельного программирования на основе передачи сообщений в соответствии со стандартами MPI и MPI2. Кроме того, установлены отладчик параллельных программ MARMOT и анализатор производительности кода Valgrind, математические пакеты и библиотеки ATLAS, FFTW, Intel MKL (некоммерческая лицензия).
Таким образом, комплекс представляет собой вычислительную систему гибридной архитектуры. Реальная производительность вычислительной системы, согласно результатам тестов на пакете Linpack, составляет более 30 Гфлопс (эффективность не менее 62.5%).
Первый опыт использования установленного в Институте вычислительного комплекса связан с решением последовательных задач, когда комплекс использовался как своеобразный пул высокопроизводительных процессоров. В этом случае важные преимущества комплекса перед персональными PC — это его надежность при работе в круглосуточном режиме и обеспечение бесперебойности питания.
По мере повышения квалификации пользователей появлялись проекты по созданию параллельных реализаций расчетных программ. Кроме того, наличие собственного вычислительного комплекса стимулировало создание среды для обмена повседневным опытом работы и совместного решения однотипных технических задач использования вычислительной техники. Накопленный опыт реализуется в конкретных проектах, выполняемых сотрудниками института, а комплекс используется как для запуска ресурсоемких последовательных расчетов, так и для создания, отладки и анализа производительности параллельных программ.
При переходе на новую вычислительную платформу возникают технические вопросы, связанные с переносимостью программ и их окружения, особенностями использования оптимизирующих компиляторов на различных платформах, сложностью установки и запуска параллельных программ по сравнению с последовательными. Однако открывающиеся при этом перспективы стоят прилагаемых к разрешению этих вопросов усилий.
Так, в 2004 году коллективом научных сотрудников Института разработан комплекс программ для оптимизации формы рабочего колеса гидротурбин [8] (рис. 1). В основу комплекса положены выполненные ранее работы по моделированию трехмерных течений идеальной несжимаемой жидкости с помощью алгоритма искусственной сжимаемости [4]. Для решения задачи многопараметрической оптимизации применен многоцелевой генетический алгоритм, для которого разработана параллельная реализация, предназначенная для работы на вычислительном комплексе с распределенной памятью. Благодаря использованию институтского многопроцессорного вычислительного комплекса время расчета сократилось с 3-5 суток до 17-22 ч при том же уровне точности и детализации.
Параллельная реализация вызвала особый интерес у инженеров-проектировщиков гидротурбин, поскольку в условиях конструкторского бюро ускорение обсчета модельных конфигураций позволяет повысить эффективность работы. Сотрудничество с производи-
Рис. 1. Линии тока на рабочей стороне лопасти рабочего колеса: исходная лопасть (а) и лопасть, полученная в результате оптимизации (выравнивания) линий тока (6).
Рис. 2. Рассчитанное поле температур в камере сгорания подушек безопасности.
телями оборудования и развитие комплекса программ продолжаются и в настоящее время, а вычисления проводятся как на вычислительном комплексе Института, так и на ресурсах, предоставляемых заказчиками.
Партнерство с потребителями технологических решений, разрабатываемых в Институте, интересно не только с финансовой точки зрения. Апробация на практике и сравнение с экспериментом разработанных моделей и методов, получаемая таким образом обратная связь — это важные стимулы для любого исследователя.
Другим проектом, интересным для промышленных заказчиков, является численное моделирование процесса раскрытия подушек безопасности, применяемых в автомобилестроении. Для ИВТ СО РАН данный проект ценен еще и тем, что это пример плодотворного сотрудничества с крупным зарубежным вычислительным центром. В ИВТ СО РАН разработана численная методика моделирования газодинамических процессов, протекающих в камере сгорания твердотопливного газогенератора устройств автомобильной безопасности, на основе трехмерных нестационарных уравнений Навье — Стокса [9] (рис. 2). С помощью специалистов из Штутгартского центра высокопроизводительных вычислений (HLES — The High Performance Computing Center in Stuttgart, Германия) выполнена параллельная реализация алгоритма решения уравнений. При этом для отладки программы применялся разрабатываемый в HLES пакет MARMOT [10], предназначенный для анализа и проверки параллельных программ, использующих интерфейс MPI. Данной разработкой заинтересовались крупные автопроизводители.
3. Образовательные проекты.
Цели, результаты, перспективы
Институт вычислительных технологий СО РАН имеет давние и тесные связи с Штутгартским центром высокопроизводительных вычислений, в котором сотрудники Института проходят обучение и стажировку, выполняют расчеты с использованием мощных суперкомпьютеров. Важным этапом в развитии взаимоотношений с HLRS стало проведение в 2003 году в Институте первого Российско-германского совещания по перспективным исследованиям в вычислительных науках и высокопроизводительных вычислениях, где принято решение о создании Российско-германского центра вычислительных технологий и высокопроизводительных вычислений. Среди основных задач центра обозначены организация и проведение ежегодных совещаний Российско-германской рабочей группы по вычислительным и информационным технологиям и ежегодных Российско-германских школ по параллельным вычислениям на высокопроизводительных вычислительных системах. Сейчас организация и проведение таких школ — это важные направления деятельности Института и центра.
Основными задачами школы являются подготовка специалистов в области высокопроизводительных вычислений и параллельного программирования. Слушатели школы получают базовые представления об особенностях современных высокопроизводительных систем, знания и навыки по параллельному программированию на многопроцессорных системах с распределенной и общей памятью, а также гибридных вычислительных комплексах, о методах создания параллельных программ с использованием MPI и ОрепМР. Лекции и практические занятия в школе проводят квалифицированные специалисты из HLRS, имеющие богатый опыт как в создании параллельных программ и использовании суперкомпьютеров, так и в разработке новых стандартов для параллельного программирования и сопутствующего программного инструментария. Школа ориентирована в первую очередь на молодых сотрудников институтов СО РАН и является мощным инструментом для развития высокопроизводительных вычислений как в ИВТ СО РАН, так и в других институтах Сибирского отделения РАН.
Проведение Первой школы совпало с реализацией планов по установке собственного многопроцессорного вычислительного комплекса, и к моменту, когда комплекс был введен в эксплуатацию, в Институте уже имелись специалисты, получившие базовые навыки по
использованию многопроцессорных вычислительных систем с коллективным доступом. Во время Второй школы, проводившейся в 2005 году, особое внимание было уделено средствам повышения эффективности разработки параллельных программ — инструментарию для отладки и анализа производительности. Число слушателей существенно расширилось — в работе школы приняли участие представители Новосибирского, Томского, Кемеровского и Иркутского научных центров СО РАН, а также Республики Казахстан.
Взаимный обмен опытом, совместное решение вопросов и проблем, возникавших в исследовательской деятельности слушателей, образование новых связей между представителями различных научных центров и институтов послужили началом формирования новой научной среды — своеобразного распределенного коллектива специалистов по параллельному программированию и высокопроизводительным вычислениям, состоящего в основном из молодых научных сотрудников и администраторов вычислительных ресурсов. Большая часть слушателей Школы-2005 приняла участие в работе школы и в 2006 году, что подтверждает актуальность школы, ее востребованность и достаточно высокий уровень с точки зрения как организации, так и качества представляемых материалов, их современности и своевременности.
В работе Третьей Российско-германской школы по параллельному программированию, завершившейся осенью 2006 года, приняли участие более сорока молодых ученых, студентов и аспирантов, в том числе один участник из Республики Беларусь. При подготовке школы в Институте был оснащен новый компьютерный класс, а во время ее проведения успешно опробована технология лекций в режиме видеоконференции.
Учебные курсы школы каждый год дополняются материалами о новых вычислительных технологиях и методиках. В 2006 году в курс впервые включены новые материалы, касающиеся стандарта параллельного программирования МР1-2. Кроме того, на Третьей школе организована научная сессия, на которой слушателям была предоставлена возможность выступить с собственными докладами. В 2007 году планируется проведение Четвертой школы по параллельным вычислениям, содержание которой во многом будет зависеть и от того, какие новые задачи будут стоять перед коллективом пользователей вычислительного комплекса ИВТ СО РАН и институтом в целом.
Проведение в Институте ежегодной Российско-германской школы по параллельным вычислениям стало существенным стимулом для освоения сотрудниками Института, особенно молодыми, науки параллельного программирования и показало наличие широких перспектив по применению высокопроизводительной вычислительной техники в научно-исследовательской деятельности Института. В организации и проведении школы участвуют многие молодые сотрудников Института, аспиранты и магистранты базирующихся в ИВТ СО РАН кафедр, которые пополняют впоследствии ряды пользователей, имеющих практический опыт параллельного программирования. В результате круг пользователей вычислительного комплекса Института постоянно обновляется и растет, повышается и их квалификация, осваиваются новые технологии программирования, что позволяет более эффективно использовать новые возможности, предоставляемые современной вычислительной техникой.
Одним из примеров успешного освоения техники параллельного программирования и применения ее к решению текущих задач можно назвать работу по созданию параллельного алгоритма решения нестационарных уравнений Максвелла методом конечных объемов, основанного на методе декомпозиции областей [11]. Задача связана с проблемой численного моделирования современных оптических приборов па основе волоконных световодов, что является одним из наиболее актуальных направлений развития современных теле-
24
Ю.И. IЦокни. М.П. Федорук, Д. Л. Чубаров, А. В. Юрченко
П = 80 —1— 1
П = 160 —-к—
П = 640 --*--
П = 320 ........в.......
ИПеаг эрееСир ---------
-
■Л
лФ^ -
2 3
ПрГООЭ
16 р
14 -
12
10 -
8 -
6
4
2
0 0
П = 640 —I— П = 320 —-к—-П = 160 --*--
П = 80 ........а........
Ипэаг эрееСир ----------
6 8 Пргооэ
4
3
2
0
0
4
5
2
4
10
12
14
Рис. 3. Ускорение при расчете на двух, трех, четырех и пяти процессорах при различных размерах сетки, полученное на кластере ИВТ СО РАН (а) и ускорение при расчете на двух, пяти, десяти и пятнадцати процессорах при различных размерах сетки, полученное на кластере НЬКЭ (б).
коммуникационных систем. Для данной задачи экспериментально исследованы вопросы эффективности применения многопроцессорных вычислительных комплексов.
Эксперименты показали хорошее ускорение при использовании институтского вычислительного комплекса, а тестовые расчеты, выполненные на кластере Штутгартского центра высокопроизводительных вычислений, показали, что ускорение сохраняется и при дальнейшем увеличении числа используемых процессоров (рис. 3). При этом замечены эффекты, указывающие на недостаточную устойчивость полученного ускорения при переносе алгоритма с одной платформы на другую. Тем самым можно сделать вывод о перспективности дальнейшей работы по совершенствованию алгоритма.
Заключение
По мере увеличения числа пользователей кластера наблюдается рост потребностей в вычислительных ресурсах. Для решения этой проблемы планируется расширение вычислительного комплекса ИВТ СО РАН, а также более активное использование при продолжительных интенсивных расчетах вычислительных ресурсов центров коллективного пользования. Следует отметить, что перенос программ для проведения массовых расчетов за пределы вычислительного центра Института связан с рядом трудностей, обусловленных более жестким регламентом вычислительных центров, длинными очередями задач, а также необходимостью принятия специальных мер для охраны интеллектуальной собственности сотрудников Института и их промышленных партнеров. В соответствии с этими соображениями развитие вычислительного комплекса Института планируется в направлении создания единой системы для разработки и отладки параллельных программ, предрасчетной подготовки данных, анализа результатов расчетов и визуализации. Для этого на основе существующего вычислительного кластера будет создан новый вычислительный комплекс систем различной архитектуры с возможностью объединения ресурсов для решения особенно трудоемких задач.
В ближайшие планы Института входят доукомплектование и введение в эксплуатацию комплекса с двумя вычислительными платформами. Первая платформа будет включать пять двухпроцессорных узлов на платформе Intel IA32 из состава существующего вычислительного кластера, вторая платформа — шестнадцатиядерный сервер с общей памятью и вычислительные узлы с двухъядерными процессорами AMD по четыре ядра на узел. Все элементы системы будут подключены к общему коммутатору, обеспечивающему передачу данных со скоростью 1 Гбит/с.
Ожидается, что пиковая производительность вычислительного комплекса составит более 200 Гфлопс, а реальная — не менее 140 Гфлопс, что существенно расширит возможности сотрудников Института по проведению ресурсоемких расчетов, позволяя использовать более сложные математические модели и увеличить точность расчетов. Использование шестнадцатиядерного сервера с общей памятью позволит объединить в рамках одной вычислительной системы несколько функций, таких как доступ к массивам данных и решение задач, требующих динамической балансировки загрузки ресурсов, например обращение плотных матриц, аналитическая обработка изображений, анализ криптостой-кости шифров, визуализация и статистический анализ данных. Объединение различных функций в рамках одной вычислительной системы будет обеспечиваться применением технологий виртуализации.
Список литературы
flj Рябко Б.Я., Монарев В.А., Шокин Ю.И. Новый класс статистических тестов и его применение в задачах криптографии // Математика и безопасность информационных технологий: Сб. трудов. М.: Изд-во МЦНМО, 2005. С. 211-220.
[2J Cherny S.G., Sharov S.V., Skorospelov V.A., Turuk P.A. Methods for three-dimensional flows computation in hydraulic turbines // Russ. J. Numer. Anal. Math. Modelling. 2003. Vol. 18, N 2. P. 87-104.
[3] Штырина О.В., Турицын С.К., Федорук М.П. Исследование волоконно-оптических линий связи с оптической регенерацией сигналов // Квантовая электроника. 2005. Т. 35, № 2. С. 169-174.
[4J Bychenkov V.Yu., Dudnikova G.I., Vshivkov V.A. Computer simulation of particle acceleration in thin foil by ultra short laser pulses // Computer Phys. Communication. 2004. Vol. 164. P. 459-463.
[5j Grebenev N.V., Chernykh G.G. Invariant manifolds in parametric turbulence model // Revista de Matematica: Teoria у Aplicationes. 2004. Vol. 11, N 2. P. 1-23.
[6j Grigoryev Yu.N., Gorobchuk A.G. Physical-chemical hydrodynamics and optimization of plasma-chemical reactors for silicon etching // Proc. XII Intern. Conf. on Methods Aerophys. Research (ICMAR). Pt II. Novosibirsk, 2004. P. 83-88.
[7j Федотова З.И., Чубаров Л.В., Шокин Ю.И. Моделирование поверхностных волн, порожденных оползнями // Вычисл. технологии. 2004. Т. 9, № 6. С. 89-96.
[8J Лобарева И.Ф., Черный С.Г., Чирков Д.В. и др. Многоцелевая оптимизация формы лопасти гидротурбины // Вычисл. технологии. 2006. Т. 11, № 5. С. 63-76.
[9] Rychkov A.D., Shokina N., Boenisch Т. et al. Parallel numerical modelling of gas-dynamic processes in airbag combustion chamber // Proc. 2nd Russian-German Workshop. Germany, Stuttgart, 2005. P. 29-39.
flOj Krammer В., Müller M.S., Resch M.M. MPI application development using the analysis tool MARMOT // Proc. Comp. Sei. - ICCS 2004, LNCS 3038. 2004. P. 464-471.
[11] Прокопьева Л. Параллельная реализация метода конечных объемов для решения нестационарных уравнений Максвелла на неструктурированной сетке // Тр. VII Всерос. конф. молодых ученых по мат. моделированию и информационным технологиям. 2006. С. 26-27.
Поступила в редакцию 21 ноября 2006 г.