Текст сообщения, представленного на семинаре
"Высокопроизводительные параллельные вычисления на кластерных системах"
(Нижний Новгород, ноябрь 2001 г.)


Введение

Цель данного сообщения - рассказать о создаваемом в Московском Государственном Университете учебно-научном центре по высокопроизводительным вычислениям и различных направлениях деятельности в этой области. В 2000-2001 годах при поддержке ФЦП "Интеграция", РФФИ и ректората МГУ в Московском Университете создан уникальный и на сегодняшний день самый мощный среди вузов России вычислительный центр. Комбинация вычислительных мощностей с накопленным опытом в области использования высокопроизводительной техники и теоретическими исследованиями в области параллельных вычислений позволяет обеспечить полноценную среду поддержки фундаментальных научных исследований и высшего образования, а также экспериментальный полигон для разработки и апробирования кластерных технологий.

Информационно-аналитический центр по параллельным вычислениям Parallel.Ru

Коллектив лаборатории Параллельных информационных технологий НИВЦ МГУ уже много лет работает в области параллельных вычислений и супер-ЭВМ. Мы достаточно хорошо представляем данную предметную область, знакомы со многими коллективами и отдельными учеными, работающими в данной области, участвуем в совместных проектах. На этой основе в мае 1998 года мы создали страничку по параллельным вычислениям в сети Интернет, в дальнейшем выросшую в Информационно-аналитический Центр PARALLEL.RU. В 1999 году работа Центра была поддержана Российским фондом фундаментальных исследований (РФФИ). Тематика Центра охватывает следующие разделы предметной области: обзор новостей мира высокопроизводительных вычислений, описание архитектур компьютеров, технологии параллельного программирования, задачи, решаемые на суперкомпьютерах, обзор источников информации в данной области, списки конференций по данной тематике, списки крупнейших суперкомпьютерных центров, информация о российских ресурсах в данной области, очерки по истории высокопроизводительных вычислений и многое другое. Задача, которая ставилась нами в самом начале - структуризация предметной области и построение справочника на базе HTML, практически выполнена. Задача-максимум для PARALLEL.RU состоит в создании полноценной энциклопедии предметной области на основе веб-технологий, что требует привлечения к проекту гораздо большего числа авторов, специалистов в отдельных областях. Другая задача Центра - это создание среды для постоянного общения и взаимодействия российских специалистов по параллельным вычислениям и пользователей высокопроизводительных вычислительных ресурсов. Собирается информация о российских персоналиях и организациях, вовлеченных в данную деятельность, поддерживается "карта российских проектов". Организована рассылка по электронной почте новостей Центра и мира высокопроизводительных вычислений, охватывающая все основные коллективы России и ближнего зарубежья, занимающиеся данной тематикой (на октябрь 2001 года более 1600 подписчиков). Функционирует дискуссионный клуб, в котором обсуждаются все интересующие вопросы данной тематики, оказывается информационная поддержка научных конференций, семинаров и других мероприятий вокруг тематики параллельных вычислений. На базе Центра реализуются элементы дистанционного обучения. Кроме предоставления учебных материалов и заданий, разработаны также варианты интерактивного взаимодействия с обучаемыми, такие как онлайн-тестирование, сдача зачета через Интернет и другие. В 1999 году был проведен пробный конкурс по параллельному программированию для студентов ведущих российских ВУЗов.

Вычислительные ресурсы Центра МГУ

В феврале 2000 года в НИВЦ МГУ был установлен первый вычислительный кластер, оборудование для которого было закуплено частично за счет ФЦП "Интеграция", частично за счет собственных средств НИВЦ. Этот кластер состоял из 12 двухпроцессорных ПК-серверов российской сборки (компании "Инел"). Использование двухпроцессорных узлов считается более эффективным по технологическим и экономическим соображениям по сравнению с одно- и четырехпроцессорными узлами. При проектировании кластера с учетом технических требований и имеющихся средств рассматривалось несколько вариантов построения коммуникационной сети, в том числе Fast Ethernet, Gigabit Ethernet, Myrinet и SCI. В результате оценки имеющихся данных по цене, надежности программного обеспечения и производительности этих технологий, была выбрана технология SCI (Scalable Coherent Interface), несмотря на то, что стоимость коммуникационного оборудования в расчете на один узел (1700 долларов США) превосходила стоимость самого вычислительного узла (1300 долларов). Для построения коммуникационной сети были закуплены программно-аппаратные комплекты Wulfkit производства норвежских компаний Dolphin Interconnect Solutions (сетевые адаптеры) и Scali Computer (программное обеспечение). Технология SCI отличается от других тем, что не использует специальных коммутаторов, а узлы кластера объединяются в топологию "двухмерного тора", состоящего из однонаправленных колец SCI. При такой организации сети каждый узел имеет по 2 входящих и выходящих канала SCI с очень высокой скоростью передачи и присутствует одновременно в двух кольцах. Мы благодарим за помощь при установке и настройке программного обеспечения московский Научно-исследовательский центр электронно-вычислительной техники (НИЦЭВТ), который является пионером в использовании SCI-кластеров в России, и лично сотрудников НИЦЭВТ К.А.Ларионова и Л.К.Эйсымонта.

