Востокин С.В. ИНСТРУМЕНТАЛЬНАЯ СИСТЕМА ПРОЕКТИРОВАНИЯ GRID ПРИЛОЖЕНИЙ ДЛЯ АРХИТЕКТУР MASTER-WORKER
Интенсивное развитие сетей общего пользования открывает возможности привлечения большого числа территориально и организационно разобщенных ресурсов для решения трудоемких вычислительных задач с использованием GRID-технологий [1]. Типичной реализацией GRID технологий являются системы пакетной обработки заданий. Системы пакетной обработки предназначены для решения задач высокой вычислительной сложности, для которых характерно длительное время счета, а также автономность работы. Взаимодействие с программным окружением в таких приложениях сводится к чтению и записи файлов и использованию стандартных потоков ввода-вывода.
Архитектура Master-Worker представляет собой применение клиент серверного подхода для реализации GRID системы. В рамках данной архитектуры координацию вычислений выполняет сервер (master-процесс). Проблемой является описание алгоритма работы сервера для каждой прикладной задачи таким образом, чтобы, во-первых, корректно организовать взаимодействие сотен вычислительных процессов и, во-вторых, совместить во времени передачу и обработку данных на клиентских компьютерах для компенсации высокой латентности сетей общего пользования.
В рамках проекта graphplus.ssau.ru нами разработана инструментальная система, позволяющая по описанию алгоритма распределенных вычислений на специальном языке, динамически формировать поток заданий на вход сервера (master-процесса) GRID-системы пакетной обработки. В отличие от систем аналогичного назначения [2], в данной системе используется специально разработанный язык описания сценариев распределенной обработки GraphPlus [3]. Язык является визуальным, объектноориентированным и модульным. Кроме этого, язык поддерживает механизм шаблонов. Шаблон вычислительного процесса на языке GraphPlus описывается в виде совокупности логически связанных модулей с параметрами. Модуль инкапсулирует как поведенческие, так и структурные свойства управляющих алгоритмов. Применение шаблонов позволяет упростить процесс программирования и повышает надежность кода.
Разработанный комплект инструментов включает графический редактор, транслятор и интерпретатор сценария. Структура процессов проектируется в специализированном графическом редакторе. Для написания текстовых фрагментов сценария применяется текстовый редактор. Транслятор выполняет преобразование кода на языке GraphPlus в файл специального формата, который управляет работой интерпретатора. Содержательные части алгоритма организуются как исполнимые файлы, реализующие последовательные процедуры. Они могут быть написаны на любом языке программирования в соответствующей инструментальной среде и запускаются процессом интерпретатора или системой пакетной обработки. Отметим, что интерпретатор сценария и master-процесс пакетной системы исполняются параллельно и взаимодействуют асинхронно. Как только в интерпретатор поступает информация о завершении задачи, он обновляет данные о состоянии вычислений и, если возможно, добавляет новые задачи в систему пакетной обработки. Текущее состояние вычислений хранится в файловой системе. Благодаря этому, в любой момент можно приостановить исполнение сценария и возобновить его исполнение с прерванного места. Таким образом, формируются контрольные точки для защиты от сбоев и для переноса процесса интерпретатора с одной машины на другую. В настоящее время система находится в стадии тестирования, ведутся работы по составлению библиотек типовых шаблонов вычислений.
ЛИТЕРАТУРА
1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. // СПб.: БХВ-Петербург, 2002.
2. Филамофитский М.П. Система поддержки метакомпьютерных расчетов Х-Сот:архитектура и технология работы. - Вычислительные методы и программирование, 2004, том 5, раздел 2, с. 1-9.
3. Востокин СВ. Технология моделирования распределенных систем, основанная на визуальном языке и
ее приложения — Известия СНЦ РАН, том 6, №1(10) 2004, с.185-193.