Знаете ли вы вычислительную мощность компьютера, который стоит на вашем рабочем столе? Нет, не мегагерцы и мегабайты, а мегафлопсы? А известно ли вам, сколько инженерных расчетов и научных задач можно было бы решить гораздо раньше, если бы им досталось этих самых мегафлопсов побольше? Ученые, которым всегда не хватало вычислительных ресурсов и которые привыкли «выжимать» по максимуму из того, что имеется, первыми решили исправить эту вопиющую бесхозяйственность по отношению к вычислительным ресурсам.
Когда-то давно управление очередями заданий осуществлялось просто. Автор статьи, подрабатывая по ночам на вычислительном центре с ЕС ЭВМ, просто переносил колоды перфокарт от одной машины к другой, если какая-то из них освобождалась. Во власти оператора было и назначение приоритетов заданий: «Этого я знаю, он хороший человек, пустим-ка мы его в первую очередь».
С тех пор, конечно, кое-что изменилось. Самое главное — появились сети. Перемещение заданий уже не требует тележек на колесах; их можно отправлять по сети из комнаты в комнату, из здания в здание, даже через океан. Принципы работы системы управления заданиями, тем не менее, остались прежними: очередь, поиск свободных ресурсов, диспетчеризация, политики и приоритеты. Сетевая реализация системы управления заданиями была выполнена достаточно давно, дав начало нескольким проектам; некоторые из них продолжаются как проекты категории оpen source, некоторые превратились в коммерческие продукты. Технология управления ресурсами распределенных систем получила название Grid и в последнее время с большой скоростью набирает популярность во всем мире, причем не только в академических кругах, но и в корпорациях.
Если переводить дословно, grid означает «решетка». Согласитесь, ассоциации, связанные в русском языке с этим словом, совсем не соответствуют тому смыслу свободной кооперации «без границ», который заложен в технологиях Grid для высокопроизводительных вычислений. Ближе всего по смыслу, пожалуй, power grid — сеть электропитания, распределенный ресурс общего пользования, когда каждый может легко подключиться через розетку и взять электричества, сколько ему требуется. Если продолжить аналогию, то придут мысли и об оплате полученных ресурсов, и об отключении за неуплату, и о приоритетном предоставлении ресурсов в условиях их дефицита.
Яркий пример того, как сложно обходиться без подключения к общей сети, представляет собой Исландия. Страна, в которой за счет огромного количества естественных водопадов и геотермальных источников электроэнергия производится в гораздо больших объемах, чем требуется. Себестоимость ее в несколько раз ниже, чем в остальной Европе. Рады бы делиться, да сети нет. Вот и приходится завозить бокситы, чтобы вырабатывать алюминий на месте.
Grid — виртуализация ресурсов
Вопрос «Что значат для Sun Microsystems grid-технологии?» начал звучать несколько лет назад, когда компания приобрела компанию Gridware, разработчика и производителя программных продуктов для Grid-сетей. Разумеется, решаемые ими задачи имеют большое значение для отраслей, где требуются высокопроизводительные вычисления: химическая, фармацевтическая, автомобильная, авиационная промышленность и многие другие. Однако Sun предлагает смотреть на вещи шире и не ограничиваться только большими вычислительными задачами крэш-тестов или моделирования молекул. Возможности мониторинга, анализа и динамического перераспределения вычислительных ресурсов могут быть использованы и для более широкого спектра приложений, основанных на модульной архитектуре.
Технология управления распределенными ресурсами является одной из важнейших составляющих стратегии N1, направленной, прежде всего, на обеспечение управляемости информационной инфраструктуры в условиях возрастающей нагрузки и увеличения числа компонентов сети. Управляемость достигается через виртуализацию ресурсов, путем перехода на более высокий уровень — от коробок, портов и дисков к виртуальным томам хранения данных, виртуальным вычислительным ресурсам и виртуальным подсетям. На сегодняшний день в Sun Microsystems накоплен значительный опыт динамического управления вычислительными ресурсами внутри компьютера: это и многопотоковость, встроенная в операционную систему Solaris, и динамические домены, и Solaris Resource Manager. Применение технологий Grid позволяет строить систему управления распределенными вычислительными ресурсами. В такой ситуации пользователю уже не важно, на каком конкретном узле сети исполняется его задача; он просто потребляет определенное количество виртуальной процессорной мощности, имеющейся в сети.
Grid-системы гармонично дополняют ряд вычислительных архитектур, используемых сегодня. С одного края этого ряда находятся серверы с симметричной многопроцессорной архитектурой: общая память, сильные связи между процессорами, центральный коммутатор с низкой латентностью (сотни наносекунд). Именно эти параметры и определяют набор задач, которые решаются на этих системах: большие базы данных, сложная аналитика, вычислительные задачи, требующие согласованных операций над большими объемами данных. Следующим шагом являются вычислительные кластеры, состоящие из нескольких узлов (чаще всего многопроцессорных), связанных внешним коммутатором (он может быть построен по технологии SCI, Myrinet, Fast Ethernet и др.) с характерными временами задержки в единицы и десятки микросекунд. Такие системы решают задачи, в которых взаимодействие между отдельными вычислительными узлами организовано в виде передачи сообщений (например, с использованием библиотеки MPI) и которые могут быть разделены на относительно независимые этапы вычислений. Наконец, системы Grid, в которых время взаимодействия между узлами измеряется миллисекундами и секундами, не предназначены для решения параллельных задач, а нацелены по большей части на решение пакетных заданий, когда каждая отдельная задача выполняется целиком на одном узле. Система управления вычислительной сетью занимается диспетчеризацией отдельных заданий, а не взаимосвязью между отдельными блоками одной задачи.
В типичной вычислительной системе могут присутствовать все три архитектуры, каждая для решения своих задач. В Sun Microsystems рассматривают технологии Grid как дополнение к существующему ряду продуктов, который включает в себя мощные SMP-серверы с великолепно масштабируемой операционной системой Solaris, средства для построения вычислительных кластеров HPC Cluster Tools и пакет управления вычислительными ресурсами Solaris Resource Manager.
Grid-продукты и технологии Sun
Нет одинаковых grid-сетей, нет продуктов, которые подходили бы для всех задач. Sun Microsystems различает три основных категории grid-сетей.
- Cluster Grid - относительно простая вычислительная сеть, предоставляющая ресурсы пользователям одной рабочей группы, одного департамента, одного проекта.
- Campus (Enterprise) Grid - вычислительная сеть корпоративного уровня, охватывающая несколько групп, работающих над различными проектами. В таких сетях должны быть в той или иной мере реализованы политики разделения ресурсов, правила "обмена" ресурсами и, возможно, правила взаиморасчетов.
- Global Grid - сеть, в которой участвуют несколько независимых организаций, предоставляющих друг другу свои ресурсы. Эти организации установили определенные правила обмена ресурсами, определенные протоколы взаимодействия. На сегодняшний день, пожалуй, только академические организации принимают участие в таких сетях; обмен вычислительными ресурсами между коммерческими компаниями пока еще осложнен нерешенными организационными вопросами.
Продукты Sun Microsystems предназначены в основном для корпоративных grid-сетей категорий Cluster Grid и Campus Grid.
Sun Grid Engine
Этот продукт предназначен для сетей класса Cluster Grid и доступен бесплатно. Пакет позволяет объединить несколько серверов или рабочих станций в единый вычислительный ресурс, который может быть использован как для пакетных задач, так и для высокопроизводительных пакетных вычислений. Администратор вычислительной сети может получать данные мониторинга и статистики, и на их основе оптимизировать уровень использования ресурсов. Административный интерфейс позволяет задавать различные параметры вычислительных задач, такие, как приоритеты, требуемые ресурсы оборудования, лицензии на программное обеспечение, временное окно выполнения, права пользователей на доступ к тем или иным ресурсам.
Sun Grid Engine Enterprise Edition
Обычный путь развития вычислительных сетей в организации можно представить себе примерно так. Вначале небольшая группа пользователей, занятых научными или инженерными расчетами, решает объединить свои ресурсы на основе простых правил и договоренностей. Это можно легко сделать на основе свободно распространяемого программного обеспечения. Успешный опыт приживается, и вскоре другие группы пользователей идут по тому же пути. Таких групп становится больше, и у них возникает вполне законное желание обмениваться ресурсами, заполняя простаивающие вычислительные мощности. Здесь уже простыми договоренностями обойтись трудно, необходимо внедрять какие-то технические средства учета и «взаиморасчетов».
Ответом на эти потребности является пакет Sun Grid Engine Enterprise Edition. Этот программный пакет позволяет задавать политики использования ресурсов и взаимодействия нескольких рабочих групп. Пакет поддерживает четыре типа политики (рис. 1).
- Политика разделяемых ресурсов (share based policy). Администратор вычислительного комплекса задает уровень ресурсов, доступных каждому пользователю (или рабочей группе) в процентах от общего их количества. Политика имеет некоторый запас гибкости, который допускает некоторый временный перерасход ресурсов для каждого пользователя, но при этом требует компенсировать этот перерасход впоследствии, "вернув" ресурсы в общее пользование в течение определенного времени. Если же пользователь недобирал ресурсов в течение какого-то времени, то ему "причитается" это количество вычислительной мощности, которое он может использовать в дальнейшей работе.
- Функциональная политика (functional policy). Эта политика аналогична политике разделяемых ресурсов, за тем исключением, что компенсация ресурсов за недоиспользование или переиспользование не производится.
- Политика "работа к сроку" (deadline policy). Бывают ситуации, когда одной из групп требуется завершить какую-то вычислительную работу к определенному сроку. Тогда администратор вычислительной сети может кратковременно выделить все имеющиеся ресурсы этой группе для завершения работы в срок. Действие такой политики прекращается немедленно после наступления заданной даты или по завершению выполнения задачи (если оно наступает раньше).
- Политика явного выделения ресурсов (override policy). Наконец, когда ситуация становится критической, администратор может перевести систему "на ручное управление", в явном виде выделяя то или иное количество ресурсов отдельным пользователям или рабочим группам.
Наличие политик несколько изменяет обычный алгоритм отправки задания на выполнение: теперь диспетчер заданий руководствуется не только наличием свободных ресурсов, но и тем, имеет ли данный пользователь соответствующие права (рис. 2).
Будущее Grid-сетей
Стандартизация. Опыт развития информационных технологий уже научил производителей тому, что необходимо сотрудничать в области стандартов, а конкурировать в области реализаций конкретных технологий. К счастью, в том, что касается Grid-сетей, кооперация в области стандартов началась в середине 90-х годов. Под эгидой некоммерческого проекта Globus были разработаны основные концепции, протоколы и интерфейсы для взаимодействия вычислительных сетей. На сегодняшний день все основные игроки на рынке высокопроизводительных вычислений (разумеется, включая Sun) являются участниками этого проекта.
По инициативе Sun Microsystems в рамках Global Grid Forum была образована рабочая группа по выработке интерфейсов для управления распределенными ресурсами (Distributed Resource Management Application API). Наличие стандартизованных интерфейсов в этой области позволит в будущем строить гетерогенные сети прикладных систем с гибким распределением ресурсов.
Интеграция с Web-службами. Участники Globus Project опубликовали проект архитектуры Open Grid Services Architecture, направленный на сближение технологий Grid с технологиями и стандартами Web-служб. По всей видимости, это направление станет главным при внедрении технологий Grid в коммерческих структурах.
Технологии Grid позволяют говорить о возможности виртуализации вычислительных узлов, которая делает вычислительную сеть одним большим компьютером. «Сеть — это компьютер», как и было сказано полтора десятилетия назад.
Павел Анни (Pavel.Anni@sun.com) — сотрудник московского представительства компании Sun Microsystems.
Стратегия N1
Осенью 2002 года на конференции Sun Network была обнародована стратегия технологического развития Sun Microsystems на ближайшие годы. Стратегия Network-1 или N1 нацелена на воплощение в жизнь главного лозунга Sun Microsystems «Сеть — это компьютер». Главной задачей перед разработчиками ставится превращение вычислительной сети, состоящей из сотен и тысяч разнообразных элементов, в единое целое, работающее и управляемое как компьютер. Распределение задач по вычислительным ресурсам — как в многопроцессорном сервере: мониторинг, диспетчеризация, приоритеты. Выделение ресурсов хранения — как в дисковой подсистеме: создал раздел, создал файловую систему, отдал приложению. Работа с сетью, тоже как в компьютере: единый адрес, управление трафиком, резервирование каналов. Расширение системы также должно быть не сложнее добавления процессора в сервер: каждый появляющийся ресурс (вычислительный сервер, дисковая подсистема, сетевой коммутатор) отдается в управление диспетчеру сети (его называют N1 Control Plane, чтобы подчеркнуть схожесть с управляющим контроллером сервера), а диспетчер сети распределяет приложения по этим ресурсам. Администратор такой сети будет управлять не конкретными компьютерами, дисками и коммутаторами, а службами, которые они предоставляют — сетевыми, вычислительными, сервисами хранения данных.
Год 2003 будет годом Grid
Компания Sun Microsystems всегда отличалась своими новаторскими идеями и решениями, не стала исключением и позиция Sun по отношению к технологии Grid. Сергей Тарасов, глава представительства компании Sun Microsystems в регионе СНГ рассказывает о взгляде компании на особенности продвижения технологий Grid.
Что для Sun сегодня означают технологии Grid?
Вообще говоря, идеология использования распределенных ресурсов, как таковая, родилась достаточно давно. Наиболее мощной системой такого рода являются энергосистемы, которые по-английски так и называют — power grid. Для компании, которая свою приверженность к сетевым решениям сохраняет с момента своего зарождения, она абсолютно органична. Возможно, благодаря логической и физической близости к академическим центрам Кремниевой Долины, в Sun Microsystems с самого начала существовало представление о том, что сеть это и есть компьютер. Поэтому наша корпоративная мантра «Сеть — это компьютер» с определенной периодичностью переосмысливается, но заметьте, при этом сохраняет свою истинность, более того, в ней обнаруживается новое содержание.
Grid для нас сегодня является частью большой стратегии, называемой N1. Одна из основных идей этой стратегии — виртуализация и динамическое перераспределение ресурсов информационной системы: сетевой инфраструктуры, систем хранения данных, вычислительных мощностей. Главной целью работ в этом направлении является возможность управления информационной системой не как совокупностью компьютеров и дисков, а как набором служб, каждая из которых использует определенный объем ресурсов. Grid для нас — возможность виртуализации вычислительных мощностей информационной системы; по другим направлениям ведутся работы по виртуализации ресурсов хранения и сетевых ресурсов. Мы научились эффективно управлять ресурсами внутри компьютера (динамические домены, Solaris Resource Manager), Grid в этом смысле служит для управления распределенными вычислительными ресурсами. Движение в сторону Grid еще только начинается, и уже сейчас мы видим свое место в крупномасштабных системах распределения информационных и вычислительных ресурсов, но наша конкретная деятельность пока ограниченна в основном на уровне корпоративных систем. В этом нет противоречия, это закономерные шаги от простого к сложному.
Есть ли примеры конкретного использования этой технологии? Готовы ли коммерческие пользователи к применению Grid?
Стоит начать со второго, с готовности пользователей. Экономическая реальность подталкивает их к более бережному отношению к ресурсам. Сегодня немногие могут позволить себе безмерные избыточные мощности, поэтому, может быть, столь синхронно востребованными оказались решения, позволяющие стать более рачительными хозяевами имеющихся ресурсов. Ученые постоянно стремятся решать сложные задачи на ограниченных мощностях, поэтому именно в научной среде зародились идеи Grid, которые оказались привлекательными теперь и в бизнесе. Здесь то же самое, сложность задач возрастает, а возможностей для пропорциональных инвестиций нет. Сейчас в мире существуют более 5 тыс. систем, которые используют программное обеспечение Sun Microsystems, это, разумеется, академические и учебные институты, в том числе, Суперкомпьютерный центр в Сан-Диего, Суперкомпьютерный центр штата Огайо, Университет Эдинбурга. По совокупности это 118 тыс. процессоров в Grid; каждые пять минут к сетям Grid подключается новый процессор. Коммерческие пользователи, которые производят много вычислений, тоже не стоят в стороне от этой технологии: Sony, SAAB, Nortel Networks, Ericsson, Ford. Можно с уверенностью сказать, что идет миграция от академических в сторону коммерческих приложений. Технология Grid, в частности, система Globus, пришла в коммерческий мир из академических кругов.
А какой собственный опыт имеется у Sun в этой области?
Наша компания анонсировала продукты Sun Grid Engine и Sun Grid Engine Eneterprise Edition в сентябре 2000 года, после приобретения компании Gridware, которая к тому времени уже более пяти лет занималась разработками в этой области. Внутри нашей компании находится в эксплуатации собственная Grid-сеть, включающая более 6 тыс. процессоров и 210 Тбайт данных. Каждый день эта система обсчитывает более 50 тыс. задач электронного проектирования; средняя загрузка процессоров составляет около 98%.
В чем особенность подхода Sun к технологиям Grid?
Одна из основных особенностей нашего подхода — решения на всех уровнях: подразделение, предприятие, глобальная сеть Grid. Далеко не всегда Grid означает глобальную сеть. Это может быть справедливо для академических кругов, но для коммерческих компаний это чаще всего неприемлемо. Продукт Sun Grid Engine предназначен, прежде всего, для сетей среднего размера, охватывающих отдел или небольшое предприятие; мы называем такие сети Cluster Grid. Этот продукт распространяется бесплатно, его можно скачать с нашего сайта. Если же у предприятия возникает необходимость связать несколько таких сетей воедино, управлять политиками использования корпоративной сети Grid, то необходимо расширить такое решение, приобретая продукт Sun Grid Engine Enterprise Edition.
Каков объем и перспективы рынка решений Grid для региона ЕМЕА и России?
Сегодня этот рынок только-только складывается, для него еще практически нет соответствующей системы мер. Но заказчики уже вполне серьезно смотрят на Grid технологии и готовы вкладывать деньги в подобные решения. Учитывая повсеместный пресс сокращения расходов на информационные технологии, они заинтересованы в том, чтобы «выжать» максимум вычислительной мощности из имеющихся ресурсов. Поэтому мы с большим оптимизмом смотрим на рынок таких решений. Самое главное, на наш взгляд, — это технологическая основа будущих систем управления распределенными ресурсами, часть нашей стратегии N1.
Какова бизнес-модель Sun по отношению к Grid и что можно сказать про роль российских разработчиков?
С точки зрения бизнес-модели к распространению Grid возможны два альтернативных подхода. При первом предлагаются средства и консалтинговые услуги одновременно; заказчику остается только оплатить все и получить готовое. При втором заказчику предлагаются готовые модули для создания Grid собственными силами или силами интеграторов. По традиции идем вторым путем. Кроме того наш подход предполагает возможность сделать заказчику первые шаги во внедрении этих технологий без особых затрат, поэтому мы и распространяем продукт Sun Grid Engine бесплатно. Когда же система развивается до корпоративных масштабов, требуется распределенное управление, политики использования, обеспечение надежности и техническая поддержка. Поэтому расширенный продукт Sun Grid Engine Enterprise Edition лицензируется за плату. Sun зарабатывает деньги на поставке и поддержке сетей Grid именно корпоративного уровня.
В своем недавнем выступлении Скот-МакНили, отметив, что сама идея Grid не нова, тем не менее назвал год 2003 годом Grid - пришло время для таких технологий. И хотя сегодня еще рано говорить о действительно глобальном Grid, однако у нас уже есть коммерческие инсталляции уровня департаментов и корпораций — на сегодняшний день у Sun имеется более 6 тыс. таких проектов, а в среднем мы развертываем около 70 новых инсталляций в неделю. Эта волна рано или поздно докатиться и до России, а в выполнении Grid-проектов нам обязательно пригодятся местные разработки и активное участие наших партнеров.