Организация распределенной вычислительной системы большой мощности

 

Таразский государственный университет им. М.Х. Дулати

Ералиева Б.Ш., г.Тараз

 

С каждым годом увеличивается объем принимаемой и обрабатываемой информации, полученной со спутников. Также существенно увеличиваются требования, предъявляемые к результатам обработки спутниковых данных, как следствие увеличивается сложность алгоритмов, повышается их вычислительная емкость. Перспективным направлением развития систем обработки является использование высокопроизводительной вычислительной техники и соответствующего параллельного программного обеспечения. Однако это направление не всегда удается эффективно реализовать на практике, так как центрам обработки спутниковых данных зачастую сложно иметь собственные мощные вычислительные ресурсы. Логичным выходом в этой ситуации является использование сторонних ресурсов. Одной из таких технологий, позволяющей организовать распределенную вычислительную систему большой мощности, является GRID. Примером вычислительно ёмкого алгоритма обработки спутниковых данных служит задача построения полей доминантных ориентацией термических контрастов (ДОТК). Суть алгоритма состоит в определении для некоторой окрестности точки величины ДОТК и его статистической значимости. В зависимости от параметров настройки алгоритма его усредненное время счета для одного стандартного региона составляет более 12 часов. В условиях круглосуточного мониторинга окружающей среды для этой задачи не представляется возможным организовать оперативную обработку данных без привлечения мощных параллельных вычислительных комплексов. Так как значение ДОТК в точке зависит только от температур точек окрестности, а размер окрестности  известен до начала вычислений, то можно использовать простой метод распараллеливания по данным. При этом были создаются программные средства, разделяющие исходные изображения на примерно равные части с наложением частей друг на 72 друга, и объединяющие результатов работы алгоритма. Входом и выходом алгоритма являются файлы с исходным изображением и результатом расчетом соответственно. На примере задачи расчета полей ДОТК рассматриваются принципы интеграции больших вычислительных ресурсов в систему обработки спутниковых данных с использованием GRID-технологий. Результатом работы является распределенная вычислительная GRID-сеть, построенная на базе двух центров коллективного пользования регионального спутникового мониторинга окружающей среды.  Распределенная система обработки данных обеспечивает доступ к ключевым источникам информации (в различных форматах), надежно функционирует в режиме реального времени и позволяет пользователю управлять процессом обработки. Ресурсы GRID-сети в  настоящее время объединены в опорный GRID-узел. Структура узла предусматривает его всестороннее расширение, как по объему интегрируемых ресурсов, так и по количеству подключаемых пользователей. Сервер доступа обеспечивает централизованный доступ пользователей к ресурсам центра. Файл-сервер предоставляет дисковое пространство для хранения пользовательской информации, исходных данных и результатов вычислений. Интернет-сервер обеспечивает информационную поддержку пользователей и осуществляет мониторинг производительности и доступности всех ресурсов.

 Выполнение вычислительных задач пользователей на кластерах контролируется соответствующими локальными системами пакетной обработки заданий (СПОЗ), которые определяют политику предоставления ресурсов пользователям в рамках вычислительного кластера. В настоящее время СПОЗ реализованы на базе свободного пакета Torque (OpenPBS). Основные действия пользователя по запуску своих задач заключаются в выполнении стандартных шагов: подготовить и закачать входные данные, подготовить описание задачи (паспорт) и запустить задачу на счет, дождаться завершения и забрать результаты вычислений. GRID-инфраструктура построена на базе открытого пакета «Globus Toolkit 4» (далее просто GT). Идеологической основой создания GRID является технология Web-сервисов. Пакет GT устанавливается и настраивается на каждом узле GRID индивидуально. Конечная настройка зависит от назначения данного узла в GRID и требуемых выполняемых функций. GT имеет модульную структуру и содержит набор связанных компонент, взаимодействующих с помощью общей платформы Web-сервисов. В структуре пакета можно выделить несколько разделов, реализующих основные исполняемые компоненты: «Common», «Security», «Data», «Execution», «Monitor». Типичный узел GRID всегда использует некоторый набор исполняемых компонент из перечисленных разделов. Сервис GRAM работает на вычислительном ресурсе. GRAM принимает на вход паспорт описания задачи пользователя, которую нужно выполнить, связывается через адаптер с локальной СОПЗ и передает ей необходимые инструкции для запуска задачи. Дополнительно поддерживается проверка состояния выполнения задачи, ее удаление и сбор информации о состоянии СПОЗ в целом. RFT (Reliable File Transfer) – систем надежной передачи файлов. Сервер RFT реализует передачу файлов между различными узлами GRID. Клиент RFT формирует заявку серверу на передачу файла. Заявка состоит в указании двух URL на файлы: откуда и куда копировать. GridWay – основная задача этого сервиса – организовать планирование и учет использования ресурсов в рамках GRID-сети. В обязанности GridWay входит обработка заявок от пользователей на выполнение задач, выделение соответствующих ресурсов под эти задачи из числа свободных, контроль использования ресурсов и другие. В процессе своего функционирования GridWay обращается к: GRAM для осуществления запуска задачи на некотором узле GRID, RFT для передачи исходных данных и результатов, если это прописано в паспорте задачи, и MDS для получения централизованной информации о состоянии локальных систем очередей ресурсов. Четвертой компонентой GridWay является диспетчер расписания, который получает от GridWay необходимую информацию о ресурсах и заявках на использование ресурсов, и выдает названия узлов, которые в данный момент можно использовать для выполнения имеющихся задач. Предусмотрено два способа взаимодействия с GridWay: через интерфейс командной строки и через программный интерфейс DRMAA (Distributed Resource Management Application API).

