Автор работы: Пользователь скрыл имя, 21 Декабря 2011 в 23:21, реферат
В 1989 году сотрудник Европейского центра ядерных исследований (ЦЕРН, Женева) Тим Бернерс-Ли изобрел принципиально новый способ свободного доступа в Сеть - World Wide Web (WWW - Всемирная Паутина). Сегодня ЦЕРН вновь, фактически, становится инициатором дальнейшей эволюции интернета - создается система распределенных компьютерных вычислений GRID.
Legion подходит
к grid-архитектуре с точки
Globus основывается на следующих положениях:
Globus сосредоточен
на создании сервисами нижнего
уровня для безопасности, коммуникаций,
расположения и выделения
Скорее всего, в недалеком будущем возникнет некая комбинация из объявленных ныне архитектурных подходов.
Архитектура Grid задает требования для основных классов компонент технологии (протоколов, сервисов, API, SDK), однако она не предоставляет строгий набор спецификаций, оставляя возможность их свободного развития в рамках представленной концепции. Архитектура Grid протоколов разделена на уровни (рис. 1). Компоненты на каждом уровне могут использовать возможности и компоненты любого из нижерасположенных уровней.
Рис. 1 Уровни архитектуры Grid протоколов и их соответствие уровням архитектуры протоколов Internet.
Архитектура Grid протоколов описывается моделью "песочных часов" [5], которой также описывается TCP/IP. Узкое горлышко таких часов содержит минимальный набор протоколов (для TCP/IP - узкое горлышко транспортные протоколы TCP, UDP). В модели объединяется максимально большое количество сервисов, расположенных на дне песочных часов, с максимально большим количеством сервисов на их вершине через узкое горлышко. Число протоколов в горлышке должно быть малым. Технологии, разработанные в рамках модели "песочных часов", обеспечивают надежность, качество совместимости разнообразных сервисов. В архитектуре Grid горлышко часов расположено в области ресурсного и связывающего уровней, упрощающих разделение ресурсов. Протоколы этих уровней с одной стороны, могут являться вершиной большого количества типов ресурсов, определенных на базовом уровне (уровне локального управления), а с другой стороны, могут быть использованы как базовые для широкого спектра глобальных сервисов и приложений на коллективном уровне.
Практическую реализацию архитектуры Grid протоколов иллюстрируют протоколы, определенные в Globus Toolkit [4]. Они широко используются в Grid проектах NSF - National Technology Grid, NASA - Information Power Grid, DOE - DISCOM, GriPhyN (www.griphyn.org), NEESgrid (www.neesgrid.org), Particle Physics Data Grid (www.ppdg.net), и European Data Grid (www.eu-datagrid.org).
Приступим к рассмотрению отдельных уровней архитектуры Grid протоколов.
Базовый уровень: мостик к локальному контролю
Базовый уровень Grid (Grid Fabric layer) описывает службы, непосредственно работающие с ресурсами, к которым предоставляется разделяемый доступ посредством Grid-протоколов. Термин "ресурсы" достаточно широк, и включает как аппаратные, так и программные средства: вычислительные ресурсы, хранилища данных, каталоги, сетевые ресурсы, датчики, и т.п. Ресурсом может быть любая логическая единица, например, распределенная файловая система, компьютерный кластер или распределенный компьютерный пул. В таких случаях, ресурс может использовать внутренние протоколы (например, протокол NFS или протоколы управления кластером), которые не являются компонентами Grid архитектуры.
Сервисы базового уровня реализуют локальные, специфические для каждого конкретного ресурса операции. Они позволяют организовать совместное использование ресурса на более высоких уровнях Grid-архитектуры. Иногда, базовые компоненты могут сами поддерживать некоторые функции совместного использования ресурса, тогда качество операций, производимых на верхних уровнях, повышается, функции разделения ресурсов становятся более гибкими. Однако, обычно большинство базовых компонент уже имеют определенные сложившиеся характеристики.
Исходя из требований практики, на базовом уровне должны быть, как минимум, реализованы следующие сервисы: механизм опроса ресурсов, позволяющий описать структуру, состояние, возможности ресурсов, и механизм управления, обеспечивающий контроль над качеством поставляемых услуг. Приведем требования к этим сервисам в зависимости от специфики ресурсов.
· Вычислительные ресурсы. Функции опроса должны предоставлять характеристики программного и аппаратного обеспечения, информацию о текущей загрузке, состоянии очередей и пр. Для вычислительных ресурсов требуются механизмы управления, обеспечивающие запуск программы, мониторинг и контроль над выполнением порождаемых процессов, желательно наличие контроля за распределением ресурсов по процессам, расширенное резервирование.
· Для ресурсов хранения необходимы механизмы работы с файлами (получения/отправления). Другие полезные механизмы управления:
Функции опроса, в данном случае, требуются для определения характеристик программного и аппаратного обеспечения, получения информации о доступной ёмкости систем хранения, использовании полосы пропускания и т.д.
· Сетевые ресурсы. Механизмы управления должны обеспечивать контроль над выделением ресурсов во время передачи по сети (пример механизмов, приоритет передачи данных, резервирование дополнительных каналов). Функции опроса сетевых ресурсов позволяют определить характеристики и загрузку сети.
· Репозитории кода - специальная форма ресурсов хранения - нуждаются в механизмах управления версиями и хранимыми объектами. Примером реализации подобного рода механизмов может служить система CVS.
· Каталоги, представляющие собой ещё одну форму ресурсов хранения, должны быть оснащены механизмами поддержки запросов и средствами обновления информации, такими, как реляционные базы данных.
Современная реализация Grid, Globus Toolkit, была разработана таким образом, чтобы использовать существующие сервисы, соответствующие базовому уровню, включая протоколы и интерфейсы производителей. Если эти сервисы не предоставляют необходимый набор механизмов управления и функций опроса базового уровня, Globus Toolkit восполняет пробелы в функциональности. Например, в Globus Toolkit был создан механизм опроса, обеспечивающий сбор информации для самых разнообразных и наиболее распространенных типов ресурсов, таких как компьютеры (включая тип операционной системы, аппаратные конфигурации, загрузку и состояние очередей), хранилища данных (доступность свободного пространства), сети (текущую загрузку и предсказание состояния). Управление ресурсами на этом уровне оставлено в зоне ответственности локальных систем. Исключение составляет многофункциональная архитектура резервирования и выделения ресурсов (General-purpose Architecture for Reservation and Allocation - GARA). Она предоставляет, так называемый, "менеджер слотов" для выполнения продвинутого резервирования тех ресурсов, которые не обеспечены изначально подобной возможностью. Другие разработки Globus Toolkit касаются усовершенствования уже существующих систем Portable Batch System (PBS) и Condor, которые сами поддерживают возможности продвинутого резервирования.
Связывающий уровень: простой и защищенный обмен
Связывающий уровень (Connectivity layer) определяет основные положения для протоколов коммуникации и протоколов аутентификации, выполняющих специфические Grid-транзакции. Протоколы коммуникации обеспечивают обмен данными между компонентами базового уровня. Протоколы аутентификации, основываясь на средствах коммуникации, предоставляют механизмы криптографической защиты для идентификации и верификации пользователей и ресурсов.
Коммуникации должны обеспечивать транспорт и маршрутизацию сообщений, присвоение имен объектам сети. Несмотря на существующие альтернативы, сейчас протоколы коммуникации предполагают использование только стека протоколов TCP/IP, в частности: на сетевом уровне - IP и ICMP, транспортном уровне - TCP, UDP, на прикладном уровне - DNS, OSPF, RSVP и т.д. Учитывая бурное развитие сетевых технологий, в будущем коммуникации Grid возможно будут зависеть и от других протоколов.
Исходя из практического опыта, а также сложности проблем безопасности, решения Grid на связывающем уровне придерживаются существующих стандартов безопасности. Как и в случае с коммуникациями, используются стандарты защиты, разработанные для Internet. Аутентификационные решения для сред виртуальных организаций должны обладать следующими свойствами:
· Единый вход. Пользователь должен регистрироваться и аутентифицироваться только один раз в начале сеанса работы, получая доступ ко всем разреш?нным ресурсам базового уровня Grid.
· Делегирование прав. Пользователь должен иметь возможность запуска программ от своего имени, таким образом, программы получают доступ ко всем ресурсам, на которых авторизован пользователь. Пользовательские программы могут, при необходимости, делегировать часть своих прав другим программам.
· Доверительное отношение к пользователю. Если пользователь запросил одновременную работу с ресурсами нескольких поставщиков, то при конфигурации защищенной среды пользователя система безопасности не должна требовать непосредственного взаимодействия между поставщиками ресурсов. Например, пользователь авторизован на сайтах А и В, тогда он может работать на сайтах А и В одновременно без дополнительного разрешения администраторов А и В.
Решения Grid по безопасности должны предусматривать гибкий подход к безопасности коммуникаций (в т.ч. контроль над уровнем защиты, обеспечение независимой безопасности для ненадежных протоколов, поддержка нескольких надежных транспортных протоколов, не только TCP) и предоставлять возможность контроля над сервисами авторизации, в том числе возможность ограничения делегирования прав разными способами.
Связывающий уровень Globus Toolkit реализован на базе стандартных Internet-протоколов. Аутентификация, безопасность коммуникаций и авторизация обеспечивается специальными протоколами инфраструктуры безопасности Grid (Grid Security Infrastructure - GSI). Для того чтобы соответствовать критериям, описанным выше - единый вход, делегирование прав, интеграция с локальными системами защиты, доверительное отношение к пользователю, GSI надстраивает и расширяет протоколы защиты транспортного уровня (Transport Layer Security TLS). Для выдачи сертификатов идентификации применяется формат X.509. Контроль над авторизацией выполняется через интерфейс общей авторизации и доступа (Generic Authorization and Access - GAA). В современной версии Globus Toolkit средства ограничения делегирования не богаты, однако могут быть расширены, что продемонстрировано в работающих прототипах.
Ресурсный уровень: разделение единичных ресурсов
Ресурсный уровень (Resource layer) надстроен над протоколами коммуникации и аутентификации связывающего уровня Grid. Ресурсный уровень реализует следующие протоколы для работы с каждым ресурсом, включенным в Grid:
· согласование политик безопасности использования ресурса,
· процедура инициации ресурса,
· мониторинг состояния ресурса,
· контроль над ресурсом,
· учет ресурса,
· оплата операций совместного использования ресурса.
Протоколы этого уровня опираются на функции базового уровня для доступа и контроля над локальными ресурсами. На ресурсном уровне протоколы взаимодействуют с каждым ресурсом как с единым целым, игнорируя при этом глобальное состояние системы, существующие кросс-связи, которые входят в зону ответственности коллективного уровня Grid.
Различают два основных класса протоколов ресурсного уровня:
· Информационные протоколы, которые получают информацию о структуре и состоянии ресурса, например, о его конфигурации, текущей загрузке, политике использования.
· Протоколы управления, которые используются для согласования доступа к разделяемым ресурсам, определяя требования и допустимые действия по отношению к ресурсу (например, поддержка продвинутого резервирования, возможность создания процессов, доступ к данным). Протоколы управления должны проверять соответствие запрашиваемых действий политике разделения ресурса, включая учет и оплату. Они могут поддерживать функции мониторинга статуса и управления операциями.