Этот Grid — неспроста... - BioinforMatix.ru - портал по биоинформатике, имейджингу и биософту

Этот Grid — неспроста... - BioinforMatix.ru - портал по биоинформатике, имейджингу и биософту

Этот Grid — неспроста...

Печать E-mail
Автор Павел Анни   
23.11.2008 г.

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

Когда-то давно управление очередями заданий осуществлялось просто. Автор статьи, подрабатывая по ночам на вычислительном центре с ЕС ЭВМ, просто переносил колоды перфокарт от одной машины к другой, если какая-то из них освобождалась. Во власти оператора было и назначение приоритетов заданий: «Этого я знаю, он хороший человек, пустим-ка мы его в первую очередь».

С тех пор, конечно, кое-что изменилось. Самое главное — появились сети. Перемещение заданий уже не требует тележек на колесах; их можно отправлять по сети из комнаты в комнату, из здания в здание, даже через океан. Принципы работы системы управления заданиями, тем не менее, остались прежними: очередь, поиск свободных ресурсов, диспетчеризация, политики и приоритеты. Сетевая реализация системы управления заданиями была выполнена достаточно давно, дав начало нескольким проектам; некоторые из них продолжаются как проекты категории о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. Этот программный пакет позволяет задавать политики использования ресурсов и взаимодействия нескольких рабочих групп. Пакет поддерживает четыре типа политики

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

Функциональная политика (functional policy). Эта политика аналогична политике разделяемых ресурсов, за тем исключением, что компенсация ресурсов за недоиспользование или переиспользование не производится.

Политика "работа к сроку" (deadline policy). Бывают ситуации, когда одной из групп требуется завершить какую-то вычислительную работу к определенному сроку. Тогда администратор вычислительной сети может кратковременно выделить все имеющиеся ресурсы этой группе для завершения работы в срок. Действие такой политики прекращается немедленно после наступления заданной даты или по завершению выполнения задачи (если оно наступает раньше).

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

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

Будущее 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 позволяют говорить о возможности виртуализации вычислительных узлов, которая делает вычислительную сеть одним большим компьютером. «Сеть — это компьютер», как и было сказано полтора десятилетия назад.

Павел Анни ( Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script ) — сотрудник московского представительства компании Sun Microsystems.

Последнее обновление ( 08.04.2009 г. )
 
« Пред.   След. »


Copyright 2012 Bioinformatix.ru