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

До сих пор «согласья нет» относительно точного определения, что же такое grid, однако, по мнению многих аналитиков, до конца текущего десятилетия именно grid станет магистральным направлением в развитии корпоративных ИТ-инфраструктур

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

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

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

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

Потенциальные возможности

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

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

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

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

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

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

Стандарты и реализации

Существует ряд коммерческих реализаций программного обеспечения промежуточного уровня для grid (например, компаний DataSynapse, Entropia, Parabon Computation, United Devices, Avaki). В большинстве из них набор функций ограничен, и потому они изначально рассчитаны на построение сред grid для решения проблем отдельных организаций. В таких конфигурациях grid не встают проблемы интероперабельности между компонентами различных производителей, интеграции разнородных систем и масштабируемости инфраструктуры с использованием среды передачи в Internet.

Активно развивается и разработка стандартов для построения разнородных grid-инфраструктур, интегрирующих ресурсы из разных источников. Эти стандарты, как и сама концепция grid, берут начало в исследованиях, направленных на создание сред распределенных вычислений для научных целей. Ведущей организацией по разработке промышленных стандартов для обеспечения интероперабельности сред grid является Global Grid Forum (GGF). Эта организация развивает Globus Toolkit — открытый программный инструментарий, получивший за последние годы широкое распространение в осуществлении научных grid-проектов. Деятельность GGF поддерживается рядом ведущих компьютерных вендоров, которые заинтересованы в продвижении архитектуры grid как для локальных, так и для географически распределенных ИТ-инфраструктур своих заказчиков и видят перспективу в реализации таких инфраструктур на базе открытых стандартов. Последняя инициатива в этой области — образование альянса Globus Consortium, в который вошли компании IBM, Sun, Hewlett-Packard и Intel. Учредители альянса определили в качестве своей основной задачи финансовую и инженерную поддержку разработки инструментария Globus Toolkit для повышения степени его готовности к коммерческому внедрению.

В последней версии Globus Toolkit 3.0 реализована разработанная в GGF архитектура Open Grid Services Architecture (OGSA), которая вводит в grid понятия и стандарты Web-сервисов. В этой архитектуре grid-сервис определяется как специальный тип Web-сервиса, и потому работа с ресурсами grid базируется на стандартных протоколах Web-сервисов. В OGSA в виде сервисов представляются все физические ресурсы и логические функции промежуточного уровня grid, такие как обеспечение безопасности, управление потоками заданий, обращения к базам данных и файловым системам, службы каталогов и передача сообщений. Все grid-сервисы описываются в терминах стандарта WSDL (Web Services Definition Language), а доступ к ним осуществляется с применением стандартов SOAP, XML, WS-Security и др. Переход на модель Web-сервисов дает реальную возможность интеграции в инфраструктуру grid разнородных узлов с помощью Internet. Один из основных компонентов OGSA, Open Grid Services Infrastructure (OGSI), определяет механизмы для создания, управления и обмена информацией между grid-сервисами на базе различных реализаций программного обеспечения промежуточного слоя grid.

Появившийся совсем недавно новый стандарт Web Services Resource Framework (WSRF) направлен на еще более тесное сближение grid с технологиями Web-сервисов, упрощение объектного подхода OGSA и применение ресурсов grid как сервисов в сервис-ориентированных архитектурах корпоративного уровня.

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

Компании Dell, EMC, Oracle и Intel инициировали проект MegaGrid, объединив свои технологии и ресурсы для тестирования вариантов построения производительной и экономически эффективной инфраструктуры grid и проведения исследований масштабируемости, производительности и возможности управления обширными базами данных, серверами и системами хранения для таких инфраструктур.

Подобная активность отражает состояние рынка: несколько аналитических исследований прошлого года свидетельствуют о том, что у коммерческих предприятий растет интерес к практической реализации grid. В опросе, проведенном Economist Intelligent Unit ([2]) 37% из почти 200 участников отметили, что серьезно анализируют возможности использования grid, и большинство (84%) из тех, кто уже эксплуатирует инфраструктуру grid, положительно характеризует достигнутые результаты.