При дальнейшем расширении аппаратных ресурсов в начале 2001 года мы сочли необходимым учесть потребности наших пользователей и провели среди них опрос - какие компоненты нужно нарастить в первую очередь? По результатам этого опроса был увеличен объем оперативной памяти на всех узлах до 1 Гбайта и увеличено количество узлов. Таким образом, кластер SCI в настоящее время включает 18 двухпроцессорных узлов с процессорами Pentium III 500 МГц (и 550 на новых узлах) и на каждом узле установлено по 1 Гбайту оперативной памяти. Узлы объединены в сеть SCI с топологией двухмерного тора 3x6, а управление кластером производится с отдельной головной машины по сети Fast Ethernet. Кроме того, установлен отдельный файл-сервер с RAID-массивом, на котором хранятся домашние директории пользователей, доступные со всех машин по протоколу NFS. Временные файлы программы пользователей могут создавать на локальных дисках каждого узла. Для поддержки непрерывной работы кластера на всех узлах установлены специальные платы watch-dog, разработанные в ИПС РАН (г. Переславль-Залесский), позволяющие автоматически перезагружать зависшие узлы.

Весной 2001 года был установлен новый 40-процессорный кластер "SKY" с более мощными процессорами (Pentium III/850 МГц) на базе традиционной сети Fast Ethernet. Преимущественно этот кластер используется как "вычислительная ферма", т.е. для запуска большого числа однопроцессорных задач; однако на этой конфигурации успешно работают и многие параллельные приложения, в частности, расчет больших квантовохимических систем с помощью PC-GAMESS. Для целей поддержки больших квантовохимических расчетов на каждом узле кластера установлено по 2 жестких диска, которыми независимо могут пользоваться два процесса параллельной задачи.

Суммарная пиковая производительность ресурсов Центра на сегодняшний день составляет 52 Гфлопс, суммарный объем оперативной памяти 38 Гбайт.

Характеристики производительности

По результатам измерения характеристик сети, скорость обменов данными по сети SCI на уровене MPI-приложений составила более 80 Мбайт/сек, а латентность (время задержки сообщений) - примерно 5.6 микросекунд; эти результаты практически не зависят от взаимного расположения узлов. При больших размерах сообщения скорость обменов по сети SCI даже превышает скорость обменов внутри одного SMP-узла. Для сравнения: при обменах по сети Fast Ethernet пропускная способность обычно не превышает 10-11 Мбайт/сек, а латентность составляет более 100 микросекунд. Это ограничивает круг параллельных приложений, которые могут эффективно работать на таком кластере.

Традиционным тестом производительности параллельных компьютеров, используемым при составлении списка Top500, является тест решения системы линейных уравнений LINPACK HPC. Лучшие результаты по LINPACK составляют 10 Гфлопс (или 278 Мфлопс на процессор) для кластера SCI и 13 Гфлопс (или 325 Мфлопс на процессор) для кластера SKY (на задачах размера 44000x44000 и 47000x47000, соответственно). Таким образом, за счет более мощных процессоров кластер SKY на тесте LINPACK показывает лучшую производительность. Эти данные говорят не о том, что сеть SCI плохо справляется с нагрузкой, а о том, что тест LINPACK при больших объемах вычислений не предъявляет высоких требований к производительности коммуникационной сети. Интересно, что при фиксированном размере задачи (16000x16000) кластер на базе SCI показывает лучшую масштабируемость при большом числе процессоров.

За счет высоких коммуникационных характеристик сети SCI достигается очень высокая масштабируемость кластера на многих прикладных тестах. В частности, на некоторых тестах пакета NPB 2.3 результаты кластера оказывались лучше, чем результаты суперкомпьютера Cray T3E/900 с аналогичным числом процессоров.

Технологии программирования

На кластере поддерживаются все стандартные технологии программирования для систем с распределенной памятью. Установлены реализации стандарта MPI (Message Passing Interface) для работы поверх сети SCI и Fast Ethernet. Поддерживается программирование на языках C/C++ и Фортран 77/90. Большинство параллельных программ пользователи создают на языке Фортран с использованием технологии MPI. Кроме этого, установлены и реально используются российские программные системы DVM и НОРМА, разработанные в ИПМ РАН. Проводились эксперименты с системой динамического автоматического распараллеливания программ "Т-система", разработанной в ИПС РАН, а также с ParJava, параллельным расширением языка Java, разрабатываемой в ИСП РАН. Установлены однопроцессорные и параллельные библиотеки процедур линейной алгебры и преобразований Фурье: BLAS, MKL, SCALAPACK, FFTW. Осуществляется перенос на кластер "Библиотеки численного анализа", разработанной в НИВЦ МГУ для машин серии БЭСМ-6.

Особенности работы Центра

Среди особенностей функционирования Центра по высокопроизводительным вычислениям в МГУ стоит отметить следующие:

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

Система управления заданиями

С учетом описанных выше требований нами была разработана и продолжает развиваться система управления заданиями для вычислительного кластера. В качестве вариантов ПО управления кластером рассматривались многие распространенные пакеты, такие как OpenPBS, но по разным причинам они не стали использоваться. Среди возможностей системы управления заданиями, разрабатываемой в НИВЦ МГУ, стоит отметить следующие:

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

Поддержка пользователей

Большое внимание в работе Центра уделяется взаимодействию с пользователями и комплексной поддержке их работы. В качестве элементов такой деятельности стоит выделить:

  • Подготовка справочной и методической литературы, документации для пользователей; публикация в рамках Интернет-центра Parallel.Ru.
  • Оперативная поддержка пользователей по электронной почте и по телефону.
  • Список рассылки оперативной информации для пользователей.
  • Обязательный учет требований и пожеланий пользователей при расширении аппаратного и программного обеспечения, при настройке параметров системы управления заданиями.

Данная работа выполняется при поддержке РФФИ, грант N.99-07-90230.