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

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

Виртуальная организация может образовываться динамически и существовать ограниченное время. Таким образом, следуя [1], можно определить grid как пространственно распределенную операционную среду с гибким, безопасным и координированным разделением ресурсов, предназначенную для выполнения приложений в динамически образующихся виртуальных организациях.

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

Концепция grid родилась в научном сообществе, и вполне естественно, что разработки и исследования начальной стадии были направлены на поддержку интенсивных вычислительных задач научно-технического характера. Был предложен ряд протоколов — коммуникационный, безопасности и удаленного доступа к вычислительным, файловым и информационным ресурсам. Протоколы были поддержаны реализацией двух версий инструментальной системы Globus Toolkit — GT1 и GT2 (www.globus.org).

Globus Toolkit и ряд разработанных на ее основе программных средств образовали программную составляющую инфраструктуры для нескольких крупных grid-проектов, в том числе связанных с обработкой результатов экспериментов в области ядерной физики. Проекты DataGrid (www.eu-datagrid.org) и GriPhyn (www.griphyn.org) доказали принципиальную возможность обрабатывать средствами grid большие объемы данных и выполнять «тяжелые» вычисления. Однако проблемы распределенных вычислений не являются специфичными для научно-технической сферы, поэтому создание новой архитектуры программного обеспечения для grid велось с учетом интересов разработчиков производственных приложений и при непосредственном участии таких компаний, как IBM, Sun Microsystems, Hewlett-Packard и Microsoft.

Основные положения предложенного в [2] стандарта архитектуры программного обеспечения grid — Open Grid Service Architecture (OGSA), следуя объектно-ориентированной модели, рассматривают сервис в качестве основного объекта grid. Посредством удаленного обращения к методам сервиса приложение получает определенный вид обслуживания, что позволяет унифицировать различные функции доступа к ресурсам хранения и вычислительным, к базам данных и любой программной обработке данных.

Путем стандартизации способа описания интерфейсов сервисов решается важнейшая проблема распределенной среды — проблема интероперабельности. В этом отношении OGSA опирается на такие стандарты, как SOAP, WSDL и WSI [3]. Кроме того, OGSA частично стандартизирует семантику grid-сервисов, определяя унифицированный для всех служб набор методов и соответствующих интерфейсов — обнаружения, динамического создания, управления временем жизни, уведомлений и т.д.

В 2003 году вышла первая реализация инструментария, основанная на архитектуре OGSA, — Globus Toolkit 3.0 (GT3). Она состоит из двух частей. Первая — это базовая программная инфраструктура Open Grid Services Infrastructure (OGSI), которая обеспечивает поддержку общих для всех сервисов методов. Вторая включает в себя службы, имевшиеся в GT2 (управление заданиями, передача файлов, информационное обслуживание и безопасность), но уже в архитектуре OGSA.

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

Предыдущие версии Globus Toolkit содержали ограниченный набор сервисов (GRAM, GRIS, GIIS, GridFTP), а их реализации были практически независимыми и имели немного общих методов (за исключением методов протокола безопасности Grid Security Infrastructure). В результате их разработка и модернизация во многом дублировались и усложнялись. Архитектура OGSA и инфраструктура OGSI образовали общий контекст, в котором создание новых сервисов существенно упростилось.

Ресурсы

ИПМ РАН совместно с рядом российских институтов принимает участие в проекте Enabling Grids for E-science in Europe (EGEE, www.eu-egee.org), целью которого является создание общеевропейской среды grid. Как свидетельствует опыт этой организации, наиболее дорогостоящими и трудоемкими являются создание и обслуживание именно ресурсной составляющей инфраструктуры.

Стандарт OGSA определяет сервисы как абстрактные объекты, но не содержит предписаний относительно способа их реализации. Не затрагиваются вопросы программной модели сервисов и исполнительной среды их функционирования, что делает стандарт независимым от платформы. На практике, например в GT3, grid-сервисы реализуются в компонентных средах — контейнерах, разработанных для Web-сервисов. Так, на платформе J2EE применяются разные типы контейнеров — EJB, JSP, сервлеты и апплеты. Роль контейнеров заключается в размещении сервисов, обеспечении жизненного цикла, поддержке безопасности. Если для Web-сервисов этих функций достаточно, то для grid-сервисов — нет. Способ их реализации должен обеспечивать виртуализацию ресурсов, в том числе:

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

