Грид-системы и потенциал их использования

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

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

Достигнута пиковая производительность Tianhe-2 – 33,86 петафлопс, что почти в 2 раза больше, чем у Titan, занимающего второе место [1].

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

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

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

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

Неоднородность такой среды налагает соответствующие требования:

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

Получившийся “виртуальный компьютер” по производительности равносилен суперкомпьютерам. Такая система формирует очередь заданий, которые выдаются по сети другим элементам грида. Задача может быть прервана, или не выполнена до конца. На этот случай для обеспечения стабильности планировщик заданий выдает дополнительные “копии” этих задач другим элементам грида. Затем результаты обобщаются, и обрабатываются [3].

Для создания грид-систем используется специализированный программный инструментарий. Из всех средств развертывания грид-сетей стандартом считается Globus Toolkit. Globus Toolkit представляет собой набор инструментов и стандартов, главным из которых является стандарт OGSA (Open Grid Services Architecture). OGSA определяет единообразную семантику представления служб [4], стандартные механизмы для создания, именования обнаружения экземпляров Grid-служб, обеспечивает прозрачность местонахождения и связывания различных протоколов и поддерживает интеграцию с базовыми механизмами нижележащих платформ. Разработка технической спецификации OGSA ведется в рамках форума Grid Global Forum, разрабатывающего стандарты для Grid-сообщества [5].

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

К этим трудностям относятся: невысокая пропускная способность, проблемы обеспечения информационной безопасности, высокое потребление энергии. На сегодняшний день было предложено много вариантов реализации мобильных гридов. Среди существующих мобильных грид-проектов следует отметить проекты Akogrimo, ISAM и MADAM [6].

Существующие географически-разделенные грид-системы представлены рядом интереснейших проектов, в которых участвуют добровольцы со всего мира. Одной из платформ для таких проектов является BOINC (англ. Berkeley Open Infrastructure for Network Computing – открытая программная платформа (университета) Беркли для GRID вычислений). BOINC – это некоммерческий программный комплекс для организации распределенных вычислений, первоначально разработанный для проекта SETI@home (от англ. Search for Extra-Terrestrial Intelligence at Home – поиск внеземного разума на дому). Впоследствии платформа стала доступной для сторонних проектов.

Серверная часть BOINC состоит из HTTP-сервера с веб-сайтом проекта, базы данных MySQL и набора демонов (генератор заданий, планировщик, валидатор, ассимилятор результатов).

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

Для пользователей понятие BOINC чаще используется в контексте понятия BOINC-клиент — универсальный клиент для работы с различными (BOINC-совместимыми) проектами распределённых вычислений.  BOINC-клиент  позволяет  участвовать  одновременно  в  нескольких  проектах  с помощью одной общей программы управления (boinc или boinc.exe). Для визуализации процесса управления BOINC- клиентом можно использовать либо поставляемую по умолчанию официальную программу-менеджер (boincmgr или boincmgr.exe), либо воспользоваться «неофициальной» программой для мониторинга и управления BOINC-клиентом.

Следует отметить, что собственно BOINC-клиент в академическом понимании не имеет пользовательского интерфейса как такового, а представляет собой сервис, запускаемый при запуске системы, и управляется по протоколу TCP/IP. Однако для конечного пользователя это не имеет значения, поскольку дистрибутив программы комплектуется программой-менеджером, которая сразу по умолчанию устанавливается вместе с BOINC-клиентом как единое целое и абсолютно прозрачна для пользователя. В этом случае в качестве адреса управляемого программой менеджером BOINC-клиента указывается  адрес «localhost».

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

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

Периодически составляется топ популярнейших проектов BOINC. Ниже представлены топ-10 проектов BOINC на данный момент [7]:

SETI@Home – анализ сигналов с радиотелескопа Аресибо, а также ряда других радиотелескопов, с целью поиска внеземного разума.

Einstein@Home – проверка гипотезы Эйнштейна о гравитационных волнах, а также поиск радио- и гамма-пульсаров.

World Community Grid – поддерживает большое количество других проектов, созданных для исследований в области поиска лекарств от рака, СПИД, малярии, для разработки экологически чистых источников энергии.

Rosetta@Home – помощь в исследованиях и разработках лекарств.

MilkyWay@Home – создание высокоточной трёхмерной модели звёздных потоков нашей галактики.

PrimeGrid – поиск больших простых чисел. Climate Prediction – изучение изменений климата. SIMAP – создание базы данных белков.

Cosmology@Home – поиск модели, которая наилучшим образом описывала бы нашу вселенную в рамках доступных астрономических и физических данных.

POEM@Home – изучение белковых структур.

В проектах, базирующихся на BOINC, задействовано более миллиона машин. Общая производительность составляет порядка 8-10 петафлопс. В проектах BOINC участвуют команды волонтёров со всего света, в том числе и из России, однако в Казахстане и России развитие собственных грид-систем находится на невысоком уровне.  Россия  активно  использует  суперкомпьютеры,  Казахстан  начинает их использование (Казахский национальный технический университет и Казахстанско-Британский технический университет пользуются суперкомпьютерами невысокой производительности [8]), однако грид-системы пока не получили большого распространения.

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

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

 

СПИСОК ЛИТЕРАТУРЫ 

  1. China’s Tianhe-2 Supercomputer Maintains Top Spot on 42nd TOP500 List. – Режим доступа: http:// top500.org/blog/lists/2013/11/press-release/.
  2. Журавлев Е.Е., Корниенко В.Н., Олейников А.Я. и др. Модель открытой Грид-системы // Журнал радиоэлектроники. – 2012. – N – С. 5-6.
  3. Ferreira L., Berstis , Armstrong J. Introduction to Grid Computing with Globus. – Copyright International Business Machines Corporation, 2002, 2003. – Р. 16-22.
  4. Frederic Magoules, Jie Pan, Kiat-An Tan, Abhinit Introduction to Grid Computing. – CRC Press, 2009. – С. 4-8.
  5. Телематика 2004: XI Всероссийская научно-методическая конференция. – Режим доступа: http:// tm.ifmo.ru/tm2004/db/doc/get_thes.php?id=410.
  6. Захаров А.В., Митихин В Г., Серов В.В. Поиск методов построения эффективных мобильных грид-систем // Материалы конференции «Развитие суперкомпьютерных и грид-технологий в России» в рамках МСКФ-2011. – Режим доступа: http://www.hpc-platform.ru/tiki-index.php?page=MSCF.
  7. com – project popularity. – Режим доступа: http://boincstats.com/en/page/projectPopularity.
  8. Развитие суперкомпьютерных технологий в Казахстане. – Режим доступа: http://profit.kz/articles/1256/Razvitie-superkomputernih-tehnologij-v-Kazahstane/.
Фамилия автора: К.В. Семёнов, А.Н. Антропов
Год: 2014
Город: Павлодар
Яндекс.Метрика