Сети грид

N91(13)2008

И.Д. Котляров

Сети грид

В настоящее время сети типа «грид» переживают период активного роста: непрерывно запускаются все новые и новые проекты гридов, специалисты разрабатывают соответствующие технологии. Информация об этом виде сетей стала постепенно доходить и до широкой публики. Тем не менее экономическим аспектам развития грид-сетей до последнего времени уделялось крайне мало внимания. Кроме того, сейчас в России отсутствуют работы, в которых давался бы комплексный взгляд на гриды, как с технологической, так и с экономической точек зрения. К сожалению, развитию гридов препятствуют (или будут препятствовать в скором будущем) многочисленные проблемы...

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

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

Определения

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

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

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

Отличительные признаки грида:

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

• в грид применяются открытые, универсальные и стандартизированные протоколы и интерфейсы;

• грид предоставляет нетривиальный уровень качества обслуживания пользователей (речь идет о синергетическом эффекте —

68

На 1(13)2008

общая полезность грида больше суммарной полезности его частей).

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

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

В сети Internet также возможно удаленное хранение данных: например, бесплатные почтовые серверы (www.mail.ru, www. gmail.com и т.д.) предоставляют возможность хранения на их дисковом пространстве переписки пользователя, на сайте www. youtube.com предлагается хранение видеоклипов.

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

