Научно-методическая конференция
«ИНТЕРНЕТ И СОВРЕМЕННОЕ ОБЩЕСТВО»

WEB-СЕРВИС ДЛЯ ОПРЕДЕЛЕНИЯ БАЗОВЫХ ХАРАКТЕРИСТИК ПАРАЛЛЕЛЬНЫХ ПРОГРАММ

А.С. Антонов, Б.Ю. Крысанов

Московский государственный университет им. М.В. Ломоносова
Москва

Параллельные вычисления универсальны по своей природе. Они могут использоваться в любой области науки, где традиционного последовательного способа обработки данных недостаточно и необходимо существенно ускорить процесс вычислений. Астрофизика, аэро- и гидродинамика, вычислительная механика, квантовая химия, геофизика и экология, криптография и статистика - эти области науки, как и многие другие, нуждаются в высокопроизводительных параллельных компьютерах. Однако практически все ученые, работающие в той или иной среде параллельных вычислений, сталкиваются с общей проблемой: как эффективно использовать параллельные компьютеры? Это и не удивительно. Параллельная вычислительная среда обладает своими особенностями, для работы в ней, во многих случаях, нужно знать технологии параллельного программирования, параллельные методы решения задач, архитектуру параллельных компьютеров, методы анализа структуры программ и алгоритмов и другие смежные дисциплины, не характерные для предметной области ученого: химика, биолога, физика, медика. Не удивительно, что успешно «прорваться» через круг возникающих сопутствующих проблем удается немногим - отсутствие помощи, дополнительных сведений, доступа к ресурсам, полигонов для тестовых испытаний и других сервисных служб среды параллелизма значительно усложняет работу прикладных специалистов.

Учебно-научный центр МГУ по высокопроизводительным вычислениям [1] обладает достаточно большим количеством вычислительных ресурсов [2], для эффективного использования которых требуется значительный объем специальных знаний в области высокопроизводительных вычислений. Специалисты Центра оказывают посильную помощь пользователям в освоении как вычислительных ресурсов, так и параллельных технологий. Для этого предназначены системы онлайн и оффлайн консультаций [3], предоставление документации и учебных материалов, чтение учебных курсов и т.д.

Однако очевидно, что невозможно оказать эффективную помощь каждому пользователю с каждой возникающей у него задачей. Необходимо максимально облегчить специалисту-прикладнику понимание путей разрешения совершенно новых проблем, встающих перед ним при знакомстве с высокопроизводительной техникой. Одним из способов такой помощи является предоставление пользователю возможности исследовать эффективность выполнения на целевой архитектуре некоторых критических фрагментов программ. В нашем Центре такая возможность реализуется в Тестовом полигоне [4], реализованном на базе вычислительных ресурсов НИВЦ МГУ.

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

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

На данный момент в Тестовом полигоне реализованы следующие типовые алгоритмические структуры межпроцессорного взаимодействия:

Используя web-интерфейс, пользователь формирует запрос на выбор целевой программно-аппаратной среды и указывает интересующее его тестовое приложение. Опираясь как на доступный парк вычислительных систем Центра, так и на возможность оперативного управления распределением заданий между системами, происходит запуск тестового приложения и возврат результатов пользователю. На данный момент в качестве аппаратных платформ Тестового полигона НИВЦ МГУ предоставляются два вычислительных кластера - SCI (36 процессоров Pentium III/500, соединенных высокоскоростной коммуникационной сетью SCI) и SKY (40 процессоров Pentium III/850, соединенных коммуникационной сетью Fast Ethernet), однако несложно добавить возможность выполнения пользовательских программ и на других платформах. Задача с нужными параметрами передается на выполнение системе очередей Cleo [5] на выбранном кластере. В зависимости от выбранного пользователем режима получения результатов (непосредственно в окне браузера или по указанному адресу электронной почты) Web-интерфейс либо дожидается постановки задачи на выполнение и получения результатов, либо только информирует пользователя о постановке его задачи на выполнение.

Естественно, на запуск программ в таком режиме наложен целый ряд ограничений административного характера. Так, все задачи, выбираемые в качестве типовых алгоритмических структур, достаточно простые и даже при максимально допускаемых значениях параметров выполняются не более нескольких секунд, количество предоставляемых под эти задачи процессоров жестко ограничено сверху, задачи ставятся в очередь со стандартным приоритетом и т.д. Для предотвращения намеренной или случайной перегрузки вычислительных ресурсов многократной постановкой задач в очередь предусмотрена блокировка приема запросов к Web-интерфейсу с одного IP-адреса на определенный промежуток времени (на данный момент 5 минут). Кроме того, ведется полный протокол использования Тестового полигона всеми пользователями.

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

Функциональность Тестового полигона на базе вычислительных ресурсов НИВЦ МГУ реализована CGI-скриптами, написанными на языке Perl, Web-сервер - Apache, платформа - RedHat Linux, для постановки задач на исполнение используется система очередей Cleo.

Работа выполнена при поддержке РФФИ, гранты 02-07-90442, 02-15-99267.

ЛИТЕРАТУРА

1. Воеводин Вл.В. Проект профессионального центра в сети Интернет: www.parallel.ru // Интернет и современное общество: Тезисы Второй всероссийской научно-методической конференции - СПб.: Изд-во СПбГУ, 1999. С.55.

2. http://parallel.ru/cluster/

3. Андреев А.Н., Антонов А.С., Воеводин Вл.В., Жуматий С.А. Профессиональные научные центры в сети Интернет. http://parallel.ru // Технологии информационного общества - Интернет и современное общество: Материалы Всероссийской объединенной конференции - СПб., 2001. С. 11-13.

4. http://parallel.ru/polygon/

5. http://parallel.ru/cluster/batch.html

6. Балашов М.Е., Горячев В.Д., Лукашенко А.В., Рыков Д.С., Смирнов Е.М. ИВС для решения задач вычислительной гидродинамики с кластерной поддержкой // Научный сервис в сети Интернет: Труды Всероссийской научной конференции - М.: Изд-во МГУ, 2002. С. 216-218.

[Аннотация на английском языке]

Опубликовано: Антонов А.С., Крысанов Б.Ю. Web-сервис для определения базовых характеристик параллельных программ // Технологии информационного общества - Интернет и современное общество: труды V Всероссийской объединенной конференции. СПб., 25 - 29 ноября 2002 г. СПб.: Изд-во С.-Петерб. ун-та, 2002. С. 69-71.

Ориг. URL — http://ims2002.nw.ru/02-r2f04.html