Распределенная система состоит из двух частей: подсистемы запуска сценариев обработки и подсистемы мониторинга. Подсистема запуска предназначена для выполнения сценариев 75 обработки (последовательностей процедур, связанных командами управления) на удаленных обрабатывающих компьютерах. Сервер управления обработкой состоит из трех основных компонентов: обработчика сообщений, пула задач и диспетчера. Его основная задача заключается в получении сценариев от инициатора и запуске их на соответствующих удаленных компьютерах. Инициатором может быть как пользователь, так и другой сценарий. Это позволяет создавать схемы для обработки на нескольких компьютерах. Для взаимодействия с сервером используются два типа сообщений: командные (сигнал о необходимости запуска сценария, сигнал аварийной остановки процедуры и т.п.) и информационные (например, сигнал о процессе или его завершении). Для выполнения сценария обработки инициатор ставит в очередь запрос на его запуск. Обработчик сообщений создает и помещает в пул задачу в соответствии с хранимым в базе данных описанием сценария и переданными параметрами, и возвращает ее идентификатор инициатору.

Созданная задача из пула попадает в планировщик,  который запускает ее на первом свободном компьютере, подходящем для данного сценария. Все информационные сообщения от сервера и от выполняемых задач поступают в топик, из которого могут быть прочитаны инициатором. Интерфейс системы допускает как асинхронный, так и синхронный, то есть с ожиданием завершения работы, режим запуска сценария. Протокол передачи данных, в рамках подсистемы обработки, не формализован и определяется самим сценарием. В описываемой системе для передачи данных по сети используется протоколы SMB/CIFS и FTP. Для удаленного запуска и контроля процесса обработки на стороне обрабатывающих компьютеров используется открытая реализация протокола SSH  (пакет OpenSSH).

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

Суть интеграции сторонних для системы обработки ресурсов состоит в формировании для сервера управления обработкой абстракции «обрабатывающего компьютера», реализация которого опирается на GRID-сервисы для выполнения функций обработки данных в распределенной вычислительной сети. Таким образом, наряду с уже имеющимися компьютерами обработки, в системе обработки появляется дополнительный «компьютер», обладающий большим вычислительным потенциалом. Полезная мощность такого «GRID-компьютера» определяется, во- первых, объемом ресурсов, сосредоточенных в GRID-сети, во-вторых, текущей загрузкой этих ресурсов. Таким образом, необходимо было решить две основные задачи. С одной стороны обеспечить взаимодействие «GRID-компьютера» с сервером управления обработкой. С другой стороны обеспечить доступность распределенных вычислительных ресурсов имеющейся GRID- сети. Настройка взаимодействия с сервером обработки не составляет труда и заключается в настройке SSH в соответствии с определенными требованиями сервера обработки (необходимо активировать PubkeyAuthentication режим авторизации на основе открытого и закрытого ключей). Настройка взаимодействия с GRID существенно более трудоемкий и сложный процесс.

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

Список литературы

1.    Хорошевский В.Г. Архитектура вычислительных систем. М.: МГТУ им. Н.Э. Баумана, 2008.

2.    Хорошевский В.Г. Распределенные вычислительные системы с программируемой структурой // Вестник СибГУТИ. 2010. № 2. С. 3 – 41.

3.    Хорошевский В.Г. Модели функционирования большемасштабных распределенных вычислительных систем // Электросвязь. 2004. № 10. С. 30 – 34.

4.    Хорошевский В.Г., Курносов М.Г. Алгоритмы распределения ветвей параллельных программ по процессорным ядрам вычислительных систем // Автометрия. 2008. Т. 44, № 2. С. 56 – 67.

5.    Хорошевский В.Г., Мамойленко С.Н. Стратегии стохастически оптимального функционирования распределенных вычислительных систем // Автометрия. 2003. Т. 39. № 2. С.