Научная статья на тему 'Технология Грид'

Технология Грид Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
238
112
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕОГРАФИЧЕСКИ РАСПРЕДЕЛЕННАЯ ВЫЧИСЛИТЕЛЬНАЯ ИНФРАСТРУКТУРА / АРХИТЕКТУРА ВЗАИМОДЕЙСТВУЮЩИХ ПРОТОКОЛОВ / ВИРТУАЛЬНАЯ ОРГАНИЗАЦИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Рябов Юрий Фёдорович, Кирьянов Андрей Константинович

В СТАТЬЕ ДАЁТСЯ ОБЩАЯ ИНФОРМАЦИЯ О ТЕХНОЛОГИИ ГРИД. ИЗЛАГАЮТСЯ ОСНОВНЫЕ ПОНЯТИЯ КОНЦЕПЦИИ ГРИД, ОПИСЫВАЕТСЯ АРХИТЕКТУРА, РАССМАТРИВАЮТСЯ БАЗОВЫЕ ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА И ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Рябов Юрий Фёдорович, Кирьянов Андрей Константинович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Технология Грид»

Технология Грид

Юрий Фёдорович Рябов,

профессор, доктор технических наук, зав. отделом информационных технологий и автоматизации Петербургского института ядерной физики им. Б.П. Константинова РАН

Андрей Константинович Кирьянов,

научный сотрудник отдела информационных технологий и автоматизации Петербургского института ядерной физики им. Б.П. Константинова РАН

В СТАТЬЕ ДАЁТСЯ ОБЩАЯ ИНФОРМАЦИЯ О ТЕХНОЛОГИИ ГРИД. ИЗЛАГАЮТСЯ ОСНОВНЫЕ ПОНЯТИЯ КОНЦЕПЦИИ ГРИД, ОПИСЫВАЕТСЯ АРХИТЕКТУРА, РАССМАТРИВАЮТСЯ БАЗОВЫЕ ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА И ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.

• Географически распределенная вычислительная инфраструктура • Архитектура взаимодействующих протоколов • Виртуальная организация •

1. Введение

Технология Грид (Grid) используется для создания географически распределённой вычислительной инфраструктуры, объединяющей ресурсы различных типов с коллективным доступом к этим ресурсам в рамках виртуальных организаций, состоящих из организаций и участников, совместно использующих эти общие ресурсы.

Термин Grid (сетка, решётка) начал использоваться с середины 90-х годов и был выбран по аналогии с сетями передачи и распределения электроэнергии (Power Grids).

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

ванных служб для обеспечения надёжного совместного доступа к географически распределённым информационным и вычислительным ресурсам: отдельным компьютерам, кластерам, хранилищам информации и сетям.

Появление технологии Грид обусловлено следующими предпосылками:

- необходимостью решения сложных учебных, научных, производственных, инженерных и бизнес-задач;

- стремительным развитием сетевой транспортной среды и технологий высокоскоростной передачи данных;

- наличием во многих организациях вычислительных ресурсов: суперкомпьютеров или, что наиболее часто встречается, организованных в виде кластеров персональных компьютеров.

Применение технологии Грид может обеспечить новый качественный уровень, а иногда и реализовать принципиально новый подход в обработке огромных объемов экспериментальных данных, обеспечить моделирова-ние сложнейших процессов, визуализацию больших наборов данных, сложные бизнес-приложения с большими объёмами вычислений.

К настоящему времени уже реализованы и реализуются множество проектов по созданию Грид-систем. Исходя из результатов анализа проектов, можно сделать вывод о трех направлениях развития технологии Грид: вычислительный Грид, Грид для интенсивной обработки данных и семантический Грид для оперирования данными из различных баз данных.

Целью первого направления является достижение максимальной скорости вычислений за счёт глобального распределения этих вычислений между компьютерами. Проект DEISA (www.desia.org) может служить примером этого направления, в котором предпринимается попытка объединения суперкомпьютерных центров.