Этим требованиям отвечает среда исполнения grid-сервисов, в которой имеется пул ресурсов с единым управлением, осуществляемым менеджером ресурсов. Запрос, поступающий на интерфейс сервиса, преобразуется в форму задания для менеджера ресурсов и передается по его интерфейсам. Основные функции менеджера ресурсов — выделение ресурсов под задания и поддержка их выполнения.

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

Такие компании, как IBM, Sun Microsystems, Hewlett-Packard, Avaki и Oracle, заинтересованы в развитии пространственно распределенных вычислений и связывают его перспективы с переходом на протоколы и архитектуру grid. Общие принципы построения grid на базе локальных систем управления распределенными ресурсами представлены в работе [4].

Можно выделить два способа организации ресурсов grid. Первый, соответствующий направлению Globus Toolkit, можно назвать двухуровневым или горизонтально интегрированным. Grid образуется из совокупности комплексных (т.е. содержащих много компьютеров) узлов. Ресурсы отдельного узла находятся в автономном административном домене, связаны локальной сетью и обычно управляются системой пакетной обработки, которая играет роль локального менеджера ресурсов. Узел включается в grid через одну или несколько машин-шлюзов, на которые устанавливаются grid-сервисы; соответственно ресурсы узла становятся доступными повсеместно.

На такой способ организации ресурсов ориентирован Globus Toolkit, обеспечивающий поддержку интерфейсов с PBS (www.openpbs.org), Condor (www.cs.wisc.edu/condor), LSF (www.platform.com/products/LSFfamily), SGE (www.sun.com/software/ gridware/sge.html) и др. Виртуализация ресурсов здесь происходит на уровне отдельных узлов grid, а для обеспечения прозрачного доступа ко всем ресурсам виртуальной организации предполагается наличие сервиса глобальной виртуализации — брокера, или диспетчера (рис. 1).

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

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

Рис. 2. Одноуровневая организация grid

Одноуровневый подход был предложен в проектах SETI@home (setiathome.berkeley.edu) и Distributed.net, но использовался для решения достаточно специальной (по сравнению с целями grid) задачи — организации выполнения отдельных приложений на глобально распределенных ресурсах. Развитие одноуровневого подхода, которое привело к появлению средств запуска и управления заданиями в ряде коммерческих систем, показало возможность его применения в grid-среде выполнения различных приложений.

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

Одноуровневая организация grid

В одном из первых проектов, подразумевавших использование одноуровневой схемы для организации пространственно распределенных ресурсов (SETI@home — поиск внеземного разума), группа исследователей из Университета Беркли создала сайт, с которого добровольцы могут загружать и устанавливать на свои ПК агент, выполняющийся как фоновый процесс и анализирующий данные от радиотелескопа. В течение года после начала проекта к нему подключились более 2 млн добровольцев из разных стран. На основе той же методики были запущены глобально распределенные приложения по проблематике простых чисел, шифрованию и геному человека.

Компании Entropia, DataSynapse, Parabon Computation и United Devices выпустили ряд коммерческих программных продуктов — DCGrid (www.entropia.com), LiveCluster (www.datasynapse.com), Frontier (www.parabon.com) и GridMP (www.ud.com), претендующих на роль платформ для grid. Однако не следует забывать, что программные средства таких проектов, как SETI@home, позволяют построить распределенную среду только для одного приложения, а для каждого нового придется устанавливать независимо функционирующие серверы. Пользователей в такой среде фактически нет: подключение к проекту сводится к предоставлению ресурсов. Понятно, что столь ограниченный подход едва ли можно отнести к grid.

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

Архитектурные решения

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

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

Различия связаны также с созданием и обслуживанием ресурсной составляющей инфраструктуры. Средства доступа к ресурсам Globus Toolkit предполагают, что узел grid — это многомашинный комплекс с локальным управлением в виде менеджера ресурсов. Когда уже имеется развитая локальная инфраструктура, такой подход полностью оправдан и позволяет сохранить сложившиеся принципы организации административных доменов — локальные средства, политики безопасности, управления и пр. Если же опыта работы с кластерными комплексами нет, а виртуальная организация создается на короткое время из машин индивидуальных владельцев, то двухуровневая архитектура становится неоправданно громоздкой.

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

Технологии

Платформа DCGrid компании Entropia предназначена для повышения эффективности компьютерного парка предприятия. Простаивающие или недозагруженные вычислительные мощности используются «в стиле grid» как интегрированные ресурсы для централизованно управляемой обработки заданий.

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

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