Аналитики британской фирмы Quocirca осенью 2004 года по заказу Oracle построили Grid Index ([3]), оценив по 10-бальной шкале текущее состояние отношения к технологиям grid в индустрии Западной Европы. Индексирование проводилось по совокупности характеристик: от ROI для реальных grid-проектов до такого нематериального показателя, как приверженность идеям grid, которая определялась исходя из данных о практической деятельности компании, инвестиционных планов и включения технологий grid в корпоративную ИТ-стратегию. И хотя абсолютное значение Grid Index оказалось невысоким — 3.1, оптимизм внушает высокий уровень таких показателей, как консолидация и стандартизация корпоративных ИТ-инфраструктур, которые являются важными технологическими предпосылками реализации grid. Аналитики полагают, что это свидетельство постепенного, иногда даже неосознанного принятия идей grid значительным числом европейских компаний.

Практическое применение

Какие предприятия становятся пионерами в движении к grid и какие цели они преследуют? По-прежнему grid привлекает прежде всего те отрасли, где есть потребность в высокопроизводительных вычислениях для задач, легко поддающихся распараллеливанию. Такие приложения проще и дешевле перенести в среду grid, быстро получив отдачу от вложений в миграцию: среда обеспечивает значительное повышение эффективности вычислений на гораздо более экономичной по сравнению с суперкомпьютерами платформе. Поэтому обработка сейсмических данных и аналитические приложения вроде поиска закономерностей в данных и анализа рисков оказываются среди наиболее частых примеров успешной реализации в grid-среде. Так, в крупнейших нефтяных компаниях Саудовской Аравии для моделирования месторождений и анализа данных сейсморазведки внедрены многоузловые кластеры на платформе x86 производства Sun Microsystems (от сотни до более чем тысячи узлов) с собственными программными механизмами grid. Более скромные grid-конфигурации (порядка 10-20 узлов) реализуются в телекоммуникационных компаниях. Среди других отраслей, где grid находит все более широкое применение в мире, — финансовая, энергетическая, аэрокосмическая и автоиндустрии, фармацевтика, химическое производство.

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

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

Препятствия

На современном этапе развития концепции grid ее коммерческое применение сдерживается рядом серьезных препятствий. Среди них не последнее место занимает непонимание руководителями ИТ-служб предприятий сути grid, низкий уровень осведомленности индустрии о возможностях этой архитектуры. В зачаточном состоянии находятся и многие технологические новации, без которых трудно полностью раскрыть потенциал grid, в том числе виртуализация серверов и систем хранения, а также автоматизация выделения ресурсов. Коммерческие продукты для grid до последнего времени оставались в значительной мере прерогативой небольших и малоизвестных компаний. Активизация промышленных альянсов и неприбыльных организаций по стандартизации, участие в них ведущих ИТ-поставщиков могут сыграть положительную роль в изменении этой ситуации.

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

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

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

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

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

Литература
  1. Foster I., Kesselman C., Tuecke S. The Anatomy of the Grid. http://www.globus.org/research/papers/ anatomy.pdf
  2. From grid to great? The Economist Intelligence Unit white paper. 2004, June.
  3. Grid Computing in Europe. Quocirca Insight Report. 2004, Autumn.

Наталья Дубова — научный редактор журнала «Открытые системы», dubova@osp.ru


Grid и кластеры: сходства и различия

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

Однако в реальности значительная часть существующих сегодня коммерческих реализаций grid, по сути, представляет собой не что иное, как многоузловые кластеры, поскольку такие реализации пока редко выходят за рамки подразделения или компании. В частности, именно так понимают grid в Sun и Oracle, когда представляют свои решения на базе программных систем Sun Grid Engine и Oracle 10g. Но правильнее было бы рассматривать кластер как «вырожденный» grid — особую реализацию принципов grid. В общем случае grid подразумевает объединение множества кластеров в одну большую распределенную систему.


Архитектура

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

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

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

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

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

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

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

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