Целью второго направления является обработка огромных объёмов данных относительно несложными программами по принципу «одна задача - один процессор». Доставка данных для обработки и пересылка результатов в этом случае представляют собой достаточно сложную задачу. Для этого направления инфраструктура Грид представляет собой объединение кластеров. Один из проектов, целью которого и является создание производственной Грид-системы для обработки научных данных, является проект EGEE (Enabling Grids for E-sciencE), который выполняется под эгидой Европейского союза (www.eu-egee.org). Участниками этого проекта являются более 90 научных и образовательных учреждений со всего мира, включая Россию.

Построение инфраструктуры Грид в рамках проекта EGEE ориентировано, в первую очередь, на применение в различных отраслях научной деятельности, в том числе и для обработки данных в физике высоких энергий участниками экспериментов, проводимых на базе создаваемого в Европейском центре ядерных исследований (CERN, www.cern.ch) ускорителя LHC.

Проект EGEE тесно связан на данной фазе развития с проектом LCG (LHC Computing Grid), который, по существу, и является его технологической базой. Ведётся активная работа по расширению российской инфраструктуры Грид (RDIG, www.egee-rdig.ru).

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

- координация использования ресурсов при отсутствии централизованного управления этими ресурсами;

- использование стандартных, открытых, универсальных протоколов и интерфейсов;

- обеспечение высококачественного обслуживания пользователей.

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

2. Концепция Грид

Грид является технологией обеспечения гибкого, безопасного и скоординированного общего доступа к ресурсам. При этом слово «ресурс» понимается в очень широком смысле, т.е. ресурсом может быть аппаратура (жёсткие диски, процессоры), а также системное и прикладное ПО (библиотеки, приложения).

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

Есть два основных критерия, выделяющих Грид-системы среди других систем, обеспечивающих разделяемый доступ к ресурсам:

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

2. Грид-система строится на базе стандартных и открытых протоколов, сервисов и интерфейсов. Не имея стандартных протоколов, невозможно легко и быстро подключать новые ресурсы в Грид-систему, разрабатывать новые виды сервисов и т.д.

Добавим ещё несколько свойств, которыми обычно обладают Грид-системы:

- гибкость, т.е. возможность обеспечения разделяемого доступа потенциально к любым видам ресурсов;

- масштабируемость: работоспособность Грид-системы при значительном увеличении или уменьшении её состава;

- гибкая и мощная подсистема безопасности: устойчивость к атакам злоумышленников, обеспечение конфиденциальности;

- возможность контроля над ресурсами: применение локальных и глобальных политик и квот;

- гарантии качества обслуживания;

- возможность одновременной, скоординированной работы с несколькими ресурсами.

Хотя сама технология Грид не привязана к определённым ресурсам, наиболее часто реализации Грид-систем обеспечивают работу со следующими типами ресурсов:

- вычислительные ресурсы - отдельные компьютеры, кластеры;

- ресурсы хранения данных - диски и дисковые массивы, ленты, системы массового хранения данных;

- сетевые ресурсы;

- программное обеспечение

специализированное ПО.

какое-либо

Отметим разницу между технологией Грид и реализациями Грид-систем. Технология Грид включает в себя лишь наиболее общие и универсальные аспекты, одинаковые для любой системы (архитектура, протоколы, интерфейсы, сервисы). Используя эту технологию и наполняя её конкретным содержанием, можно реализовать ту или иную Грид-систему, предназначенную для решения того или иного класса прикладных задач. Не следует смешивать технологию Грид с технологией параллельных вычислений. В рамках конкретной Грид-системы, конечно, возможно организовать параллельные вычисления с использованием существующих технологий (PVM, MPI), поскольку Грид-систему можно рассматривать как некий мета-компьютер, имеющий множество вычислительных узлов. Однако технология Грид не является технологией параллельных вычислений, в её задачи входит лишь координация использования ресурсов.

3. Архитектура Грид

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

Рис. 1. Уровни архитектуры протоколов Грид и их соответствие уровням архитектуры протоколов Интернета

.....IIIII1M 1............ Вычислительные ресурсы 1II11111111111111111111111 Ресурсы памяти .......MIIII.......IIIIII ■ Информационные : ресурсы

* шшш х- 11ШШШШШ.1ШШШГ !V Т11ШШШШШШШШ1 •X шшшши

