В последнее время компьютерная индустрия проявляет все больше интереса к идее распределенной вычислительной обработки в одноранговых, слабосвязанных сетях, получивших название Grid. Такие сети, объединяющие различные вычислительные центры и компьютеры энтузиастов, уже давно с успехом используются для решения научных задач, требующих огромной вычислительной мощности, например в космических исследованиях, для поиска простых чисел, расшифровки генома человека, создания новых лекарств и т. д. Однако не так давно этой технологией заинтересовались такие гиганты индустрии, как IBM, Sun, Microsoft, Hewlett-Packard, а аналитическая компания IDC назвала Grid одним из наиболее перспективных направлений 2003 г. В чем причина такого внимания?
Что такое Grid
По мнению аналитиков, Grid открывают путь для создания корпоративных систем следующего поколения, с децентрализованной, в отличие от нынешних, архитектурой, позволяющей предприятиям легко взаимодействовать с партнерами, клиентами и поставщиками, которым эти системы помогут эффективнее организовать бизнес, что немаловажно для выживания в условиях жесткой конкурентной борьбы. Концепция Grid имеет еще одно серьезное преимущество - экономическое. С ее помощью можно более рационально использовать ресурсы корпоративных компьютеров - сейчас они задействованы в среднем лишь на 15-20%. А это уже чистая экономия, которая будет расти и в дальнейшем, ведь вычислительная мощность ПК, по закону Мура, удваивается каждые полтора года. Предприятия регулярно обновляют компьютеры, но оказываются не в состоянии полностью реализовать их растущие возможности. Следует упомянуть еще одну полезную особенность новой технологии - удобство подключения к системе. Считается, что подключить любой компьютер к Grid и сразу получить доступ к необходимым ресурсам столь же просто, как воткнуть вилку в розетку. Что же представляет собой эта чудо-технология, сулящая такие заманчивые перспективы?
Работа Grid на примере игровой сети Butterfly.net С помощью Grid-технологии компания Butterfly.net построила сеть, которая динамически распределяет свободные ресурсы подключенных компьютеров, позволяя тысячам пользователей одновременно играть друг с другом через Интернет. |
Источник: Butterfly.net.
Идея распределенной обработки далеко не нова. Она родилась еще на заре вычислительной эры, в 70-х годах прошлого столетия, когда началось сближение двух индустрий: телекоммуникационной и компьютерной, но затем претерпела существенные изменения и теперь получила новое воплощение. Grid - это совокупность объединенных сетью компьютеров, которые делят рабочую нагрузку между собой. При этом ни число компьютеров, ни расстояния между ними не ограничиваются. В систему также могут входить устройства хранения данных и сетевое оборудование. Таким образом, концепция Grid, хотя и является одной из разновидностей распределенных вычислений, в одном важном аспекте все же отличается подлинным новаторством. Ведь она позволяет строить системы, не только охватывающие множество организаций и различные компьютерные платформы, но и имеющие поистине планетарный масштаб. Естественно, для такой архитектуры требуются специализированные управляющие программы и широкополосные линии связи, а так как речь идет об объединении разнородных систем, то нужны стандарты, обеспечивающие их взаимодействие. Сейчас такие стандарты начинают появляться, но основная работа еще впереди.
Поскольку определение Grid-технологии носит весьма общий характер, компании реализуют ее самыми разными способами. Так, Sun Microsystems продвигает ПО для создания Grid-кластеров и уже имеет более 6000 заказчиков. Фирмы Entropia, United Devices и др. концентрируются на построении Grid-сетей из ПК. IBM делает упор на применении этой технологии для развития Web-сервисов и автономных самоуправляющихся систем. SGI предлагает пользователям совместно работать в дистанционном режиме над большими наборами трехмерных изображений. Platform Computing, пионер в данной области, выпускает средства для построения неоднородных корпоративных Grid-систем, обладающих широкими возможностями совместного использования ресурсов и управления. Однако, несмотря на явные различия, все эти предложения воплощают общую идею: включение компьютеров разного типа в единую систему для совместного использования ресурсов с целью повышения общей производительности и масштабируемости и предоставления пользователям возможности коллективной работы с данными.
Где применяется Grid
Как уже отмечалось, сейчас Grid-технология наиболее широко используется для решения задач, требующих интенсивной вычислительной обработки, например для сложного моделирования при разработке новых лекарств, расчете финансовых рисков, автоматизации проектирования и т. д. Именно для этих целей в разных странах сейчас создаются многочисленные Grid-суперкомпьютеры. В США реализуется проект TeraGrid, на который Национальный научный фонд в 2001 г. выделил 53 млн. долл., а в 2002 г. добавил еще 35 млн. долл. TeraGrid объединит американские вычислительные центры в один огромный Grid-суперкомпьютер с производительностью 20 Тфлопс. Великобритания пошла еще дальше, направив 120 млн. фунтов стерлингов на инициативу eScience, подразумевающую создание Grid-инфраструктуры для научных и технических расчетов. В этой стране внедряется еще один интересный проект - сеть CosmoGrid, охватывающая вычислительные центры Кембриджского и других университетов и предназначенная для построения исторической модели развития Вселенной. В Европейском центре ядерных исследований (CERN) создается система DataGrid, финансируемая Европейским союзом, которая служит для обработки данных в физике высоких энергий, биологии и при наблюдении за поверхностью Земли.
Россия также принимает участие в этом проекте: развитием отечественного сегмента DataGrid занимается некоммерческая организация “Наука и общество”, уже построившая телекоммуникационную Grid-инфраструктуру в Москве и планирующая распространить ее на Санкт-Петербург, Новосибирск и Ижевск. А недавно появились сообщения еще об одном амбициозном проекте с участием нашей страны. По сведениям информационного агентства Cnews.ru, в январе Россия, США и Китай подписали предварительное соглашение о создании глобального информационного кольца с пропускной способностью 10 Гбит/с, предназначенного для научных и образовательных целей. Оно будет построено на технологии Grid и объединит вычислительные мощности и базы данных стран - участниц соглашения.
Это - далеко не все, а лишь наиболее значительные Grid-проекты для научных целей. На самом деле их великое множество, так как исторически данная технология получила наибольшее развитие именно в научной сфере. Однако постепенно начинают появляться и коммерческие проекты. Один из них - игровая Grid-сеть, созданная компанией Butterfly.net совместно с IBM (см. рисунок). В ней вычислительная нагрузка от компьютерных игр с большим числом участников распределяется по сети, объединяющей серверные фермы, расположенные в вычислительных центрах IBM. С помощью такой сети разработчики игр могут быстро развертывать свои новые произведения, а тысячи пользователей - одновременно играть друг с другом через Интернет, динамически получая нужные ресурсы в зависимости от потребностей. Данный пример далеко не единственный. Популярность Grid-технологии среди предприятий растет. Так, в прошлом году реализовано в четыре раза больше Grid-проектов, чем за год до этого (правда, их количество пока измеряется двузначными цифрами). Возможно, что интерес к технологии подстегнуло внимание, которое в последнее время ей уделяет IBM. Но помимо Голубого гиганта Grid-продукты выпускают и другие ведущие и начинающие компании.
Однако, несмотря на явные преимущества, Grid-технология еще не достигла зрелости и пока может применяться лишь в узких областях. Чтобы она стала пригодной для широкого класса задач, предстоит еще многое сделать. Исследования и разработки в этом направлении ведутся уже давно и, по оценке специалистов, продлятся как минимум несколько лет.
Проблемы и решения
Когда же Grid-технология получит широкое распространение в повседневной жизни? Сегодня на этот вопрос трудно ответить, ведь многие проблемы пока не решены. Прежде всего нужно разработать и реализовать стандарты для взаимодействия различных платформ и защиты данных, без которых невозможно использовать Grid на предприятиях. Ощущается недостаток и в специализированных средствах администрирования и управления Grid-сетями. Надо также организовать между предприятиями соединения, работающие на скоростях локальной сети. И наконец, чтобы эта технология завоевала прочные позиции в корпоративных сетях, необходимы приложения новых типов, использующие преимущества Grid-инфраструктуры. Посмотрим, что делается для решения этих проблем.
В настоящее время активно идет разработка стандартов. Этим занимаются организации Global Grid Forum (www.Gridforum.org) и Globus Project (www.globus.org), объединяющие научные учреждения, занятые развитием гетерогенных сетей. Они работают над стандартом Open Grid Services Architecture (OGSA), который предусматривает встраивание в Grid-системы средств поддержки языка XML и будущих стандартов Web-сервисов. Кстати, идея интеграции двух модных направлений, Grid и Web-сервисов, сейчас очень популярна. В самом деле, обе технологии направлены на поддержку взаимодействия разнородных платформ и отлично дополняют друг друга. Подготовка спецификации OGSA подходит к концу, и скоро первая версия поступит на утверждение в Global Grid Forum. Чтобы облегчить разработку OGSA-совместимых продуктов, группа Globus Project выпустила предварительную версию инструментального набора Globus Toolkit 3.0, поддерживающего OGSA. Предполагается, что в окончательном виде он появится уже летом. Этот набор, распространяемый бесплатно с открытым исходным кодом, помогает компаниям реализовывать стандарт OGSA в Grid-продуктах. Специалисты возлагают на него большие надежды, утверждая, что OGSA и Globus Toolkit 3.0 имеют такое же важное значение для Grid, какое протокол TCP/IP имел для Интернета. Однако одного наличия стандартов недостаточно для развития технологии, необходимо, чтобы они обрели поддержку индустрии. Похоже, что за этим дело не станет. О намерении обеспечить совместимость продуктов с OGSA объявили многие ведущие поставщики Grid-систем: Avaki, HP, IBM, Oracle, SGI, Platform Computing и др.
Но чтобы Grid-технология обрела зрелость, надо дополнить стандартные протоколы всевозможными вспомогательными средствами: защитой данных и коммуникаций, мощными механизмами аутентификации, универсальными форматами данных (здесь большие надежды возлагаются на XML), методами управления распределением ресурсов, учета потребления ресурсов пользователями и приложениями, обработки отказов и распределенного администрирования.
Самое интересное впереди
По мнению специалистов, сейчас Grid находится в том состоянии, в котором технология Web была десять лет назад. Хотя уже реализовано немало новаторских проектов, поистине глобальной Grid-сети еще не существует. Однако, похоже, что она уже не за горами. Ведь имеются все основные компоненты, необходимые для ее создания: скоростные оптические линии связи, быстродействующие процессоры, компьютерные архитектуры с массовым параллелизмом, коммуникационные протоколы, ПО для управления распределенными вычислениями, средства защиты и методы электронной коммерции. Надежду вселяет и то, что потребность в Grid уже назрела. В мире накопились огромные компьютерные ресурсы, значительная часть которых пропадает зря. Осталось только доработать и адаптировать Grid-технологию. И тогда, возможно, произойдут любопытные перемены. Ведь многие специалисты считают, что Grid произведет такую же революцию в области вычислительной обработки, какую сеть Интернет произвела в сфере коммуникации.
Концепция Grid
Основу идеи Grid составляют пять “китов”: применение открытых стандартов, объединение разнородных систем, совместное использование данных, динамическое выделение ресурсов и объединение вычислительных сетей множества предприятий и организаций.
Коммерческие предложения
Концепция Grid, ранее применявшаяся исключительно для научных и исследовательских целей, обретает сторонников среди производителей коммерческих продуктов.
- Microsoft. Поддерживает группу Globus Project, которой выделила 1 млн. долл. для обеспечения совместимости инструментария Globus Toolkit c системами Windows и .Net.
- IBM. Обещает включить средства поддержки Grid во все продукты для корпоративных сетей; продвигает будущий стандарт OGSA, позволяющий объединить Grid с Web-сервисами. Недавно выпустила десять пакетов, охватывающих практически все существующие разновидности Grid-систем, от кластеров до глобальных сетей.
- Sun. Распространяет инструментарий распределенного администрирования Sun Grid Engine.
- Platform Computing. Специализируется на разработке Grid-продуктов для предприятий, объединяющих платформы Unix, Windows и Linux.
- Avaki. Предлагает независимый от платформ продукт Avaki 2 для создания корпоративных Grid-систем.
- DataSynapse. Продает продукт LiveCluster, интегрируемый с Unix, Windows и Linux и предназначенный для сферы финансов и энергетики.
- Entropia. Продвигает основанный на Windows продукт DCGrid для объединения ПК.
- HP. Продолжает начатую Compaq программу Grid Computing Solutions, направленную на выпуск программного и аппаратного обеспечения и предоставление услуг, предназначенных для пользователей, желающих совместно работать с вычислительными ресурсами.
Что может Grid
В настоящее время специалисты рекомендуют применять Grid для решения лишь ограниченного круга задач. Перечисленные ниже признаки помогут определить перспективность проекта с точки зрения использования данной технологии:
- децентрализованная структура управления (характерная, например, для проектов, осуществляемых холдингами или консорциумами);
- большой объем вычислений при незначительном количестве заданий ввода-вывода, обмена данными и распределения кода (в качестве примера можно привести анализ изображений, научное или проектное моделирование);
- возможность разбиения процесса вычислений на ряд слабо взаимосвязанных частей (скажем, при проведении анализа статистики продаж в разных регионах);
- распределенное хранение обрабатываемых данных (в частности, совместная работа с множеством баз данных);
- отсутствие требований по обеспечению короткого или гарантированного времени отклика на запрос (пример - пакетная обработка заданий);
- допустимость аппаратных или сетевых отказов, потери части результатов и других ошибок (в частности, при решении задач, в которых такие ошибки компенсируются внутренней избыточностью).