Приложение grid выполняется в среде виртуальной машины EVM, которая работает параллельно с процессами «хозяина» ПК [5]. EVM представляет собой программную оболочку, перехватывающую все обращения приложения grid к операционной системе с помощью технического приема замены стандартных динамических библиотек на библиотеки DCGrid. Таким образом, гарантируется полный контроль со стороны EVM за всеми обращениями приложения к ОС, а следовательно, и к ресурсам ПК.

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

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

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

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

В отличие от Entropia, компания DataSynapse (специализирующаяся на финансовых приложениях) обеспечила в платформе LiveCluster возможность объединения в grid любых ресурсов — от мэйнфреймов и кластеров до серверов и ПК — независимо от режима их использования (выделенного или разделяемого). При простой одноуровневой архитектуре и минимальных накладных расходах на администрирование может быть достигнута высокая надежность обработки и эффективность применения ресурсов.

На платформу LiveCluster могут быть установлены приложения, которые не были разработаны для распределенного выполнения, но для этого требуется их адаптация, выполняемая с помощью специального прикладного интерфейса LiveCluster Application Enablers. В любом случае, это существенно проще разработки распределенного приложения традиционными средствами наподобие MPI или PVM, хотя LiveCluster поддерживает и такие приложения.

Особо отметим, что приложение может быть установлено в grid в виде Web-сервиса. В этом случае LiveCluster виртуализирует обработку запросов к приложению, выделяя под нее те или иные ресурсы, обеспечивая клонирование обрабатывающих процессов и параллельность обработки. Соответствующий API-интерфейс основывается на стандартах SOAP, XML и WSDL, что делает платформу максимально приближенной к OGSA.

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

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

Новое поколение программного обеспечения grid

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

Новое поколение программного обеспечения grid развивается в форме платформ — взаимосогласованных наборов средств, которые поддерживают развертывание и обслуживание grid, организуют функционирование распределенной инфраструктуры как единой операционной среды. Последний аспект проявляется в том, что платформы начинают решать задачи обеспечения надежности, детерминированности, безопасности, управляемости grid-сред с помощью механизмов диспетчеризации, мониторинга заданий и устройств, учета и протоколирования. Помимо уже упоминавшихся коммерческих решений существуют такие платформы, как DataGrid, Unicore (www.unicore.org/documents/UNICOREPlus-Final-Report.pdf) и VDT (www.lsc-group.phys.uwm.edu/vdt).

В связи с появлением нескольких альтернативных платформ на передний план выходит задача обеспечения интероперабельности grid разных виртуальных организаций, использующих различные исполнительные среды. В [1] утверждается, что для этого необходима унификация протоколов и интерфейсов доступа к сервисам. Однако уже имеющийся опыт создания сред коммунальных вычислений показывает, что этого недостаточно: требуются определение базового состава сервисов и унификация их семантики.

Работа выполнена при поддержке Российского фонда фундаментальных исследований (проекты 02-01-00282, 04-07-90299)

Литература
  1. I. Foster, C. Kesselman, S. Tuecke. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International Journal of High Performance Computing Applications, 15 (3), 2001 (www.globus.org/research/papers/anatomy.pdf).
  2. I. Foster, C. Kesselman, J. Nick, S. Tuecke. The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration (www.globus.org/research/papers/ogsa.pdf).
  3. S. Graham, S. Simeonov, T. Boubez, G. Daniels, D. Davis, Y. Nakamura, R. Neyama. Building Web Services with Java: Making Sense of XML, SOAP, WSDL and UDDI, 2001.
  4. S. Graupner, J. Pruyne, S. Singhal. Making the Utility Data Center a Power Station for the Enterprise Grid, HP Laboratories Palo Alto (www.hpl.hp.com/techreports/2003/HPL-2003-53.pdf).
  5. B. Calder, A. Chien, Ju Wang, Don Yang. The Entropia Virtual Machine for Desktop Grids, 2003 (www-cse.ucsd.edu/Dienst/UI/2.0/Print/ncstrl.ucsd_cse/CS2003-0773).

Виктор Коваленко (kvn@keldysh.ru), Дмитрий Корягин — сотрудники ИПМ им. М.В. Келдыша РАН (Москва).


От науки к коммерции

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