Сетевые ресурсы

Рис. 2. Ресурсы Грид

прикладных интерфейсов и средств разработки ПО), не предоставляя строгий набор спецификаций, оставляя возможность их развития в рамках принятой концепции.

3.1. Базовый уровень

Базовый уровень (Fabric Layer) описывает службы, непосредственно работающие с ресурсами. Ресурс является одним из основных понятий архитектуры Грид. Ресурсы могут быть весьма разнообразными, однако, как уже упоминалось, можно выделить несколько основных типов (рис. 2):

- вычислительные ресурсы;

- ресурсы хранения данных;

- информационные ресурсы, каталоги;

- сетевые ресурсы.

Вычислительные ресурсы предоставляют пользователю Грид-системы (точнее говоря, задаче пользователя) процессорные мощности. Вычислительными ресурсами могут быть как кластеры, так и отдельные рабочие станции. При всём разнообразии

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

Ресурсы памяти представляют собой пространство для хранения данных. Для доступа к ресурсам памяти также используется программное обеспечение промежуточного уровня, реализующее унифицированный интерфейс управления и передачи данных. Как и в случае вычислительных ресурсов, физическая архитектура ресурса памяти не принципиальна для Грид-системы, будь то жёсткий диск на рабочей станции или система массового хранения данных на сотни терабайт. Основной характеристикой ресурса памяти является его объём.

Информационные ресурсы и каталоги являются особым видом ресурсов памяти. Они

служат для хранения и предоставления метаданных и информации о других ресурсах Грид-системы. Информационные ресурсы позволяют структурированно хранить огромный объем информации о текущем состоянии Грид-системы и эффективно выполнять задачи поиска. Сетевой ресурс является связующим звеном между распределенными ресурсами Грид-системы. Основной характеристикой сетевого ресурса является скорость передачи данных. Географически распределённые системы на основе рассматриваемой технологии способны объединять тысячи ресурсов разного типа независимо от их географического положения.

3.2. Уровень связи

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

Несмотря на существующие альтернативы, сейчас протоколы уровня связи в Грид-системах предполагают использование только стека протоколов TCP/IP, в частности: на сетевом уровне - IP и ICMP, транспортном уровне - TCP, UDP, на прикладном уровне - HTTP, FTP, DNS, RSVP. Учитывая бурное развитие сетевых технологий, в будущем уровень связи, возможно, будет зависеть и от других протоколов.

Для обеспечения надёжного транспорта сообщений в Грид-системе должны использоваться решения, предусматривающие гибкий подход к безопасности коммуникаций (возможность контроля над уровнем защиты, ограничение делегирования прав, поддержка надёжных транспортных протоколов). В настоящее время эти решения основываются как на существующих стандартах безопасности, изначально разработанных для Интернета (SSL, TLS), так и на новых разработках.

3.3. Ресурсный уровень

Ресурсный уровень (Resource Layer) построен над протоколами коммуникации и аутентификации уровня связи архитектуры Грид. Ресурсный уровень реализует протоколы, обеспечивающие выполнение следующих функций:

- согласование политик безопасности использования ресурса;

- процедура инициации ресурса;

- мониторинг состояния ресурса;

- контроль над ресурсом;

- учёт использования ресурса.

Протоколы этого уровня опираются на функции базового уровня для доступа и контроля над локальными ресурсами. На ресурсном уровне протоколы взаимодействуют с ресурсами, используя унифицированный интерфейс и не различая архитектурные особенности конкретного ресурса.

Различают два основных класса протоколов ресурсного уровня:

1) информационные протоколы, которые получают u1080 информацию о структуре и состоянии ресурса, например, о его конфигурации, текущей загрузке, политике использования;

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

3.4. Коллективный уровень

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

Специфические протоколы создаются для различных приложений Грид, (например, протокол архивации распределённых данных или протоколы управления задачами сохранения состояния и т.п.). Компоненты коллективного уровня предлагают огромное разнообразие методов совместного использования ресурсов. Ниже приведены функции и сервисы, реализуемые в протоколах данного уровня:

- сервисы каталогов позволяют виртуальным организациям обнаруживать свободные ресурсы, выполнять запросы по именам и атрибутам ресурсов, таким как тип и загрузка;

- сервисы совместного выделения, планирования и распределения ресурсов обеспечивают выделение одного или более ресурсов для определённой цели, а также планирование выполняемых на ресурсах задач;

- сервисы мониторинга и диагностики отслеживают аварии, атаки и перегрузку.

- сервисы дублирования (репликации) данных координируют использование ресурсов памяти в рамках виртуальных организаций, обеспечивая повышение скорости доступа к данным в соответствии с выбранными метриками, такими как время ответа, надежность, стоимость и т.п.;

- сервисы управления рабочей загрузкой применяются для описания и управления многошаговыми, асинхронными, многокомпонентными заданиями;

- службы авторизации сообществ способствуют улучшению правил доступа к разделяемым ресурсам, а также определя-

ют возможности использования ресурсов сообщества. Подобные службы позволяют формировать политики доступа на основе информации о ресурсах, протоколах управления ресурсами и протоколах безопасности связывающего уровня;

- службы учёта и оплаты обеспечивают сбор информации об использовании ресурсов для контроля обращений пользователей;

- сервисы координации поддерживают обмен информацией в потенциально большом сообществе пользователей.

3.5. Прикладной уровень

Прикладной уровень (Application Layer) описывает пользовательские приложения, работающие в среде виртуальной организации. Приложения функционируют, используя сервисы, определённые на нижележащих уровнях. На каждом из уровней имеются определённые протоколы, обеспечивающие доступ к необходимым службам, а также прикладные программные интерфейсы (Application Programming Interface - API), соответствующие данным протоколам.

Для облегчения работы с прикладными программными интерфейсами пользователям предоставляются наборы инструментальных средств для разработки программного обеспечения (Software Development Kit - SDK). Наборы инструментальных средств высокого уровня могут обеспечивать функциональность с одновременным использованием нескольких протоколов, а также комбинировать операции протоколов с дополнительными вызовами прикладных программных интерфейсов нижнего уровня. Обратим внимание, что приложения на практике u1084 могут вызываться через достаточно сложные оболочки и библиотеки. Эти оболочки сами могут определять протоколы, сервисы и прикладные программные интерфейсы, однако подобные надстройки не относятся к фундаментальным протоколам и сервисам, необходимым для построения Грид-систем.

4. Понятие о виртуальной организации

Инфраструктура Грид основана на предоставлении ресурсов в общее пользова-

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

Любая ВО располагает определённым количеством ресурсов, которые предоставлены зарегистрированными в ней владельцами (некоторые ресурсы могут одновременно принадлежать нескольким ВО). Каждая ВО самостоятельно устанавливает правила работы для своих участников, исходя из соблюдения баланса между потребностями пользователей и наличным объемом ресурсов, поэтому пользователь должен обосновать свое желание работать с Грид-системой и получить согласие управляющих органов ВО. Грид-система является средой коллективного компьютинга, в которой каждый ресурс имеет владельца, а доступ к ресурсам открыт в разделяемом по времени и по пространству режиме множеству входящих в ВО пользователей. Виртуальная организация может образовываться динамически и иметь ограниченное время существования.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Таким образом, можно определить Грид-систему как пространственно распределенную операционную среду с гибким, безопасным и скоординированным разделением ресурсов для выполнения приложений в рамках определённых виртуальных организаций.

К настоящему времени существует множество ВО, входящих в различные Грид-системы. Примерами ВО, действующих в рамках проекта LCG-2 (Грид для обработки данных с ускорителя LHC, строящегося в CERN), являются ВО экспериментов, которые планируется проводить на этом ускорителе: ATLAS, CMS, Alice, LHCb.

5. О распределении ресурсов в Грид

Эффективное распределение ресурсов и их координация являются основными задачами

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

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

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

В Грид-системах используется сложная система обнаружения и классификации ошибок. Если ошибка произошла по вине задачи, то задача будет остановлена, а соответствующая диагностика направлена ее владельцу (пользователю). Если причиной сбоя послужил ресурс, то планировщик произведёт перераспределение ресурсов для данной задачи и перезапустит её.

