Несмотря на популярность grid, виртуальным организациям еще только предстоит стать массовой технологией — ими сложно управлять и трудно гарантировать изоляцию пользователя и организации. Однако имеется ряд подходов к управлению виртуальной организацией, в частности с помощью XtreemOS — новой операционной системы для grid, изначально поддерживающей широкий спектр вычислительных ресурсов, от кластеров до мобильных устройств.
Программное обеспечение промежуточного слоя для grid становится неотъемлемой частью научных вычислений. Понятие виртуальных организаций (virtual organization, VO) играет важную роль в вычислительных grid с большим количеством пользователей и вычислительных узлов. VO представляет собой объединение пользователей и реальных организаций, совместно предоставляющих ресурсы, необходимые для достижения общей цели. Для grid-вычислений физические машины, сервисы, приложения и наборы данных, а также многое другое можно рассматривать как ресурсы. Общая цель виртуальных организаций — это способность предоставлять композитную платформу, на которой пользователи могут произвольно запускать свои приложения, хотя не следует забывать о поддержке временных виртуальных организаций либо VO, предназначенных для решения специальных задач.
Виртуальные организации формируются путем объединения в группы пользователей, которые совместно работают с расширенными наборами ресурсов. Доступ к ресурсам и их совместное использование — как правило, в многодоменной и гетерогенной среде — нетривиальная задача, если вы хотите обеспечить хотя бы базовые возможности аутентификации, поддержки безопасности и управления ресурсами. Технологии виртуальных организаций еще только предстоит получить широкое коммерческое распространение, поскольку сейчас ими сложно управлять, и, кроме того, трудно гарантировать взаимную изоляцию различных пользователей и виртуальных организаций.
XtreemOS (www.xtreemos.eu ) — новый европейский проект, цель которого — разработать, реализовать, оценить и внедрить свободно распространяемую операционную систему, которая поддерживает grid-приложения и работает на различных платформах, от кластеров до мобильных устройств. Задача состоит в том, чтобы предоставить абстрактный интерфейс к удаленным и локальным ресурсам таким же образом, как это делает традиционная операционная система для одного компьютера. Сейчас уже ясно, что поддержка и управление VO занимают центральное место в XtreemOS и тесно связаны с общей архитектурой системы и ее реализацией. Рассмотрим, как XtreemOS поддерживает виртуальные организации и как можно реализовать всю систему в целом.
Подход XtreemOS
XtreemOS базируется на Linux, а одной из ее основных особенностей является поддержка виртуальных организаций. Однако конкретная реализация VO зависит от ее назначения: одни подходы ориентированы на юридические или контрактные соглашения между участвующими сторонами, в то время как другие подходы, базирующиеся на задачах, особое внимание уделяют управлению потоком работ. Виртуальные организации могут быть самыми разными, от долгосрочного сотрудничества между множеством пользователей (как в крупномасштабных научных приложениях) до краткосрочных динамических организаций с несколькими участниками, собравшимися для решения одной задачи (как в коммерческих проектах). Операционная система grid общего назначения должна использовать гибкий подход для поддержки широкого спектра приложений. XtreemOS предоставляет инструментарий, который системные администраторы могут конфигурировать с учетом потребностей своих пользователей и приложений.
В XtreemOS набор системных сервисов, расширенный по отношению к Linux, предоставляет пользователям возможности, относящиеся к программному обеспечению промежуточного уровня для grid. Это означает, что XtreemOS значительно упростит использование виртуальных организаций и управление ими, не оказывая негативного влияния на эффективность, гибкость или обратную совместимость. Администраторы, применяющие этот подход, придут к выводу, что создавать виртуальные организации относительно просто, поскольку инструменты оформлены в один пакет, конфигурировать который можно «одним щелчком мыши». Пользователям не нужно изучать новые интерфейсы и инструментальные средства для того, чтобы использовать технологию виртуальных организаций, учитывая, что большая часть инструментов предоставляется им с помощью стандартных команд Unix. Для того чтобы выполнять приложения в рамках виртуальных организаций, их не нужно будет модифицировать, поскольку большинство прикладных программных интерфейсов XtreemOS соответствуют POSIX (Portable Operating System Interface based on Unix). Таким образом, многие барьеры на пути использования виртуальных организаций будут устранены.
Задачи
При проектировании XtreemOS мы в первую очередь руководствовались результатами проведенного на раннем этапе проекта анализа требований по 14 научным и корпоративным бизнес-приложениям [1]. Исходя из этого и после анализа существующих решений VO для grid мы определили несколько основных задач, которые модель и реализация VO должны решить для того, чтобы виртуальные организации получили широкое распространение.
Интероперабельность с другими оболочками. Существует несколько различных оболочек управления VO и моделей обеспечения безопасности, причем постоянно появляются все новые. Их реализации различаются по тому, как они представляют идентификационные данные разных пользователей (например, сертификаты X.509 и дескрипторы Shibboleth, shibboleth.internet2.edu), по протоколам обмена информацией (например, модели push и pull, а также модели на базе агентов), по представлению атрибутов защиты (например, прокси-сертификаты или токены SAML) и моделям управления доступом (например, управление доступом на базе ролей).
В XtreemOS виртуальные организации должны взаимодействовать с существующими решениями и традиционными механизмами защиты систем (такими, как Kerberos), а не подменять их.
Настраиваемая изоляция, управление доступом и аудит. Система защиты grid должна обеспечивать строгое управление доступом с уровня системы до уровня системных объектов. Помимо существующего локального управления доступом, позволяющего выполнять утвержденные VO политики, проект должен предоставлять возможности строгой изоляции, необходимые во многих коммерческих приложениях. Скрыть идентификаторы пользователей, обеспечить защиту файлов и процессов, а также поддерживать и скрывать нагрузку на производительность без помощи ОС крайне сложно. Все это требует накладных расходов, которые приемлемы только в определенных контекстах. Однако, в любом случае ИТ-администраторы должны иметь возможность вести мониторинг и регистрировать использование сервисов ОС, а также контролировать доступ к системным объектам, чтобы гарантировать неподдельность регистрационной информации.
Масштабируемость управления динамической VO. При grid-реализации VO возникают серьезные вопросы масштабируемости, касающиеся производительности системы и ее способности адаптироваться к изменениям. Поскольку к ресурсному узлу могут получать доступ тысячи пользователей grid из различных виртуальных организаций, локальная операционная система должна обеспечивать возможности строгой изоляции. Когда виртуальные организации создаются или меняются динамически, поддержка согласованности статических локальных конфигураций, даже если она частично автоматизирована, превращается в сложную задачу и создает серьезную административную нагрузку.
Таким образом, для того чтобы поддерживать большое количество пользователей в динамической среде, в XtreemOS отказались от реализаций, которые опирались бы на локальные конфигурационные файлы, содержащие статическую информацию о пользователях и ресурсах.
Простота использования и управления. Обычные системы аутентификации в существующем программном обеспечении промежуточного слоя для grid не зависят от инфраструктур защиты, имеющихся в большинстве операционных систем. Например, в Globus (www.globus.org ) или Glite (glite.web.cern.ch/glite) пользователь должен в явном виде получить и управлять по крайней мере двумя независимыми идентификаторами: локальным, который важен для операционной системы, инициирующей grid-запрос, и grid-идентификатором для аутентификации в grid. Эти идентификаторы, как правило, выпускаются различными организациями и поддерживаются различными технологиями защиты, такими как Kerberos и Public Key Infrastructure (PKI). Управление вручную несколькими учетными записями может оказаться весьма обременительной задачей для пользователей, не владеющих техническими навыками и зачастую не имеющих большого опыта работы с PKI.
Принципы проектирования
В XtreemOS поддержка виртуальных организаций строится на нескольких принципах проектирования, которые группа XtreemOS сформулировала, опираясь на общие принципы ведения проекта.
Единая регистрация. В XtreemOS реализуется управление учетными записями путем интеграции аутентификации уровня grid с аутентификацией уровня системы. Поскольку XtreemOS — это операционная система grid, то она предоставляет пользователям доступ к ресурсам grid по единой регистрации (Single Sign-On, SSO). С точки зрения защиты пользователям не нужно знать о дополнительных шагах по аутентификации, благодаря чему достигается более высокий уровень прозрачности для grid.
Независимость управления пользователями и ресурсами. В соответствии с основным подходом XtreemOS разработана система безопасности, ориентированная на VO, — набор сервисов защиты, которые четко отделяют управление пользователями от управления ресурсами в рамках VO. Благодаря такому разделению, добавление или удаление пользователей VO не оказывает серьезного влияния на производительность и не меняет конфигурацию управления ресурсами в VO и наоборот. Тем не менее мы используем преимущества интеграции такого решения в сервисы системного уровня.
Динамическая установка соответствия между объектами Unix и VO. Для того чтобы добиться максимальной обратной совместимости, XtreemOS использует систематический подход к расширению Linux, дополняя эту ОС поддержкой VO, которая почти прозрачна для сервисов и приложений более высокого уровня. Это требует определенных механизмов для установки соответствия между пользователями grid и локальными Unix-идентификаторами группы и пользователя (User and Group Identifier, UID/GID). Подобное соответствие необходимо для того, чтобы перевести политики VO в правила авторизации Unix и преобразовать атрибуты прав доступа в права доступа Unix. Благодаря такому подходу пользователи получают возможность выполнять унаследованные приложения, не модифицируя их, на компьютере с XtreemOS, при этом используя архитектуру VO.
Минимальные изменения в ядре Linux. Проект XtreemOS ставит своей целью минимизировать изменения в ядре Linux, создавая благоприятные условия для его применения пользователями и разработчиками, и тем самым упрощает задачу поддержки дополнения кода XtreemOS по мере развития основного ядра Linux. Там, где необходимы операции уровня ядра, XtreemOS должна делать это за счет использования стандартных модульных подсистем Linux.
Управление VO в XtreemOS
Пока архитектура управления VO (VO management, VOM) в XtreemOS на самом деле не требует никаких изменений в коде ядра. VOM состоит из набора сервисов защиты, работающих в Linux, и набора более низкоуровневых механизмов уровня ядра. Рассмотрим высокоуровневую распределенную архитектуру сервисов VOM в XtreemOS, а затем базовые механизмы, которые, за счет использования гибкости конкретных подсистем Linux, позволяют конфигурировать экземпляр ядра так, чтобы бесконфликтно устанавливать соответствие между объектами VO и объектами Unix.
Архитектура VOM в XtreemOS
VOM позволяет логически группировать инфраструктурные сервисы, необходимые для управления объектами, входящими в состав VO, и гарантировать согласованное и взаимосвязанное использование ресурсов, возможностей и информации в виртуальной организации. VOM охватывает пять сервисов: идентификацию, атрибуты, учетные данные, членство и политику. Учитывая, что эти сервисы поддерживают инфраструктуру аутентификации и авторизации XtreemOS, мы называем их сервисами защиты.
На рис. 1 показана архитектура VOM операционной системы XtreemOS, связи между VOM и другими основными компонентами, в том числе выполнение приложений, управление данными, поддержка VO системного уровня и защита. Связывает компоненты XOS-Cred — набор краткосрочных учетных данных VO, которые VOM предоставляет пользовательскому приложению. Он состоит из двух частей. Первая, XOS-Cert, является открытой (содержит в том числе открытый ключ, идентификатор VO и атрибуты VO), а вторая часть — закрытой (например, частный ключ). С помощью XOS-Cred пользовательское приложение может устанавливать доверительные отношения с объектами grid, такими как ресурсные узлы или сервисы управления данными. Механизмы поддержки VO системного уровня помогают обеспечить управление ресурсами системного уровня, учет и изоляцию.
Сервисы управления выполнением приложений (Application Execution Management, AEM) передают данные из XOS-Cert ресурсным узлам для аутентификации и авторизации [2]. Информация об использовании ресурсов возвращается VOM через AEM таким образом, что учет в рамках всей VO ведется в режиме реального времени. Кроме того, AEM посредством сервиса политик VO осуществляют управление использованием ресурсов в рамках всего VO и производят отсев тех ресурсов, которые не удовлетворяют политикам VO.
XtreemFS — это распределенная, ориентированная на объекты файловая система XtreemOS [3]. Она использует атрибуты VO из VOM, например группы для формирования списков управления доступом (Access Control List, ACL). Вместе с XOS-Cred списки ACL позволяют управлять доступом к файлам с данными.
Сервисы защиты для управления VO
Каждая виртуальная организация связана с субъектом, менеджером VO, который запускает все сервисы VOM и имеет сертификат открытого ключа, выданный центром сертификации (Certification Authority, CA). Этот сертификат позволяет менеджеру VO предоставлять пользователям учетные записи VO для доступа к ресурсам grid. К сервисам защиты архитектуры VOM относятся следующие.
-
Сервис членства VO в XtreemOS (X-VOMS) проверяет членство пользователей, которые инициируют запрос на grid. X-VOMS анализирует пользовательскую информацию, такую как идентификаторы и атрибуты, в VO.
-
Сервис идентификации (IDS) генерирует и управляет глобально уникальными идентификаторами VO и идентификаторами пользователей. Архитектура системы предполагает, что ресурсные узлы доверяют менеджеру VO. Мы добиваемся этого, требуя, чтобы все узлы предварительно установили выданный CA root-сертификат менеджера VO. Узлы могут проверять подлинность пользователей на основе их XOS-Cert.
-
Сервис атрибутов (AttrS) предоставляет пользователям атрибуты VO, которые позволяют сервисам AEM проверять выполнение политик VO во время выбора ресурсов, управляют доступом к ресурсам и файлам XtreemFS, осуществляют контроль использования ресурсов системного уровня и позволяют узлам устанавливать соответствие между глобальными идентификаторами и UID/GID.
-
Центр распространения учетных данных (Credential Distribution Authority, CDA) выдает пользователям учетные данные VO для доступа к сервисам и ресурсам в рамках grid. Сертификаты XOS-Cert предоставляются в соответствии с форматом сертификатов X.509. CDA содержит пару из частного и открытого ключей менеджера VO, благодаря чему он может выпускать подписанные XOS-Cred.
-
Сервис политики VO (VOPS) предоставляет VOM такие данные, как точки информирования о политиках и точки принятия решений, что позволяет управление доступом к ресурсам осуществлять не только на узлах, но и самим VOM. Интеграция функций принятия решений с учетом политик в VOM означает, что политики VO могут быть интегрированы в планирование заданий, переговоры о ресурсах и координируемый в рамках всей VO контроль использования ресурсов.
CDA и VOPS предоставляют интерфейсы внешних компонентов, таких как AEM и XtreemFS, в то время как IDS, AttrS и X-VOMS — это внутренние сервисы для CDA. Все связанные с VO сервисы XtreemOS работают в пространстве пользователя, а их выполнение со статусом root не является обязательным. Как и все операции в grid, некоторые сервисы XtreemOS (такие, как сервисы AEM) должны работать, обладая достаточными возможностями для того, чтобы создавать пользовательские сессии на удаленных машинах. Тем не менее мы минимизируем присутствие привилегированных процессов и ограничиваем их возможности, чтобы сделать системы менее уязвимыми.
Поддержка VO системного уровня
VO определяет целый ряд политик, в том числе касающихся защиты, ограничений на ресурсы и правил совместного использования ресурсов членами VO. Проверку и выполнение этих политик осуществляют локальные экземпляры операционной системы на ресурсных узлах.
Для того чтобы ядро Linux поддерживало политики VO, необходимо иметь возможность получать информацию об идентификации самой VO и пользователей этой виртуальной организации, использовать эту информацию в стандартных механизмах управления доступом и передавать ее системным модулям, поддерживающим grid (таким, как XtreemFS).
Linux не знает о виртуальных организациях, и не существует языков описания политик высокого уровня, которые охватывали бы несколько систем. Сейчас изоляция и управление доступом в основном опираются на учетные записи пользователей, идентификацию процессов и разряды допуска файлов, хотя последние версии ядра поддерживают обязательные расширения управления доступом, в том числе возможности POSIX, ACL для файлов и расширения SELinux.
Для того чтобы воспользоваться этими механизмами, поддержка VO на уровне узла должна обеспечивать соответствие политик и идентификации уровня VO локальным данным, которые Linux может опознавать в полной мере.
Адаптированное к VO динамическое соответствие пользователей grid и локальных учетных записей. Мы интегрировали управление пользователями grid в операционную систему Linux с помощью модулей Pluggable Authentication Modules (PAM) [4], Name Service Switch (NSSwitch) [5] и Kernel Key Retention Service (KKRS) [6], которые уже есть в стандартных версиях Linux. Системные администраторы могут создавать и устанавливать специальные модули PAM и NSSwitch, не меняя ядра и при этом сохраняя совместимость с унаследованными приложениями.
Соответствие запросов пользователей grid может быть установлено различными способами, в зависимости от типа VO, путем выбора соответствующих модулей PAM/NSSwitch. Для поддержки совместимости пользователям grid могут быть поставлены в соответствие анонимные локальные учетные записи, как это часто происходит в Globus, или специальные, предопределенные учетные записи, как это сделано в Grid User Management System (GUMS) [7] и в Local Centre Authorization Service/Local Credential MAPping Service (LCAS/LCMAPS) [8].
В XtreemOS мы добиваемся масштабируемого управления крупными виртуальными организациями и grid за счет динамической генерации локальных UID/GID на вычислительные ресурсы в соответствии с учетными данными пользователей, хранящимися в XOS-Cred. Число локальных учетных записей, необходимых для процессов, выполняемых на ресурсном узле, ограничивается количеством пользователей, одновременно использующих ресурс, вне зависимости от общего числа виртуальных организаций и количества пользователей в VO. Динамические локальные идентификаторы пользователей также в определенной степени обеспечивают изоляцию пользователей друг от друга, учитывая, что реальные идентификаторы в grid скрываются на системном уровне.
Интерфейс с сервисами аутентификации в grid. Модели PAM интегрируют несколько низкоуровневых технологий аутентификации (Kerberos и на базе SQL) в общий прикладной программный интерфейс высокого уровня. Приложения, требующие аутентификации, могут разрабатываться независимо от базового механизма аутентификации, который встроен в конкретные PAM. Подход, предусматривающий использование PAM, может применяться для реализации настраиваемых политик на трех этапах выполнения сервиса: аутентификации, авторизации и управления сессией.
XtreemOS использует технологию PAM для поддержки интерфейса с сервисами аутентификации grid и Linux. С помощью модуля PAM в XtreemOS пользователи grid проходят аутентификацию со своим сертификатом XOS-Cred, а политики VO применяются во время авторизации. В рамках управления сессией в XtreemOS-PAM осуществляется динамическое управление локальными учетными записями с автоматическим обслуживанием локальных файлов и процессов, управлением учетными данными пользователей и обновлениями пространства имен.
Преобразование учетных данных пространства пользователя. NSSwitch, входящий в состав Си-библиотеки GNU (libc), представляет собой механизм для перехвата запросов к традиционным базам данных с информацией о файлах Unix (таким, как пароли и файлы групп) и перенаправления их другим базам данных.
В XtreemOS модуль NSSwitch переводит информацию, связанную с учетными записями, в устанавливаемое PAM соответствие. Эта информация поддерживается в базах данных, доступных через локальный сервис установления соответствий учетных записей (AMS). За счет встраивания процедур разрешения учетных записей в модуль NSSwitch мы сохраняем совместимость с унаследованными приложениями, и только авторизованные пользователи VO могут получить доступ к глобальным учетным записям пользователей.
Управление доступом и регистрация. Установка соответствия пользователей grid и локальных учетных записей позволяет системе XtreemOS применять все механизмы управления доступом, которые предоставляет Linux. В частности, KKRS имеет большое значение для XtreemOS — он кэширует внутри ядра аутентификационные данные, связанные с процессом. Другие сервисы ядра, в том числе файловые системы, могут обращаться к этой информации и делегировать операции аутентифицированным приложениям пространства пользователя.
При инициализации сессии XtreemOS-PAM сохраняет XOS-Cred пользователя в области хранения конфиденциальных данных сессии ядра, откуда они извлекаются каждый раз, когда требуются глобальные учетные данные пользователя. Сервисы, поддерживающие PAM, затем могут проверить авторизацию пользователя и использовать эти учетные данные. Кроме того, таким образом можно проводить аудит сервиса и вести учет использования ресурсов.
Текущее состояние
Первая версия XtreemOS проходит этап интеграции и будет тестироваться на 14 научных и коммерческих приложениях. Планируемые выпуски будут развернуты на Grid5000 (www.grid5000.fr ) — крупномасштабном тестовом полигоне grid, которым управляет INRIA, ведущий партнер проекта XtreemOS.
Прототип системного уровня
Прототип локального уровня механизмов установки соответствия учетных записей и аутентификации пользователей реализован с помощью proxy-сертификатов X.509 в PAM и в модуле NSSwitch. Эти соответствия хранятся в отдельной (локальной) базе данных для пользователей grid, независимо от баз данных пользователей. На рис. 2 показана структура прототипа уровня узла. Как правило, пользователь grid, который является членом VO, получает XOS-Cert от менеджера VO и представляет его пользовательскому приложению на ресурсном узле, поддерживающем PAM в VO. Модуль PAM может проверить корректность XOS-Cert и сохранить его в KKRS, связанном с пользовательским процессом. Таким образом, данный процесс и порожденные им процессы могут демонстрировать этот сертификат локальным и удаленным сервисам.
Реализация уровня grid
В нашей реализации уровня grid особое внимание уделялось CDA и VOPS, поскольку они предоставляют внешние интерфейсы другим сервисам XtreemOS. Рис. 3 иллюстрирует текущую реализацию уровня grid, в частности использование CDA и VOPS для поддержки переговоров о ресурсах AEM и передачи заданий. Пользователи могут начать использовать ресурсы grid, набрав команду XSub в обычном на первый взгляд окне терминала Linux. CDA предоставляет XOS-Cert пользователю для доступа к ресурсам grid. Обратите внимание на то, что частный ключ является «частным» для пользователя, и CDA его не знает. Пользовательское приложение может передать запросы на выбор ресурсов сервису AEM Resource Matching Service, который проводит аутентификацию пользователя, проверяя XOS-Cert и выбирая соответствующие ресурсы на основе запроса. VOPS гарантирует корректность этих ресурсов, в том числе их использования, и список авторизованных ресурсов возвращается пользовательскому приложения. Опираясь на XOS-Cred и авторизованные решения VOPS, пользовательское приложение может «договориться» с узлами о резервировании ресурсов и далее выполнять задания, при условии, что такая договоренность достигнута. Работа с XOS-Cert затем передается механизмам поддержки VO уровня узла.
За основу архитектуры CDA взята архитектура MyProxy (myproxy.ncsa.uiuc.edu), отличающаяся гибкими возможностями онлайнового распространения учетных данных и широким выбором средств аутентификации (таких, как Kerberos и Grid Security Infrastructure). Такая стратегия дает возможность гибко взаимодействовать с существующими реализациями grid.
Мы выбрали Extensible Access Control Markup Language (XACML)[9] для реализации VOPS, поскольку это XML-стандарт на язык описания политик управления доступом, и мы можем расширять его дополнительными атрибутами и алгоритмами объединения политик, что крайне важно для управления динамическими виртуальными организациями.
Обсуждение
Подход XtreemOS к управлению grid, обеспечивающий абстракцию единой вычислительной платформы, поддерживает идеи и выбор реализации передовых решений отрасли VO. Сервис Virtual Organization Membership Service (VOMS) [10] стал для XtreemOS важной основой, поскольку предусматривал использование атрибутов пользователей VO (таких, как группа и роль) для установки соответствия учетным записям уровня узла и динамического резервирования локальных учетных записей для пользователей grid. Однако здесь число динамических учетных записей ограничено размером предопределенного пула учетных записей, сконфигурированного на каждом узле. Когда число одновременно работающих пользователей, имеющих одни и те же атрибуты VO, превышает этот лимит, VOMS «начинает повторно распределять» пул учетных записей, это означает, что пользователям приходится совместно использовать одну и ту же учетную запись.
Наш подход улучшает VOMS, поскольку избавляет от необходимости иметь предопределенные учетные записи и ограничивать их число. Необходимые UID и GID создаются «на лету», удаляются после употребления и, благодаря NSSwitch, не появляются в традиционных файлах учетных записей Linux. Учетные записи пользователей grid и групп могут быть «невидимы» локальным пользователям. Этот подход также обеспечивает максимальную степень совместимости с приложениями, не поддерживающими grid. Community Authorization Service (CAS) [11] передает решения о политиках VO узлам для поддержки авторизации в рамках всей VO. Узлы делегируют права доступа к своим ресурсами серверу CAS; тем самым они действуют только как точки реализации политик. Это фундаментальное отличие от подхода, принятого в VOMS и XtreemOS, где окончательное право доступа к ресурсам остается за владельцами ресурсов.
Legion (legion.virginia.edu) [12] использует модель объектного программирования для реализации своего представления об одной виртуальной машине, чтобы скрыть всю сложность широкомасштабной распределенной среды. XtreemOS не пытается скрыть тот факт, что пользователи и ресурсы находятся в гетерогенной и распределенной среде. В отличие от модели программирования Legion, цель XtreemOS заключается в том, чтобы предоставить существующим приложениям возможности grid с минимальным рефакторингом.
Виртуализация grid [13] — это еще одно направление работы над XtreemOS, которое затрагивает некоторые из наиболее важных моментов (таких, как обеспечение строгой изоляции). Однако виртуализация не дает ответа на все вопросы, учитывая, что не все приложения требуют строгой изоляции, и изоляции на уровне учетных записей пользователя зачастую вполне достаточно, поскольку она поддерживает и определенную изоляцию пользователей, и совместное использование ресурсов. Хотя, учитывая современное состояние технологий виртуализации, пока сложно обеспечить совместное использование данных как в рамках одной VO, так и между виртуальными организациями. С другой стороны, можно легко расширить архитектуру управления VO в XtreemOS таким образом, чтобы использовать виртуальные машины или контейнеры процессов и, благодаря этому, обеспечить возможности более строгой изоляции.
Цель XtreemOS — предоставить инфраструктуру, сочетающую масштабируемость и управление ресурсами, которые предлагают виртуальные организации, с эффективностью операционной системы. Этот подход, предусматривающий предоставление основных сервисов grid с минимальным расширением Linux, гарантирует совместимость с существующими приложениями и адаптируемость к различным моделям совместной работы.
В XtreemOS имеется оболочка для систематического анализа угроз, гарантирующая качество архитектуры и программного обеспечения, благодаря чему у XtreemOS будет больше шансов завоевать популярность. XtreemOS поддерживает создание свободно распространяемых решений в рамках сообщества разработчиков Linux и grid с помощью Sourceforge и за счет распространения версий XtreemOS через влиятельных поставщиков Linux, в том числе Mandriva (www.mandriva.com ) и Redflag (www.redflag-linux.com).
Литература
-
XtreemOS WP 4.2, Requirements Capture and Use Case Scenarios, Jan. 2007; www.xtreemos.org/publications/public-deliverables .
-
XtreemOS WP 3.3, Requirements and Specification of XtreemOS Services for Application Execution Management, Nov. 2006; www.xtreemos.org/publications/public-deliverables .
-
XtreemOS WP 3.4, The XtreemOS File System — Requirements and Reference Architecture, Dec. 2006; www.xtreemos.org/publications/public-deliverables .
-
V. Samar, R.J. Schemers III, Unified Login with Pluggable Authentication Modules (PAM), Open Software Foundation RFC 86.0, Open Software Foundation, Oct. 1995.
-
Free Software Foundation, GNU C Library Reference Manual, www.gnu.org/software/libc/manual/ .
-
A. Kumar, S. Chopdekar, Get Started with the Linux Key Retention Service, Apr. 2007;
www.ibm.com/developerworks/linux/library/l-key-retention.html . -
R. Baker, D. Yu, T. Wlodek, A Model for Grid User Management, 2003; www.citebase.org/abstract?id=oai:arXiv.org:cs/0306063 .
-
R. Alfieri et al., Managing Dynamic User Communities in a Grid of Autonomous Resources, Proc. Computing in High Energy and Nuclear Physics, Stanford Linear Accelerator Center, Mar. 2003; www.slac.stanford.edu/econf/C0303241/proceedings.html .
-
The OASIS Consortium, eXtensible Access Control Markup Language (XACML) 2.0: Specification; http://docs.oasisopen.org/xacml/2.0/accesscontrol-xacml-2.0-core-spec-os.pdf .
-
The Enabling Grids for E-SciencE (EGEE) Team, EGEE User’ Guide — VOMS Core Services, 2005;
http://egee.cesnet.cz/en/voce/voms-guide.pdf . -
The GLOBUS Team, CAS in Globus 4.2; www.globus.org/toolkit/docs/development/4.2-drafts/security/cas/ .
-
A. Grimshaw et al., Architectural Support for Extensibility and Autonomy in Wide-Area Distributed Object Systems, http://legion.virginia.edu/papers/CS-98-12.pdf .
-
K. Keahey et al., Virtual Workspaces: Achieving Quality of Service and Quality of Life in the Grid, Scientific Programming J., special issue on dynamic grids and worldwide computing, vol. 13, no. 4, 2005.
Массимо Коппола (massimo.coppola@isti.cnr.it ) — научный сотрудник института ISTI/CNR (Италия). Ивон Йегоу (yvon.jegou@irisa.fr) — научный сотрудник института INRIA и участник исследовательского проекта PARIS, проводимого INRIA (Франция).
Брайан Мэттьюс (b.m.matthews@rl.ac.uk ) — руководитель группы E-Science Centre Information Management Group совета Science and Technology Facilities Council (Великобритания).
Кристин Морин (christine.morin@inria.fr ) — старший научный сотрудник INRIA Rennes Bretagne Atlantique, участник PARIS, и научный координатор проекта XtreemOS. Луис Пабло Прието (lpps@tid.es ) — инженер-исследователь компании Telefonica (Испания).
Оскар Дэвид Санчес (oscar.sanchez@inria.fr ) — менеджер исследовательского проекта в INRIA Rennes Bretagne Atlantique, где он координирует техническую сторону проекта XtreemOS.
Эрика Янг (y.yang@rl.ac.uk ) — старший научный сотрудник Centre of Science and Technology Facilities Council. Хайан Ю (yuhaiyan@ict.ac.cn ) — доцент Института компьютерных технологий Академии наук Китая.
Massimo Coppola, Yvon Jegou, Brian Matthews, Christine Morin, Luis Pablo Prieto, Oscar David Sanchez, Erica Yang, Haiyan Yu. Virtual Organization Support within a Grid-Wide Operating System, IEEE Internet Computing, March/April 2008. IEEE Computer Society, 2008. All rights reserved. Reprinted with permission.