СОЗДАНИЕ УЧЕБНО-ЭКСПЕРИМЕНТАЛЬНОЙ МЕТАКОМПЬЮТЕРНОЙ ВЫЧИСЛИТЕЛЬНОЙ СЕТИ НА БАЗЕ КОРПОРАТИВНОЙ ВЫЧИСЛИТЕЛЬНОЙ СЕТИ.

 

 

Козлов Е.Н., Левин Г.А., Филатов А.В.

 

 

(г. Москва, Московский Энергетический институт (ТУ), Россия)

 

 

 

 

 

Повышение производительности вычислений тесно связано, в значительной степени, с развитием многопроцессорных вычислительных систем (МпВС).

История развития многопроцессорных вычислительных систем берёт своё начало с появления в свет в 70-е годы первого суперкомпьютера семейства CRAY-1. В дальнейшем стали появляться многие другие суперкомпьютеры и просто высокопроизводительные вычислительные системы, состоящие из двух и более процессорных модулей. Поначалу, развитие таких систем ограничивалось созданием фирмами-производителями довольно дорогостоящих специализированных комплексов, как правило, под заказ. Такие комплексы могли быть неплохо оптимизированы под конкретную задачу, но ввиду их высокой стоимости, приобрести их могли лишь очень богатые организации и в единичном количестве.

Большим прорывом в технологии создания высокопроизводительных вычислительных систем (ВВС), стало широкое внедрение модульности как в аппаратуре, так и в программном обеспечении. Ярким примером таких ВС, появившихся в те годы, являются транспьютерные системы. С помощью отдельных стандартных транспьютерных модулей, потребитель мог, как из кубиков построить систему различной (в пределах возможности транспьютеров) конфигурации и размера. Появление транспьютеров, благодаря относительно невысокой стоимости отдельных модулей, сильно сказалось на широком распространении многопроцессорных систем в мире. Также широкое внедрение многопроцессорных ВС можно отнести за счёт создания системных плат с двумя и более процессорами, объединёнными посредством общей разделяемой памяти.

В последние годы бурно развивается направление сетевых кластерных вычислительных систем - кластеров. На основе кластерной архитектуры строятся как некоторые супер-ЭВМ (к примеру, МВС-1000М и К-500), так и дешёвые параллельные вычислительные сети. В общих чертах кластер представляет собой совокупность вычислительных модулей, имеющих один или несколько процессоров, объединённых некоторой коммуникационной сетью, как правило, построенной на основе стандартной сетевой технологии (Fast (Gigabit)- Ethernet, SCI, Myrinet, cLan и пр.).

В простейшем случае, кластер можно получить объединением нескольких рабочих станций (персональных компьютеров) посредством локальной сети. Для информационного взаимодействия процессоров рабочих станций (РС) на программном уровне, достаточно установить и настроить программный коммуникационный интерфейс. Его можно разработать или самим, или взять готовую реализацию какого - либо из международных стандартов (например, MPI или PVM). Однако для серьёзной организации работы кластера, а, в особенности, если он предназначен для коллективного доступа, необходимо в кластер включить специальный управляющий модуль - сервер и некоторое программное обеспечение для клиентов и процессоров кластера. Пример такого кластера смотрите в работе [1].

Дальнейшее развитие кластерной технологии плавно подводит нас к созданию МпВС на базе корпоративных вычислительных сетей и даже Интернета. Сеть Интернет можно рассматривать как самый большой компьютер в мире. Никакая вычислительная система не может сравниться ни по пиковой производительности, ни по объёму оперативной или дисковой памяти с теми суммарными ресурсами, которыми обладают компьютеры, подключенные к Интернету. Компьютер, состоящий из множества компьютеров, своего рода метакомпьютер [2]. Отсюда происходит и специальное название для процесса организации вычислений на такой вычислительной системе - метакомпьютинг [2]. В англоязычной литературе такие системы называются сетевыми или Grid системами (по аналогии с электрической сетью).

В мире сейчас активно создаётся теоретическая база и пакеты программного обеспечения для построения таких систем (например, Globus). Тем не менее, работа над данной технологией ещё далека от завершения. На пути разработчиков стоит ещё немало трудностей и препятствий.

В настоящем докладе авторами представляется попытка создания метакомпьютерной вычислительной сети (МВС) на базе корпоративной сети ВУЗа, а в перспективе и на базе Интернета.

 

В процессе разработки авторами перед собой были поставлены следующие цели:

1)                 Разработать программное обеспечение (ПО), позволяющее организовать на базе корпоративной сети ВУЗа, учебно-экспериментальную метакомпьютерную вычислительную сеть для проведения научных экспериментов и учебных занятий по курсам параллельного программирования и высокопроизводительных вычислительных систем.

2)                     При разработке ПО, ориентироваться на операционные системы (ОС) семейства  Windows 98/2000/XP, которые являются основными на большинстве рабочих станций ВУЗа.

3)                     Разрабатываемая МВС должна иметь на логическом (а по возможности и на физическом) уровне одноранговую мультикластерную структуру (см. Рисунок 1).  За основу ПО кластеров входящих в МВС, решено было взять ПО разработанное авторами ранее (см. [1]).

4)                     Разрабатываемая МВС должна иметь единый центр управления и администрирования в виде выделенного (на логическом уровне) сервера.

Рисунок 1. Структура метакомпьютерной вычислительной сети

 

5)                     Предусмотреть в качестве программного интерфейса между процессорами, интерфейс передачи сообщений стандарта MPI.

6)                     Предусмотреть проведение мониторинга ресурсов МВС, их состояния и загрузки.

7)                     Предусмотреть  возможность исключения  процессоров и кластеров из МВС в процессе её работы, а также подключение в процессе  работы МВС новых ресурсов к ней.

8)                     Предусмотреть средства организации бесперебойной работы системы в случае отказа серверов кластеров и сервера МВС.

9)                     Организовать взаимодействие клиентов, сервера и кластеров МВС как через локальную сеть предприятия, так и через Интернет.

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

 

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

Для организации отказоустойчивости МВС, были разработаны:  система контроля функционирования её узлов и система динамического перераспределения на другие серверы исполнения обязанностей сервера МВС  (в случае отказа последнего).

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

 

ЛИТЕРАТУРА:

 

1) Козлов Е.Н., Левин Г.А., Филатов А.В. Программное обеспечение для организации учебной кластерной вычислительной системы на базе локальной сети. МФИ-2003: Доклады международной конференции "Информационные средства и технологии". 14-16 октября 2003 г. 3-х томах, Том 3 –М.: Янус-К, 2003. С. 128-131.

2) Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. –СПб.: БХВ-Петербург, 2002. –608 с.: ил.