Являясь старейшим пользователем технологий Oracle, многие из своих ИТ-решений CERN и сегодня базирует на продуктах этой компании, в том числе на первых реализациях новой концепции Oracle Enterprise Grid. В прошедшей в Москве конференции Oracle TechForum принял участие руководитель группы баз данных CERN Джейми Шиерс, более двух десятилетий работающий в ИТ-подразделении центра. Шиерс возглавлял многочисленные проекты, в том числе работы по использованию языка C++ для организации научных библиотек, а также объектных и объектно-реляционных баз данных для управления хранилищами, объем которых измеряется петабайтами. С Шиерсом беседовала редактор журнала «Открытые системы» Наталья Дубова.

CERN — один из основных фигурантов в проектах по созданию и развитию научных grid-сред. Как эволюционировало Ваше понимание того, что есть grid?

Для начала я хотел бы объяснить, как мы оказались вовлечены в работы, связанные с grid. Мы участвуем в создании глобальной сети распределенных вычислений, необходимость которой диктуется задачами обработки данных нового ускорителя, так называемого большого адронного коллайдера (Large Hadron Collider, LHC). Он сооружается в CERN и должен быть введен в эксплуатацию в 2007 году. Наиболее критичный фактор при решении этих задач — гигантские объемы данных. Ежегодно в экспериментах на LHC будет накапливаться по несколько петабайт данных, работы планируется вести в течение полутора десятилетий. Таким образом, мы получим сотни петабайт данных, которые будут анализировать тысячи ученых по всему миру.

Вообще же работы по созданию вычислительной grid-инфраструктуры для обработки данных физических экспериментов LHC Computing Grid (LCG) были начаты в 1993 году. Мы прошли несколько этапов в понимании того, как следует обрабатывать эти данные. Так, на определенном этапе мы перешли от Фортрана и решений самостоятельной разработки к объектно-ориентированному программированию. Это произошло примерно в 1995 году, когда было решено использовать C++. На этом же этапе мы начали работать с ОС Unix на компьютерах RISC-архитектуры. Позже, в 1997-м, мы перешли к ОС Linux на ПК, при этом сохранив преимущественно C++ и добавляя элементы Java. Но, пожалуй, главное, что произошло за эти десять лет, — мы поняли, что нас не удовлетворяет замкнутая компьютерная модель; мы должны стать гибкими, получить возможность адаптировать новые технологии. В 1998 году появилась иерархическая модель обработки данных с так называемыми ярусами (Tiers). Центр данных Tier0 работает в CERN, около десяти центров уровня Tier1 созданы в Европе, Азии, Северной Америке, есть центры уровней Tier2 и Tier3 с меньшими объемами данных.

Мы поняли главное: если возникает нечто, что действительно способно совершить революцию в компьютерном мире, как это произошло с World Wide Web, мы просто должны принять это в расчет и начать с этим работать. Первая grid-инфраструктура для вычислений в ядерной физике вызвала массу критических отзывов. Но сейчас развивается множество подобных проектов и в Европе, и в Северной Америке, по всему миру. Мы активно участвовали в проекте European Data Grid (EDG), который в этом году сменился новым проектом Enabling Grids for E-science in Europe (EGEE). Главная задача EGEE — создание продуктивной grid-среды, а не просто сервисов баз данных, программного обеспечения промежуточного слоя и т.д.

В рамках EGEE мы отвечаем за два направления. Во-первых, это формирование стабильной grid-среды европейского масштаба не только для физиков, но и для других научных областей. Второе направление — переработка программного инструментария промежуточного слоя для grid. В этом отношении в EGEE и в Globus сейчас превалирует прагматический подход — получить работающую систему за разумное время. Поэтому архитектура программных средств промежуточного слоя страдает целым рядом конструктивных недостатков; многие возможности не реализованы; остаются серьезные проблемы с масштабируемостью. Нам необходима более современная, масштабируемая, более перспективная программная инфраструктура. Поэтому сейчас ведется переработка программного обеспечения промежуточного слоя для grid в направлении создания сервисной шины.

Нам необходима продуктивная grid-среда. 2007 год не за горами, у нас не так много времени на раздумья и анализ. Мы не можем тянуть с созданием работающей вычислительной инфраструктуры, многие ее элементы должны появиться заранее; так, уже в следующем году будет реализовано решение для баз данных.

Каковы основные различия между проектами EDG и EGEE?

Главное различие состоит в том, что в EGEE впервые должна быть построена именно продуктивная grid-среда, которую смогут использовать различные научные сообщества. В EDG мы создали промежуточное программное обеспечение, но не предоставляли таких возможностей, как работоспособность в режиме 24х7, постоянный мониторинг и разрешение возникающих проблем. Эти задачи будут решены в рамках EGEE.