Сбои ресурсов являются не единственной причиной отказов в Грид-системах. Из-за

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

В распределённой среде, какой является Грид-система, жизненно важным свойством является отсутствие так называемой единственной точки сбоя. Это означает, что отказ любого ресурса не должен приводить к сбою в работе всей системы. Именно поэтому планировщик, система мониторинга и другие сервисы Грид-системы распределены и продублированы. Несмотря на всю сложность, архитектура Грид разрабатывалась с целью обеспечить максимальное качество сервиса для пользователей. В Грид-системах используются современные технологии передачи данных, обеспечения безопасности и отказоустойчивости.

6. Инструментальные средства Грид (Globus Toolkit)

В этом разделе будет рассмотрен набор инструментальных средств, используемых при реализации проектов Грид и разработанных в рамках проекта Глобус (Globus Project). Эти инструментальные средства образуют набор программных средств Globus Toolkit и позволяют построить полнофункциональную Грид-систему. Средства Globus Toolkit представляют собой совокупность программных компонент, реализующих необходимые части архитектуры. Globus Toolkit состоит из следующих основных компонент:

- GRAM (Globus Resource Allocation Manager), ответственный за создание/удаление процессов. Этот компонент Globus Toolkit устанавливается на вычислительном узле Грид-системы (узлом может быть как рабочая станция, так и вычислительный кластер). Пользовательские приложения формируют запросы к GRAM на специальном языке RSL (Resource Specification Language).

- MDS (Monitoring and Discovery Service)

обеспечивает способы представления информации о Грид-системе. Эта информация может быть самой разнообразной и содержать, например, данные о конфигурации или состоянии как всей системы, так и отдельных её ресурсов (тип ресурса, доступное дисковое пространство, количество процессоров, объем памяти, производительность и прочее). Вся информация логически организована в виде дерева, и доступ к ней осуществляется по стандартному протоколу LDAP (Lightweight Directory Access Protocol).

- GSI (Globus Security Infrastructure) обеспечивает защиту, включающую шифрование данных, а также аутентификацию (проверка подлинности, при которой устанавливается, что пользователь или ресурс действительно является тем, за кого себя выдает) и авторизацию (процедура проверки, при которой устанавливается, что аутентифицированный пользователь или ресурс действительно имеет затребованные права доступа) с использованием цифровых сертификатов Х.509.

- GASS (Global Access to Secondary Storage) предоставляет возможность хранения массивов данных в распределённом окружении и доступа к этим данным. Определяет различные стратегии размещения данных.

- Библиотеки globus_io и Nexus используются как прикладными программами так и компонентами Globus Toolkit для сетевого взаимодействия узлов в гетерогенной среде. Далее более подробно рассмотрены некоторые из этих компонент. Следует отметить, что Globus Toolkit не содержит брокера ресурсов, оставляя задачу его реализации разработчикам, создающим системы Грид на его основе.

6.1. Управление ресурсами

Архитектура средств управления ресурсами (Globus Resource Management Architecture -GRMA) имеет многоуровневую структуру (рис. 3). Запросы пользовательских приложений выражаются на RSL и передаются брокеру ресурсов, который отвечает за высокоуровневую координацию использования ресурсов (балансировку загрузки) в определенном домене. На основе передан-

Рис. 3. Архитектура средств управления ресурсами

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

При выборе вычислительного узла брокер ресурсов должен определить, какие узлы доступны в текущий момент, их загрузку, производительность и другие параметры, указанные в RSL-запросе, выбрать наиболее оптимальный вариант (это может оказаться один вычислительный узел или несколько), сгенерировать новый RSL-запрос (ground RSL) и передать его высокоуровневому менеджеру ресурсов (co-allocator). Этот запрос будет содержать уже более конкретные данные, такие, как имена конкретных узлов, требуемое количество памяти и др. Основные функции высокоуровневого менеджера ресурсов перечислены ниже:

- коллективное выделение ресурсов;

- добавление/удаление ресурсов к ранее выделенным;

- получение информации о состоянии задач;

- передача начальных параметров задачам.