сайте и получить доступ к определенному § объему дискового пространства, а в после- [I дующем ему придется всякий раз, когда он ¡ пожелает разместить на этом пространстве ^ новую информацию и/или удалить старую, ^ сначала заходить на этой сайт, вводить свои пароль и имя пользователя, и только после этого он сможет приступить к управлению данными, причем на серверах возможно только хранение информации — ее обработка (если в ней возникает необходимость) производится самим пользователем при помощи своего компьютерного ресурса (как правило — персонального компьютера).

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

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

Можно предложить следующие четыре классификации такого рода сетей.

Классификация 1. По политике допуска владельцев компьютерных ресурсов:

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

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

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

69

Nя 1(13)2008

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

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

Классификация 2. По наличию у участников грида компьютерных ресурсов:

• смешанный грид. Участники грида одновременно являются владельцами и пользователями компьютерных ресурсов грида;

• разделенный грид. Участники грида делятся на владельцев компьютерных ресурсов и пользователей.

Классификация 3. По степени унифицированности компьютерных ресурсов:

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

• однородные гриды. У компьютерных ресурсов грида одинаковые архитектура и программное обеспечение;

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

Классификация 4. По услугам для участников:

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

• пользовательские гриды. Участники £ грида предоставляют свои незагруженные ^ компьютерные ресурсы в общее пользование и могут использовать возможности гри-

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

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

В классическом понимании, очевидно, гридом следует называть только открытый разделенный разнородный эмуляционный грид.

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

Однако грид может объединять не только суперкомпьютеры, но и обычные персональные компьютеры, которые, при условии их достаточного количества, также могут формировать высокопроизводительную сеть грид. Примером такого грида может быть российский проект «Дубна-Грид», разработанный Лабораторией информационных технологий Объединенного института ядерных исследований Российской академии наук (г. Дубна) совместно с Университетом «Дубна» и при участии Лундского (Швеция) и Чикагского (США) университетов. Этот грид объединяет незагруженные вычислительные мощности офисных компьютеров, установленных в компьютерных классах школ города и Университета «Дубна».

История вопроса

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

70

так как при отсутствии связи между суперкомпьютерами возникали следующие проблемы:

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

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

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

Сети грид позволяли устранить все эти проблемы и оптимизировать управление вычислительными ресурсами путем доведения их до 100%-й загрузки за счет обеспечения постоянного доступа пользователей к имеющемуся парку вычислительной техники.

Сети грид применяются для решения следующих задач:

• массовая обработка потоков данных большого объема;

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

• моделирование на удаленных суперкомпьютерах;

• реалистичная визуализация больших наборов данных;

• создание сложных бизнес-приложений (с большими объемами вычислений).

Первым всемирным проектом компьютерной грид-сети стал начатый в 1994 году GLORIAD (англ. Global Ring Network for Advanced Application Development — Глобальная кольцевая сеть для развития прикладных исследований). Она представляет собой волоконно-оптическую сеть с кольцевой топологической структурой в Северном

Нв 1(13)2008

полушарии, объединяющую вычислитель- § ные ресурсы различных научно-исследова- § тельских организаций США, Канады, Рос- ¡| сии (подключилась к проекту в 1994 году), ^ Европы, Китая и Южной Кореи (в основном s в нее входят физические центры; именно физики-ядерщики еще в 80-е годы XX века стали комбинировать различные рабочие станции для решения математических задач).

Формальными авторами концепции (и самого термина) грид-сетей считаются Ян Фостер из Аргонской национальной лаборатории Чикагского университета и Карл Кессельман из Института информатики Университета Южной Калифорнии (США): в 1998 году они ввели термин «grid computing» для обозначения универсальной тер-риториально-распределенной программно-аппаратной инфраструктуры.

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

Лидером в области строительства грид-сетей являются США, которые в 2004 году официально объявили о начале работы президентской грид-программы, направленной на создание единого национального пространства высокопроизводительных вычислений.

Основные международные научные грид-проекты:

1. TeraGrid (начат в 2001 году, США) — финансируется Национальным научным фондом, основная задача — создание распределенной структуры для проведения вы-

Ив 1(13)2008

сокопроизводительных (терафлопных) вычислений.

2. EGEE (англ. Enabling Grids for E-scien-ce in Europe — сети грид для е-науки в Европе) — европейский международный проект высокопроизводительной грид-сети, выполняемый под руководством расположенного в Женеве (Швейцария) Европейского центра ядерных исследований (ЦЕРН). На конец 2006 года в него входило 70 научных учреждений из 27 стран мира. Задача этой сети — обеспечить эффективную обработку информации, ожидаемый среднегодовой объем которой оценивается в 10 петабайт (1 петабайт ~ 1015 байт).

3. GEANT-2 — магистральная европейская сеть для образования и науки, охватывает 3 млн пользователей из 3,5 тыс. академических учреждений, расположенных в 34 странах (в том числе и в России). Предназначена для обработки данных радиоастрономических наблюдений.

4. Национальный цифровой центр маммографии — создан под руководством Пенсильванского университета (США) на основе грид-технологии, предназначен предоставлять медикам мгновенный доступ к записям пациентов в своем архиве (5,6 петабайт маммограмм).

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

ч проект владельцы персональных компьютеров, только предоставляют свои вычис-£ лительные мощности для обработки дан-u ных, поступащих с радиотелескопа Arecibo (Пуэрто-Рико), но сами использовать воз-

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

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

7. GARUDA — анонсированный Индией национальный грид-проект, предполагающий объединение в сеть грид 17 крупнейших исследовательских центров страны.

8. «СКИФ-грид» — одобренная в июне 2006 года Правительством РФ совместная российско-белорусская программа строительства сети грид на основе суперкомпьютеров «СКИФ» (разработанных Институтом программных средств Российской академии наук и Объединенным институтом проблем информатики Национальной академии наук Белоруссии).

Коммерческие гриды пока развиваются медленнее, можно упомянуть следующие проекты:

1. Sun Grid компании Sun Microsystems, запущенный в 2005 году. В рамках этого проекта машинное время сети центров обработки данных, содержащей порядка 10 тыс. процессоров, сдается в аренду с оплатой из расчета 1 долл. США за пользование одним процессором в час. Продажа машинного времени осуществляется через чикагскую биржу Archipelago Holdings (через нее же покупатель может продать оставшиеся у него неиспользованные часы). Кроме того, компания предлагает сторонним пользователям услуги по хранению информации по цене 1 долл. США за 1 Гигабайт в месяц. Целевая аудитория этого грида — организации, периодически испытывающие по-

72

Не 1(13)2008

требности в крупных вычислительных мощностях.

2. Компания Oracle предполагает использование грида как универсальной системы управления данными на основе базы данных Oracle 10G. При помощи специальной функции ASM (Automatic Storage Manager — автоматический менеджер хранения данных) наборы дисков виртуализируются в единый виртуальный диск, а на Oracle возлагаются функции менеджера файлов и томов. Oracle сама работает с этими виртуальными дисками, размещая на них свои файлы и управляя ими; для этого все пространство виртуального диска разбивается на равные сегменты по 1 Мегабайту, из которых создаются виртуальные файлы базы данных, табличные пространства, тома и т. д.

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

Архитектура, аппаратное и программное обеспечение грид-сетей2

Основным разработчиком стандартов программного обеспечения для гридов является созданная в 1999 году организация

Global Grid Forum (GGF — Глобальный фо- ig рум по грид-сетям). В 2002 году GGF совме- [I стно с корпорацией IBM предложила стан- ¡| дарт программного обеспечения для сетей ^ грид OGSA (англ. Open Grid Services Archi- s tecture — открытая архитектура грид-служб). OGSA следует объектно-ориентированной модели и в качестве основного объекта рассматривает службу (сервис), при этом грид-служба определяется как специальный вид web-службы.

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

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

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

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

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

' Основой этого раздела послужила работа [1].

73

Ив 1(13)2008

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

В настоящее время существуют два типа структур сетей грид: двухуровневый (горизонтально интегрированный) и одноуровневый (вертикально интегрированный).

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

Аналогично обстоит дело и с ресурсами хранения — с той разницей, что в качестве ресурсных центров выступают хранилища данных (англ. storage elements). Каж-ч дое хранилище данных может включать несколько разных типов реальных устройств £ памяти, а вместо системы пакетной обра-u ботки используется менеджер ресурсов памяти.

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

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

Двухуровневые гриды

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

74

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

Наиболее популярным вариантом промежуточного программного обеспечения (ППО) на сегодняшний день является Globus Toolkit 3.0, разработанный в 2002 году GGF. Существуют также другие виды ППО — Legion, Condor, Unicore, — но все они уступают Globus Toolkit 3.0 по популярности.

ППО предназначено для выполнения следующих функций:

• управление вычислительными заданиями;

• управление данными, представленными в виде файлов;

• управление структурированной информацией баз данных;

• поддержка функционирования грид-сети.

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

• отслеживание переходов между шагами обработки запроса;

• сбор диагностики, которая выдается на каждом шаге;

Нв 1(13)2008

• регистрацию количества использо- § ванных ресурсов. §

I

При распределенной обработке данных ^ особое значение имеет обеспечение на- s дежности обслуживания запроса. Ее удается гарантировать при помощи постоянного мониторинга сбоев и перезапуска запроса на альтернативных ресурсах.

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

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

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

В ППО предусматриваются специальные службы, ведущие учет потребления компьютерных ресурсов. В платформе gLite (ППО крупнейшего грид-проекта EGEE) сбор информации об использовании ресурсов осуществляется службой DGAS (изначально эта аббревиатура расшифровывалась как DataGrid Accounting System — система учета данных сети грид; в настоящее время используется толкование Distributed Grid Accounting System — система учета для распределенной сети грид). Информационной единицей в этой системе является запись использования (англ. Usage Records), создаваемая для

Ив 1(13)2008

каждого задания и содержащая следующие данные:

• идентификатор задания;

• ресурсный центр, в котором оно выполняется;

• использованные при выполнении ресурсы;

• время (запуска на счет, поступления в очередь локального менеджера, окончания выполнения);

• время создания.

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

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

Политика выделения ресурсов

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

Отношения между пользователями и про-£ вайдерами задают правила предоставления/ u потребления ресурсов. Они имеют два аспекта:

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

2) пользователь при запуске задания описывает в ресурсном запросе те требования к объему и производительности ресурсов и к условиям их предоставления, которые ему необходимы для выполнения задания.

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

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

Отношения между пользователями возникают в силу существования конфликтных ситуаций, когда разные пользователи претендуют на одни и те же ресурсы. Эти отношения могут задаваться либо экономически (пользователи платят за ресурсы, и право на доступ получает пользователь, заплативший больше всех), либо путем соглашения между потребителями (такой подход характерен также для корпоративных систем управления ресурсами, занимающихся обслуживанием нескольких клиентов, работающих над независимыми проектами). Разновидность второго подхода применяется в SGEEE (Sun Grid Engine Enterprise Edition — корпоративная грид-платформа от компании Sun) — программное обеспечение, предназначенное для условий, когда крупная корпоративная среда с распределенными ресурсами используется несколькими независимо работающими группами пользователей. Свойства подхода SGEEE

76

Не 1(13)2008

позволяют использовать его для виртуальных организаций:

• предусмотрена возможность иерархического определения политики разделения ресурсов;

• автоматическое проведение политики при динамическом планировании распределения ресурсов;

• учитывается реальное потребление ресурсов.

Распределение ресурсов заключается в выделении каждому пользователю процента (квоты) от общего объема ресурсов и осуществляется в SGEEE иерархически. На верхнем уровне ресурсы делятся между подразделениями предприятия; единицей ресурса выступает доля (англ. share). Если у предприятия есть N подразделений, а всего было выпущено M долей, то справедлива следующая формула:

N

2 m = м,

i=1

где mi — число долей ресурсов, переданных администратором i-му подразделению.

Администратор i-го подразделения делит переданную ему квоту mi между L отделами своего подразделения следующим образом:

L

21i = m,

j=1

где lj — число долей ресурсов, переданных администратором i-го подразделения j-му отделу.

Эта схема распределения ресурсов выполняется вплоть до нижнего уровня.

Путем применения такой политики обеспечивается соответствие распределения ресурсов (в среднем на достаточно большом промежутке времени) установленным квотам с учетом изменчивости активности пользователей.

На каждом шаге распределения ресурсов всем активным (претендующим на ресурсы) пользователям выдаются билеты ^ (англ. ticket) по следующим правилам:

ss

• при любом числе активных пользователей число выданных билетов равно суммарному количеству долей на верхнем уровне дерева квот;

• если активен только один пользователь, то ему выдаются все билеты;

• если число активных пользователей меньше числа потенциальных пользователей (например, если в вычислительных ресурсах в данный момент нуждаются не все подразделения предприятия, а только некоторые из них), то каждый активный пользователь получает количество билетов, равное его квоте. Например, пусть квота пользователя Ц составляет 10%, а квота и2 равна 20%, тогда при общем количестве долей, равном 1000, Ц получает 33,3% (333 билета), а Ц возьмет 66,7% (667 билетов).

Соответственно в зависимости от числа активных пользователей отдельный пользователь может получать количество ресурсов, как большее, так и меньшее своей квоты, но в БОЕЕЕ предусмотрены механизмы компенсации пере- и недопотребления.

Усреднение совершается благодаря учету реального количества потребленных ресурсов (КПР) в каждом узле дерева квот, и, если было выявлено перепотребление, то уменьшается количество выдаваемых билетов. КПР рассчитывается как интегральная характеристика в скользящем временном окне путем введения интервала полузабывания (обычно обозначается как Щ так что если в некоторый момент было использовано Q ресурсов, то через этот интервал КПР становится равным Q/2.

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

77

Ив 1(13)2008

особый компенсирующий коэффициент. Если пользователь имеет квоту 10% и компенсирующий коэффициент установлен 5, то он на время получает квоту 50%.

Планировщик БОЕЕЕ производит распределение ресурсов на основе соотношения билетов, находящихся в обращении на данный момент. Пусть подразделение Б1 располагает 900 билетами и запустило 100 заданий. Тогда на каждое задание приходится по 9 билетов. Если подразделение Б2 имеет 100 билетов и только 4 задания, то каждое задание будет иметь 25 билетов. Задания подразделения Б2 могут выполняться прежде заданий подразделения Б!, несмотря на то, что квота Б1 составляет 90%. Но как только задания Б2 превысят полагающуюся этому подразделению квоту ресурсов, механизм учета потребления ресурсов начнет снижать количество выданных Б2 билетов.

Проблемы развития грид-сетей

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

1. На сегодняшний день отсутствует единая политика формирования цен на программное обеспечение, используемое участниками грид-сети, а также единая политика лицензирования этого ПО, приемлемая как для разработчиков ПО, так и для владельцев компьютерных ресурсов грида. Действительно, традиционная модель лицензирования и формирования цен на ПО, применяемая разработчиками, выглядит следующим образом: разработчики предоставляют пользователям ПО право за определенную плату установить это ПО на строго оговоренном числе компьютеров (процессоров, серверов). Однако эта мо-ч дель неприемлема для грида. Например, рассмотрим простую ситуацию: владелец £ компьютерного ресурса (ВКР) приобрел ^ у разработчика необходимое ему для работы ПО с правом его установки и использо-

вания только на своих процессорах. После этого ВКР подключился к сети грид — и возможность пользоваться этим ПО получили все участники грида.

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

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

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

78

Не 1(13)2008

пользования собственного ПК и становиться абонентом грида.

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

3. Отсутствие единых стандартов ППО. Как уже было сказано выше, Globus Toolkit 3.0 является основным стандартом ППО, но не единственным. Различия в стандартах могут стать препятствием для пользователей из-за возможной несовместимости оборудования и/или ПО (легко представить себе ситуацию, при которой пользователь вынужден перейти из одного грида в другой, но при этом сталкивается с проблемой переноса данных или с необходимостью замены своего грид-терминала). Нельзя исключать, что производителям грид-терминалов придется выпускать оборудование, совместимое со всеми основными мировыми стандартами, а самим гридам, даже при сохранении разных стандартов ППО, нужно будет обеспечить их совместимость.

4. Опасность глобального монополизма. Благодаря существующей мировой инфраструктуре по передаче данных к сети грид могут подключаться ВКР и пользователи из любой страны мира, и возможна ситуация, при которой один из гридов (наиболее успешно развивающийся и наиболее удобный для пользователей; аналог из другой сферы — провайдер услуг по поиску информации в сети Internet компания Google, ставшая мировым лидером в своей области) займет большую часть мирового рынка

услуг по распределенному хранению и об- § работке информации. Такой монополизм, § особенно при условии, что грид сможет ¡ полностью реализовать свою функцию виртуального эмулятора персонального ком- ^ пьютера, может стать угрозой не только для отдельных потребителей, но и для государственной, а не исключено — и мировой, безопасности.

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

5. Угроза установления тотального контроля над пользователем. Эта проблема тесно связана с опасностью глобального (а особенно — регионального) монополизма гридов и задачей обеспечения безопасности данных пользователя. Так как вся информация абонентов сети грид будет находиться на распределенных ресурсах памяти, а не наличном персональном компьютере пользователей, ВКР могут самостоятельно или по запросу органов государственной власти получить доступ к этой информации.

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

79

Ив 1(13)2008

па к информации пользователей сетей грид и разработки технологических методов обеспечения безопасности информации.

6. Проблема обеспечения грид-роумин-га: при отказе от персонального компьютера пользователь, тем не менее, должен быть уверен, что он в любой момент может получить услуги по обработке и хранению данных — в том числе и в случае своего временного пребывания в регионе, где отсутствует доступ к его гриду (но при этом возможен доступ к гридам других виртуальных организаций). Соответственно, помимо обеспечения совместимости оборудования и ППО, гриды также должны обеспечить возможность доступа к своим ресурсам абонентов других гридов, иными словами — организовать грид-роуминг.

Расчет затрат и цен в сети грид

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

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

СБ — затраты на программное обеспечение (которые, в свою очередь, можно подразделить на затраты на программное обеспечение для ресурсных узлов и затраты на ППО);

СР — затраты на вычислительные мощности;

СМ — затраты на ресурсы памяти; ч СС — затраты на высокоскоростные линии связи между ресурсными узлами; £ С1 — прочие инфраструктурные затраты ^ (например, на строительство зданий, в которых размещены ресурсные узлы);

СЕ — расходы на оплату труда персонала грид-провайдера;

СК — расходы на оплату электроэнергии и прочие эксплуатационные расходы.

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

Таким образом, общие издержки грид-провайдера ТС равны:

ТС = СБ + СР + СМ + СС + С1 + СЕ + СК.

Цены на грид-услуги для пользователя можно рассчитать несколькими способами. Например, можно предположить, что все издержки грид-провайдера будут компенсироваться за счет платы В (ден. ед.), взимаемой с пользователя:

В

1 + —— \ЫТС, 100%,

где ЫТС — норматив затрат грид-провай-дера в расчете на одного пользователя (ден. ед.); к — наценка (%).

Эта модель может иметь более сложный вид: обозначим все компоненты затрат грид-провайдера как С, и пусть общее число компонент затрат равно п. Тогда плата В, взимаемая с пользователя, будет равна:

В =У (1 + N,, % { 100%) '

где ЫС1 — норматив 1-й компоненты затрат грид-провайдера в расчете на одного пользователя (ден. ед.); к, — наценка по 1-й компоненте затрат (%).

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

80

Не 1(13)2008

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

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

B = AC + 2 NC,

xxPC + AM + 2 NMj maxPM,

j=1

где АС — абонентская плата за доступ к вычислительным ресурсам грида в течение периода Т(ден. ед.);

п — число приобретенных абонентом грида минимальных тарифицируемых временных единиц использования вычислительных ресурсов в течение периода Т;

ЫС1 — максимальное число минимальных тарифицируемых единиц вычислительных ресурсов, потребленных абонентом в течение 1-й минимальной тарифицируемой временной единицы;

РС — цена минимальной тарифицируемой единицы вычислительных ресурсов (ден. ед.);

АМ — абонентская плата за доступ к ресурсам памяти грида в течение периода времени Т(ден. ед.);

т — число приобретенных абонентом грида минимальных тарифицируемых

временных единиц использования ре- g сурсов памяти в течение периода T; § NMjmax — максимальное число мини- ¿g мальных тарифицируемых единиц вы- ^ числительных ресурсов, потреблен- s ных абонентом в течение j-й минимальной тарифицируемой временной единицы;

PM — цена минимальной тарифицируемой единицы ресурсов памяти (ден. ед.).

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

Полные издержки TP (ден. ед.) абонента грида, помимо платы за пользование услугами грида B, будут также включать плату S (ден.ед.) за пользование услугами телекоммуникационного оператора, предоставляющего ему доступ к гриду в течение периода T:

TP = B + S.

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

S = AS + VS,

где AS — абонентская плата за пользование услугами телекоммуникационного оператора в течение периода T (ден. ед.);

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

81

i =1

Ив 1(13)2008

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

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

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

В этом случае полная величина выплат разработчику за пользование программными продуктами будет рассчитываться по следующей формуле:

т

Рполн.= Рперв.+ ^^ = , =1

= Рот

1 + -

G 100%

+ 1PN,,

i =i

?

где Рполн — полная стоимость программного продукта для клиента (ден. ед.); Рперв — первоначальный взнос за право пользования программным продуктом (ден. ед.);

Рот — стандартная цена программного продукта (ден. ед.);

G — наценка за право использования программного продукта в рамках сети грид (%);

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

Ni — число операций, выполненных программным продуктом в i-м периоде; m — число периодов использования программного продукта.

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

Список литературы

1. Коваленок В.Н., Корягин Д.А. Организация ресурсов грид //Препринт. №25. М.: Институт прикладной математики РАН, 2004.

2. Оганесян Т. Кому нужны супервычисления // Эксперт. 2006. № 43.

3. Foster I. What is the grid? A three point check-list; http://www-fp.mcs.anl.gov/~foster/Articles/ WhatIsTheGrid.pdf. Retrieved on 21.10.2007.

4. Foster I., Kesselman C, Tuecke S. The Anatomy of the Grid: Enabling Scalable Virtual Organizations // International Journal of High Performance Computing Applications. 2001. № 15(3).

82