Что Вы думаете о перспективах трансформации научной grid-инфраcтруктуры в глобальную промышленную среду распределенных вычислений?

Это сложный вопрос — в чем состоит разница между корпоративной grid-средой и grid-инфраструктурами для научных целей. Безусловно, есть сходство в том, как мы работаем, и мы намерены строить определенные базовые grid-сервисы в рамках научной grid-среды на базе концепции Enterprise Grid. Для разных типов grid-сред существует разная мотивация. В ядерной физике научное сообщество состоит из множества разных институтов с различными принципами финансирования в разных странах. И во многих случаях у них уже есть свои ресурсы, обслуживающие национальные исследовательские программы. Мы пытаемся объединить их в единую виртуальную среду, которую они смогут использовать. Но если еще год назад мы говорили об одной всемирной grid-инфраструктуре, то теперь мы предлагаем другой подход — федерацию grid-систем. Мы не можем навязывать свои принципы построения grid исследовательским группам в Северной Америке, где широкое распространение получил проект Globus, использующий другой программный инструментарий. Поэтому мы наблюдаем тенденцию к созданию федерации различных grid-сред вместо создания единой всемирной среды.

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

То же самое верно и для промышленных grid-сред. Каждый сможет получить нужный объем ресурсов, если они будут доступны в объединенной среде. Ключевая возможность grid — создание пула ресурсов и их разделение. Представьте себе транспортную систему: если выделить каждому отдельную полосу на дороге, движение станет невозможным. Инфраструктура должна быть разделяемой, тогда на ее базе сможет работать множество систем.

Какова роль технологий Oracle Enterprise Grid в научной grid-среде?

Многие из базовых функций grid в CERN целиком построены либо на основе Oracle Database Server, либо на Oracle Applications Server. Сейчас мы в основном используем версию 9i этих продуктов. Но уже значительно продвинулся процесс переработки многих базовых сервисов на основе Oracle 10g. Мы хотим реализовать возможности Oracle Enterprise Grid и на их основе предоставлять базовые сервисы программ промежуточного слоя и сервисы баз данных, которые зависят от различных физических экспериментов. На протяжении нескольких лет в рамках проекта LCG мы используем систему Oracle Real Application Clusters (RAC) для обеспечения высокого уровня готовности. В настоящее время используется кластер, включающий 24 персональных компьютера, со временем он может быть расширена до 48 узлов. И порядка 50 Тбайт в сети хранения.

Какой будет конфигурация кластера, еще предстоит решить. Один кластер Oracle 10g RAC, на базе которого мы реализуем сервисы для обеспечения потребностей различных приложений, а может быть, четыре или пять кластеров RAC меньшего размера. Компьютеры уже заказаны и скоро будут установлены, поэтому в ближайшие месяцы необходимо принять стратегическое решение о конфигурации базы данных. Оно будет зависеть от поведения разных вариантов в условиях реальной рабочей нагрузки. Некоторые стандартные процессы уже введены в эксплуатацию, и нам предстоит понять, действительно ли одним 48-узловым кластером управлять легче, чем несколькими кластерами поменьше. Кроме того, необходимо принять во внимание возможные последствия серьезных сбоев в ходе реального функционирования баз данных. Уже в 2005 году мы намерены использовать в grid-среде вместе с RAC такие продукты Oracle, как Streams и DataGuard, для реализации сервисов, которые обеспечивают работоспособность базы данных даже в тех случаях, когда какие-либо из критичных сервисов выходят из строя или необходима модернизация.

Как Вы оцениваете инициативы ряда ведущих ИТ-компаний по созданию сред «коммунальных» вычислений или вычислений по требованию, которые, по сути, очень близки идеям grid?

Действительно, существует много названий — utility computing, computing on demand и т.п. Подчас с ними связаны пространные описания, но нет четких определений. Думаю, все эти безусловно интересные концепции находятся в самом начале своего развития. Но если довести их до рабочего состояния, они позволят снять одну из основных проблем современных компьютерных систем — проблему сложности. Среду, в которой будет действительно реализована концепция utility computing, будет очень легко использовать. В нынешней ситуации повышенной сложности информационных систем слишком велики риски — если что-то не работает, очень трудно выявить причину. Аналогом utility computing являются электросети, обращение с которыми организовано очень просто. Но надо понимать: то, что будет доставляться пользователям в среде utility computing, — гораздо более сложная материя, чем электроэнергия. Поэтому мы приблизимся к реальному воплощению этих идей, лишь научившись четко понимать, определять и измерять то, что доставляется пользователям в инфраструктуре utility computing. И это вопрос не только машинных циклов или емкости хранения. Пока такого понимания нет, эти концепции, на мой взгляд, в большей степени относятся к области маркетинга, являются попытками ИТ-компаний обозначить свое видение перспектив будущего развития.