Высокоуровневый менеджер ресурсов производит декомпозицию запросов ground RSL на множество более простых RSL-запросов и передает эти запросы GRAM. Далее, при отсутствии сообщений об ошибках от GRAM, задача пользователя запускается на исполнение. В случае, если один из GRAM возвращает ошибку, задача либо снимается с выполнения, либо попытка запуска производится повторно.

Менеджер GRAM предоставляет верхним уровням универсальный API для управления ресурсами узла Грид. Сам GRAM взаимодействует с локальными средствами управления ресурсами узла. Узлом может быть, например, рабочая станция или вычислительный кластер.

6.2. Организация доступа к ресурсам

GRAM - достаточно низкоуровневый компонент Globus Toolkit, являющийся интерфейсом между высокоуровневым менеджером ресурсов и локальной системой правления ресурсами узла. В настоящее время этот интерфейс может взаимодействовать со следующими локальными системами управления ресурсами:

- PBS (Portable Batch System) - система управления ресурсами и загрузкой кластеров. Может работать на большом числе раз-

Рис. 4. Структура GRAM

личных платформ: Linux, FreeBSD, NetBSD, Digital Unix, Tru64, HP-UX, AIX, IRIX, Solaris. В настоящее время существует свободная и обладающая более широкими возможностями реализация PBS, называемая Torque.

- LSF (Load Sharing Facility) - система, аналогичная PBS. Разработана компанией Platform Computing. Также способна работать на множестве платформ.

- NQE (Network Queuing Environment) - продукт компании Cray Research, использующийся чаще всего как менеджер ресурсов на суперкомпьютерах, кластерах и системах Cray, хотя может работать и на других платформах.

- LoadLeveler - продукт компании IBM, управляющий балансом загрузки крупных кластеров. Используется в основном на кластерах IBM.

- Condor - свободно доступный менеджер ресурсов, разработанный в основном студентами различных университетов Европы и США. Аналогичен вышеперечисленным. Работает на различных платформах UNIX и Windows NT.

- Easy-LL - совместная разработка IBM и Cornell Theory Center, предназначенная для управления крупным кластером IBM в этом центре. По сути является объединением LoadLeveler и продукта EASY лаборатории Argonne National Lab.

- fork - простейшее стандартное средство запуска процессов в UNIX.

Структура GRAM представлена на рис. 4.

Чтобы на данном вычислительном узле можно было удаленно запускать на исполнение программы, на нём должен выполняться специальный процесс называемый Gatekeeper. Gatekeeper работает в привилегированном режиме и выполняет следующие функции:

- производит взаимную аутентификацию с клиентом;

- анализирует RSL запрос;

- отображает клиентский запрос на учётную запись некоторого локального пользователя;

- запускает от имени локального пользователя специальный процесс, называемый Job Manager, и передаёт ему список требующихся ресурсов.

После того, как Gatekeeper выполнит свою работу, Job Manager запускает задание (процесс или несколько процессов) и производит его дальнейший мониторинг, сообщая клиенту об ошибках и других событиях. Gatekeeper запускает только один Job Manager для каждого пользователя, который управляет всеми заданиями данного пользователя. Когда заданий больше не остаётся, Job Manager завершает работу.

6.3. Информационный сервис

Все перечисленные компоненты, включая пользовательские приложения, могут использовать информационный сервис (Information Service) для получения всей необходимой информации о состоянии Грид-системы. В Globus Toolkit роль информационного сервиса играет MDS. Этот компонент отвечает за сбор и предоставление конфигурационной информации, информации о состоянии Грид-системы и

Рис. 5. Иерархическая структура MDS

её подсистем, а также обеспечивает универсальный интерфейс получения требуемой информации.

MDS имеет децентрализованную, легко масштабируемую структуру и работает как со статическими, так и с динамически меняющимися данными, необходимыми пользовательским приложениям и различным сервисам Грид-системы. Иерархическая структура MDS представлена на рис. 5.

MDS состоит из трёх основных компонент:

1. IP (Information Provider) - является источником информации о конкретном ресурсе или части ресурса;

