1
Структура и проблемы развития программного обеспечения среды распределенных вычислений Грид
Введение
грид виртуальный программный
В настоящее время во многих странах мира - США, Великобритании, Франции, Германии, Италии, Польше, Индии, Японии, Корее, Австралии и других - развернуты проекты по созданию программно-телекоммуникационной инфраструктуры, цель которой - обеспечить доступ к разнообразным вычислительным ресурсам независимо от места расположения потребителя. Термин инфраструктура употреблен здесь не случайно - имеет место достаточно полная аналогия с более привычными глобальными ее видами, такими, например, как электрическая, железнодорожная сети или почтовая служба. Неудивительно, что лежащие в основе подхода технологии получили название Грид (Grid) - энергетическая система, только вместо энергии потребитель получает ресурсы обработки данных.
Само развитие тематики Грид представляет собой интересный феномен: фактически сейчас трудно говорить, что есть законченный набор технологий Грид, который можно было бы внедрить в какой-нибудь практической сфере, например, в научных исследованиях - потенциально первой и наиболее очевидной области применения. Однако приведенная выше география проектов показывает, насколько высоко оценивается потенциал Грид: он имеет стратегический характер, и в близкой перспективе Грид должен стать вычислительным инструментарием для развития высоких технологий в различных сферах человеческой деятельности, подобно тому, как подобным инструментарием стали персональный компьютер и Интернет.
1. Концепция Грид в современном понимании
Концепция Грид зародилась в контексте важной, но, как оказалось впоследствии, относительно более узкой проблемы построения сверхмощных вычислительных установок. В середине 80-х годов основными для этой области были суперкомпьютерные технологии, успешность которых во многом определялась стремительным прогрессом микропроцессорной техники. В 1985 году в США была принята - и в последующее десятилетие реализована - общенациональная программа по созданию суперкомпьютерных центров, финансируемая государством через Национальный научный фонд (NSF - National Science Foundation). Полученный опыт оказался не только положительным: появилось понимание, что при высокой цене разработки и производства суперкомпьютеров, построенные архитектуры имеют ограниченную масштабируемость и не успевают за развитием элементной базы. В то же время, проведенные прикладные исследования показали, что для решения ряда насущных и наиболее приоритетных задач методами математического моделирования (прогнозирование природных явлений, обработка данных высокоэнергетических ядерных реакций, эволюция звезд) необходимы вычислительные мощности принципиально нового уровня производительности и быстродействия.
В начале 90-х годов столь же бурно, как и микропроцессоры, стали развиваться телекоммуникационная аппаратура и линии передачи. Идея объединения процессорных технологий с телекоммуникационными дала толчок Метакомпьютингу, вначале как способу соединения суперкомпьютерных центров: термин Метакомпьютинг появился в CASA [1] - проекте одной из экспериментальных гигабитных телекоммуникационных сетей. В статье [2], которая в дальнейшем стала основополагающей, Метакомпьютинг определяется как «использование мощных вычислительных ресурсов, доступных прозрачно посредством телекоммуникационной среды». В дополнении к условию прозрачности применимы также такие характеристики как бесшовность, масштабируемость и глобальность. Таким образом, в новой парадигме Метакомпьютинга предлагалось полностью скрыть наличие телекоммуникаций и использовать подключенные к сети компьютеры как единый объединенный вычислительный ресурс. Основной акцент в Метакомпьютинге делался на то, что потенциальный пользователь может получить практически неограниченные ресурсы для вычислений и хранения данных. Весь вопрос в том, как подобные распределенные ресурсы запрячь в архитектуру Метакомпьютера.
Начатые в этом направлении работы - в первую очередь по системам Globus [3,4] (совместный проект Аргоннской национальной лаборатории ANL при университете Чикаго и института информатики университета Южной Каролины ISI USC) и Legion [5,6] (университет Вирджинии), а также ряд других - привели к существенному обобщению идеи Метакомпьютинга. Уже на начальном периоде развития было показано, что для программной поддержки распределенной среды необходимо решить широкий круг проблем: связи, безопасности, управления заданиями, доступа к данным, информационного обеспечения. Все эти вопросы имеют прямые аналоги в операционных системах, но должны быть пересмотрены для ненадежной, открытой и распределенной глобальной среды. Более того, архитектура (теперь уже можно говорить о Грид) среды должна быть расширяемой и способствующей наращиванию функциональности при сохранении работоспособности.
Грид является согласованной, открытой и стандартизованной средой, которая обеспечивает гибкое, безопасное, скоординированное разделение ресурсов в рамках виртуальной организации-то есть динамически формирующейся совокупности независимых пользователей, учреждений и ресурсов.
Первое, что обращает внимание - речь больше не идет о «мощных вычислительных ресурсах» Метакомпьютинга. В качестве процессорных ресурсов рассматриваются теперь, например, рабочие станции и ПК. На самом деле, основные вычислительные мощности сосредоточены вовсе не в суперкомпьютерном парке. Если организация располагает, скажем, тремя тысячами рабочих мест на базе рабочих станций, то за время их регулярного простоя потерянные циклы составят существенную долю даже терафлопной производительности. Мощные ресурсы - суперкомпьютеры, кластеры, SMP-системы - остаются важным частным случаем. Кроме того, новая трактовка применима к разнообразным типам ресурсов: телекоммуникациям, системам массовой памяти, хранилищам данных, а также измерительным и научным инструментам, например, радиотелескопам.
Выход за рамки высокопроизводительных систем и приложений выявляет реальное содержание Грид: это инфраструктура для поддержки любой глобально распределенной вычислительной деятельности. От инфраструктуры Грид может извлечь пользу множество типов приложений - это электронный бизнес, кооперативное проектирование, исследование данных, системы обработки высокой пропускной способности (High Throughput Computing - HTC), и, конечно, распределенный суперкомпьютинг (то есть Метакомпьютинг). Для многих из этих приложений, в том числе и с большим объемом вычислений, но с «хорошими» свойствами (грубо гранулированных, конвейеризуемых), не требуются высокопроизводительные телекоммуникации как для Метакомпьютинга. Тогда в качестве телекоммуникационной составляющей инфраструктуры Грид может выступать обычный Интернет - неограниченно масштабируемый, всеобъемлющий и повсеместный уже сейчас.
Проиллюстрируем реализацию этого подхода на примере National Grid - проекта правительства Великобритании, курируемого Министерством науки и технологий. В первую очередь он направлен на поддержку кооперативных научных исследований по широкому спектру дисциплин. Кроме того, этот проект служит своеобразным испытательным полигоном для развертывания «e-utility computing», также известного как «e-sourcing» - предоставления компьютерных ресурсов (таких, как пропускная способность, приложения, дисковая память) по Интернет в качестве своеобразной разновидности коммунальных услуг.
Национальный центр сети National Grid расположен в Эдинбурге / Глазго; кроме него будут построены восемь региональных центров в Оксфордском и Кембриджском университетах, в университетах Ньюкасла, Белфаста, Манчестера, Кардиффа, Саутгемптона и в Империал Колледж, Лондон.
В качестве поставщика ключевых технологий и инфраструктуры выбрана компания IBM - она выиграла тендер на создание центра хранения данных в Оксфордском университете, который станет основным в Великобритании источником информации по физике высоких энергий, полученной в ходе экспериментов в лаборатории Ферми (Батавия, штат Иллинойс, США). У IBM есть собственный опыт в области Грид: на основе системы Globus подразделение IBM Research создало собственный Грид - географически распределенный суперкомпьютер, объединяющий исследовательские и проектно-конструкторские лаборатории IBM в США, Израиле, Швейцарии и Японии.
2. Программная составляющая инфраструктуры Грид
Настоящая работа направлена на анализ современного состояния программной составляющей Грид и определению возможных направлений ее развития. Стоит оговорить, что при этом за рамками остаются другие не менее важные вопросы инфраструктуры - телекоммуникации и вычислительная база Грид.
Можно утверждать, что базовым программным обеспечением Грид и международным стандартом де-факто является на сегодня система Globus. Это, во-первых, признано [8] ведущими компаниями мировой компьютерной индустрии: IBM, Microsoft, Compaq, Cray, SGI, Sun Microsystems, Fujitsu, Hitachi, NEC, Veridian, Entropia, Platform Computing Inc. Во-вторых, Globus реально взят за основу в ведущих проектах Грид: IPG [9], NCSA [10], Gryphyn [11], DataGrid [12]. В-третьих, большая часть новых исследований и разработок в области Грид ориентируется на Globus. В дальнейшем изложении мы будем также исходить из возможностей системы Globus.
3. Базовая архитектура программного обеспечения Грид
Грид - это распределенная среда, и ее функционирование обеспечивается специальной формой программного обеспечения (ПО) - сервисами. Сервисы обладают сетевым интерфейсом, благодаря чему становится возможным удаленное обслуживание клиентов. В отличие от модели «клиент-сервер» в Грид тот или иной набор сервисов устанавливается на каждом ресурсе, хотя традиционное серверное обслуживание также не исключается.
Для кооперативной деятельности множество сервисов должно удовлетворять двум структурным условиям:
- каждый тип сервиса должен иметь стандартный протокол доступа, в соответствии с которым реализуется прикладной интерфейс (API) клиентов. В рамках стандартных протоколов допустимы различные способы реализации сервисного обслуживания;
- множества сервисов на разных ресурсах должны быть согласованными. Это предполагает известную унификацию наборов сервисов на основе тождественности их семантики, а также наличие общих правил, регламентов и организационных соглашений, на которые опирается конфигурирование сервисов.
Успех проекта Globus во многом связан с тремя входящими в его состав сервисами и соответствующими протоколами:
- Протокол доступа к ресурсам и управления (Grid Resource Allocation and Management - GRAM) и сервис Gatekeeper, которые обеспечивают безопасное, надежное создание удаленных процессов и управление ими [13];
- Сервис Метадиректорий [14] для распределенного сбора данных и информационного обслуживания;
- Сервисы инфраструктуры безопасности (Grid Security Infrastructure - GSI), поддерживающие однократную регистрацию, делегирование полномочий и отображение прав доступа в различные локальные системы [15].
Однако, как стало понятно сейчас, состав сервисов со временем должен стать гораздо богаче. Поэтому ПО Грид должно бы опираться на унифицированную архитектуру сервисов, поддержанную средствами их подключения, регистрации, мониторинга и рядом других. Пока такой архитектуры нет, реализация каждого нового сервиса требует обращения к протоколам самого низкого уровня.
Эта проблема рассматривается как центральная для проекта Globus. В работе [16] опубликованы предложения, в которых новая архитектура названа OGSA - Open Grid Services Architecture.
При всей важности общеархитектурных вопросов возможности Грид главным образом определяются составом ПО. По сложившемуся представлению [7] программное обеспечение делится на 4 слоя: 1) адаптации ресурсов, 2) связи, 3) доступа к ресурсам, 4) кооперации, к которым мы добавим еще один - 5) координации.
4. Слой адаптации ресурсов
Слой адаптации является той частью ПО Грид, которая работает на ресурсах и представляет их для использования вовне. Под ресурсами понимаются самые разные элементы, используемые в обработке данных: файловая система, многопроцессорная установка, телекоммуникации, пул компьютеров или даже датчик. Первая задача этого слоя - унификация ресурсов и представление их в виде абстрактных типов со стандартизованным множеством операций.
Вторая задача связана с тем, что набор операций, который непосредственно поддерживается базовым обеспечением ресурсов, недостаточен (или неэффективен) для работы в распределенном варианте Грид. Поэтому, во-первых, слой адаптации вводит необходимые дополнительные средства локального управления ресурсами. Для вычислительных комплексов это пакетные системы (PBS, Condor, LSF, Sun Grid Engine и т.д.). Во-вторых, ввиду разнообразия систем управления проводится опять же их унификация.
Необходимо подчеркнуть, что функциональные возможности вышележащих (над данным) слоев в большой степени определяются тем множеством операций, которые реализованы в слое адаптации. Современное состояние локального управления ресурсами оставляет желать много лучшего как с точки зрения качества реализации, так и с точки зрения богатства набора операций. Хотя средства локального управления формально не входят в номенклатуру ПО Грид, их развитие должно осуществляться параллельно и в тесной связи с остальными вопросами тематики Грид. Далее приводится современный минимум операций для различных типов ресурсов и необходимые расширения.
· Вычислительные ресурсы.
Поддерживаются системами пакетной обработки.
Реализованные операции: 1) запуск / снятие / мониторинг заданий; 2) опрос характеристик оборудования (платформы обрабатывающих узлов, операционные системы), динамического состояния ресурсов (текущей загрузки машин, свободного файлового пространства) и состояния системы управления (характеристики и состояния заданий).