Развитие каких квалификаций необходимо Вашим сотрудникам, чтобы поддерживать grid?

Прежде всего, нужны люди, которые обладают серьезной ИТ-квалификацией. Но одновременно необходимы специалисты и с глубоким пониманием тех научных областей, с которыми мы работаем. Научное сообщество CERN объединяет около 6,5 тыс. ученых. Нам надо постоянно быть в курсе тех научных задач, которые они решают. С учеными мы общаемся не на языке баз данных: необходимость разрабатывать решения для них означает, что мы должны понимать не только проблемы ИТ, но и физические задачи. Поэтому для наших сотрудников нужна комбинация двух квалификаций, чего достаточно сложно достичь.

Что, по Вашему мнению, может стать «убойным» приложением для появления действительно глобальной, всепроникающей grid-среды?

Я много думаю над этим. Крайне сложно предсказать заранее. Возможно, это приложение, которое сейчас повсеместно используется, но мы просто не видим его потенциала. Но это должно быть нечто, что действительно изменит нашу жизнь, как Internet, который мы используем всегда и везде. Это не может быть задачей из какой-либо частной области, это должно быть приложение, которое реально повлияет на стиль нашей повседневной работы. Честно говоря, пока я такого приложения не вижу. Видимо, нам еще предстоит его найти.


Пример одноуровневой организации grid

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

Проект Anthrax (www.ud.com/rescenter/files/cs_dod.pdf) был инициирован в связи со случаями распространения в США по почте спор сибирской язвы. Вычислительная часть задачи заключалась в том, чтобы произвести на выделенном белке скрининг 3,57 млрд. потенциальных ингибиторов токсина. Задача решалась на специальном варианте платформы Grid MP компании United Devices. В распределенные вычисления были вовлечены около 1,9 млн. компьютеров. Высокая точность и качество обеспечивались пятикратным уровнем избыточности при скрининге каждой молекулы.

Полный скрининг удалось осуществить за 24 дня. В результате из 3,57 млрд. молекул были отобраны 376064 как потенциальные кандидаты для разработки противоядия, а 12 тыс. из них — как наиболее перспективные. По свидетельству специалистов Оксфордского университета, при отборе традиционными методами работа продолжалась бы несколько лет.

Платформа Grid MP Enterprise предназначена для интеграции внутрикорпоративных ресурсов — кластеров, серверов, рабочих станций и ПК. Следующий ее вариант Grid MP Alliance позволяет создавать среду grid, объединяющую нескольких поставщиков ресурсов и предоставляющий избыточные мощности сторонним потребителям.

Компания поддерживает открытую публичную инфраструктуру, действующую в Сети. Добровольцам предоставляется агент для свободного подключения к Grid MP Global, в которой сейчас действуют 2 млн. компьютеров. Имеется еще инфраструктура Grid MP On Demand, которая построена на базе частной коммуникационной сети компании Gateway и на платной основе поставляет обрабатывающие ресурсы суперкомпьютерного уровня.


Все о grid

Осенью 2004 года открылся Internet-портал GRIDCLUB.RU, который посвящен технологиям grid и общеевропейскому проекту EGEE, направленному на создание самой большой в мире grid-среды для решения научных задач. Портал призван распространять знания и опыт по технологиям grid, инициировать кооперацию отечественных специалистов, занимающихся этими технологиями, аккумулировать наиболее значимые материалы по различным аспектам grid. Он имеет следующие разделы:

  • концепция;
  • организация работ по проблематике grid в мире;
  • классификация и описания программных средств для grid;
  • проект EGEE;
  • практические советы по работе в grid-средах, в частности описание некоторых особенностей применения инфраструктуры EGEE;
  • организации, работающие в различных областях grid;
  • проекты;
  • подборка литературы.

Кроме того, на базе портала организован форум. Он призван консолидировать всех специалистов, заинтересованных в продвижении технологий grid и желающих, в частности, предложить на суд ИТ-общественности свои работы.