2. GRIS (Grid Resource Information Service) -предоставляет информацию об узле Грид-системы, который может быть как вычислительным узлом, так и каким-либо другим ресурсом. GRIS опрашивает индивидуальные IP и объединяет полученную от них информацию в рамках единой информационной схемы;

3. GIIS (Grid Index Information Service) - объединяет информацию из различных GRIS или других GIIS. Для уменьшения времени реакции на запрос и снижения сетевого трафика GIIS кэширует данные. GIIS верхнего уровня содержит всю информация о состоянии данной системы Грид.

7. Пользователь в Грид

Система входа пользователя в Грид-систему достаточно сложна. Это определено многими факторами, но главной проблемой является решение вопросов безопасности (угрозы вторжений и атак злоумышленников).

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

- Единый вход. Пользователь должен регистрироваться и аутентифицироваться только один раз в начале сеанса работы, получая доступ ко всем разрешённым ресурсам базового уровня архитектуры Грид.

- Делегирование прав. Пользователь должен иметь возможность запуска программ от своего имени. Таким образом, программы получают доступ ко всем ресурсам, на которых авторизован пользователь. Пользовательские программы могут, при необходимости, делегировать часть своих прав другим программам.

- Доверительное отношение к пользователю. Если пользователь запросил одновременную работу с ресурсами нескольких поставщиков, то при конфигурации защищенной среды пользователя система безо-

пасности не должна требовать взаимодействия поставщиков ресурсов друг с другом.

Для входа в Грид-систему пользователь должен:

1) быть легальным пользователем вычислительных ресурсов в своей организации;

2) иметь персональный цифровой сертификат, подписанный центром сертификации;

3) быть зарегистрированным хотя бы в одной виртуальной организации. Получение цифрового сертификата является важным и необходимым шагом для получения доступа к Грид-системе. Цифровой сертификат аналогичен паспорту и однозначно идентифицирует пользователя. Для получения цифрового сертификата пользователю необходимо обратиться в Центр сертификации. Обычно центры сертификации существуют либо в рамках организаций, участвующих в каких-либо проектах Грид (например, CERN или INFN), либо в рамках целой федерации (Россия). Российский Центр сертификации в настоящий момент находится в научном центре «Курчатовский институт» (ca.grid.kiae.ru/RDIG/).

Подробную инструкцию по получению цифрового сертификата можно получить непосредственно в Центре сертификации, а здесь укажем лишь основные шаги при выполнении этой инструкции:

- создание на компьютере пользователя (на пользовательском интерфейсе) двух файлов - закрытого ключа и запроса на сертификат;

- отсылка запроса на сертификат в центр сертификации;

- получение из центра сертификации подписанного открытого ключа (требуется проверка личности пользователя).

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

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

Доступ к Грид-системе может быть произведён из любой точки (вычислительной системы, терминала), в которой установлен пользовательский интерфейс системы Грид. Он может быть выполнен различными способами (командная строка, веб-интерфейс), однако должен предоставлять пользователю возможность полноценно работать с Грид-системой, т.е. запускать новые задания, управлять уже запущенными и получать результаты работы завершившихся заданий. Наиболее стандартным является интерфейс командной строки (Command Line Interface - CLI), позволяющий выполнять все операции по управлению заданиями и данными, а также административные действия. Серьёзные минусы этого интерфейса - его «недружественность» к пользователю и отсутствие ориентации на конкретное приложение. Пользователю намного удобнее работать со средой, ориентированной на решаемую им задачу и предоставляющую удобный графический интерфейс. Эту задачу решают веб-интерфейсы, позволяющие работать с Грид-системой прямо из браузера.

8. Заключение

Даже из этого краткого введения в технологию можно получить представление о новизне, масштабах и интенсивности внедрения этой технологии в различные сферы человеческой деятельности. Любая поисковая система в Интернете на запрос «GRID» выдаст сотни сайтов, представляющих различные аспекты этой технологии, проекты на её базе, примеры различных приложений и т.д. Все это означает не только масштабы, но и отражает результаты внедрения принципиально нового подхода к организации вычислительного процесса в различных областях науки, техники, экономики. □

i Надоели баннеры? Вы всегда можете отключить рекламу.