Посыпкин М.А.
ВМиК МГУ, снс mposypkin@gmail.com
Грид-систем из персональных компьютеров в России: текущее состояние и перспективы
Введение
Современная наука и производство немыслимы без масштабных расчетов, требующих колоссальной вычислительной мощности, которую можно обеспечить только в рамках распределенных и параллельных систем. В настоящее время существует несколько подходов к организации распределенных вычислений. Наибольшую производительность обеспечивают специализированные суперкомпьютеры большой мощности, которых насчитывается несколько сотен по всему миру. Они могут решать широкий спектр вычислительных задач, но требуют больших расходов на создание и эксплуатацию.
Несколько меньшей производительностью обладают так называемые сервисные гриды, которые соединяют кластеры, установленные в различных организациях. Это решение дешевле по отношению к суперкомпьютерам, но также требует выделенных ресурсов и значительных усилий, связанных с эксплуатацией. Инфраструктура сервисных гридов состоит из набора сервисов, обеспечивающих доступ к брокерам ресурсов, информационным службам, хранилищам данных, вычислительным ресурсам. Пользователи сервисных гридов имеют соответствующие права доступа к предоставляемым сервисам. Контроль доступа к ресурсам осуществляется посредством сертификатов безопасности. Хорошо известны следующие технологии создания сервисных гридов, как Globus, LCG-2/gLite (EGEE), ARC [и Unicore.
На нижнем уровне рассматриваемой иерархии находятся грид-системы персональных компьютеров (ГСПК). ГСПК основаны на наблюдении, что большую часть времени персональные компьютеры либо простаивают, либо загружены лишь на некоторую небольшую долю своей мощности. ГСПК обеспечивают возможность объединения свободных вычислительных мощностей домашних компьютеров и персональных компьютеров учреждений в единую распределенную систему для решения сложных вычислительных задач.
В отличие от сервисных гридов, грид-системы из персональных компьютеров легко установить и поддерживать. Как правило, требуется одна рабочая станция, на которой запускается серверная часть инфраструктуры. Пользователи со всего мира имеют возможность подключать свои персональные компьютеры к этому ресурсу, предоставляя
тем самым свободные ресурсы своих компьютеров для работы приложений, размещенных на центральном сервере. Грид-системы из персональных компьютеров являются наиболее дешевым решением, обеспечивающим большую вычислительную мощность. ГСПК обладают огромным потенциалом роста - в настоящее время в мире насчитывается более одного миллиарда персональных компьютеров и их число стремительно увеличивается.
К сожалению, далеко не все распределенные приложения могут эффективно выполняться на подобных системах из-за серьезных ограничений, накладываемых возможностями по передаче данных и высокой вероятностью отказа узлов, участвующих в вычислениях. Вместе с тем, достаточно широкий класс практических задач укладывается в модель управляющий-рабочие, которая является основной моделью приложения в ГСПК. К этому классу относятся многие переборные и комбинаторные задачи, моделирование методом Монте-Карло, задачи идентификации и многие другие. Для таких задач использование ГСПК оправдано и позволяет разгрузить суперкомпьютеры и сервисные гриды. Резюмируя можно сказать, что грид-системы персональных компьютеров являются дешевой альтернативой суперкомпьютерам и сервисным гридам и для ряда задач могут их успешно заменять.
BOINC - Основная платформа для разработки систем ГСПК
BOINC (Berkeley Open Infrastructure for Network Computing) [1] представляет собой платформу с открытым кодом для организации проектов добровольных вычислений. Разработка системы ведется в U.C. Berkeley Spaces Sciences Laboratory (США) исследовательской группой, которая также разрабатывала проект SETI@home. Работа над BOINC была начата в 2002 году с целью создания универсальной программной платформы для проектов подобного рода, которая бы упростила процесс развертывания необходимой инфраструктуры и разработки приложений. Первый проект добровольных вычислений на основе BOINC был запущен в 2004 году. В настоящее насчитывается более 80 публичных проектов на основе BOINC, делая платформу стандартом де-факто в данной области. Система также часто используется для организации внутренних гридов из персональных компьютеров.
Программное обеспечение BOINC состоит из двух основных частей: серверной, которая обеспечивает функционирование проекта, и клиентской, размещаемой на машинах добровольцев. Каждый проект на основе BOINC создается и функционирует независимо от других проектов, поддерживая собственный центральный сервер и веб-сайт. Для участия в проекте добровольцы устанавливают на своих компьютерах универсальный клиент BOINC, распространяемый с сайта платформы и доступный для всех основных операционных систем.
Проект на основе BOINC идентифицируется с помощью уникального адреса (URL), являющегося одновременно главной страницей веб-сайта
проекта и точкой входа для клиентов. В рамках проекта могут выполняться несколько приложений, состав которых может со временем изменяться. В рамках BOINC предусмотрена поддержка широкого класса вычислительных приложений, которые могут быть сформулированы в виде совокупности из большого количества независимых заданий. Платформа обеспечивает надежное и эффективное выполнение приложений в динамичной распределенной среде, реализуя механизмы планирования заданий, передачи данных и обработки отказов. Существующие приложения на таких языках, как C, C++ и FORTRAN, могут быть использованы в рамках BOINC без или с минимальной модификацией их кода.
После установки клиента BOINC, добровольцы могут подключить клиент к одному или нескольким проектам. При этом пользователь может указать то, каким образом в процентном отношении ресурсы его компьютера будут распределены между данными проектами. При подключении к проекту пользователь фактически дает разрешение на выполнение на своей машине любых исполняемых файлов, загруженных с сервера проекта. Несмотря на то, что BOINC обеспечивает определенную изоляцию выполняемого на клиентской стороне кода (sandboxing), в общем случае пользователь самостоятельно должен убедиться в подлинности, защищенности и научной значимости проекта.
Для учета индивидуального вклада каждого из добровольцев в проект в BOINC реализован механизм учета кредитов, которые вычисляются пропорционально процессорному времени, использованному для выполнения заданий проекта. В BOINC также предусмотрена возможность экспорта информации о кредитах пользователя на уровне отдельного проекта. Это, а также поддержка глобальной идентификации пользователя по его адресу электронной почты, позволяет агрегировать и делать доступной сводную статистику кредитов пользователя по всем проектам.
Состояние исследований по тематике ГСПК в России
Проект DEGISCO
Целью проекта седьмой рамочной программы DEGISCO[2], стартовавшего в 2010 и завершившегося в 2012 году, было развитие и популяризация технологий ГСПК по всему миру. В проекте принимали участие 12 партнеров из 11 различных стран. В рамках проекта было проведено много мероприятий (выставок, выступлений, семинаров и тренингов), основной целью которых было распространение информации о технологиях ГСПК и обмен опытом использования ГСПК.
Основным результатом работы проекта явилось создание международной федерации ГСПК[3]. Международная федерация грид-систем из персональных компьютеров является организацией, объединяющей людей из различных компаний, университетов и исследовательских институтов, заинтересованных в использовании вычислительной мощности такого типа и желающих обменяться опытом
друг с другом. Своим участникам федерация предоставляет несколько услуг: личные встречи на семинарах, доступ к документации, форум, веб-портал и консультации экспертов.
В настоящее время в состав федерации входят 46 организаций. Российское отделение представлено четырьмя организациями:
• Институт прикладных математических исследований Карельского
научного центра РАН,
• Институт вычислительных технологий сибирского отделения РАН,
• Институт системного анализа РАН,
• Институт динамики систем и теории управления сибирского
отделения РАН.
Как минимум в трех из перечисленных организаций существуют научные коллективы, ведущие исследования по тематике ГСПК. Содержание этих исследований будет рассмотрено подробнее далее.
Исследования, проводимые ИПМИ Кар НЦ РАН
В Институте прикладных математических исследований проводятся исследования по нескольким направлениям, связанным с ГСПК. Во-первых, это - разработанный интерактивный веб-портал для работы с BOINC. Этот портал облегчает развертывание BOINC-приложения, инициацию вычислений, получение результатов расчетов. С использованием разработанного портала было создано несколько распределенных приложений. Это, например, приложение, направленное на проведение кванто-механических расчетов с использование пакета Firefly [4]. Также был реализован распределенный вариант обработки больших объемов данных[5].
Исследования, проводимые в ИДСТУ СО РАН
Основным достижением Института динамики систем и теории управления является разработка и поддержание проекта SAT@home[6,7], который на данный момент является наиболее успешным российским проектом в области добровольных вычислений. На момент написания статьи в проекте принимают участие 2755 добровольцев, общее число компьютеров, подключенных к проекту составляет 7087, средняя реальная производительность составляет 1.169 TFlops.
SAT@home - исследовательский проект на платформе BOINC, использующий мощности распределенной вычислительной системы для решения трудных и практически важных задач (обращения дискретных функций, дискретной оптимизации, биоинформатики и т.д.), которые могут быть эффективно сведены к задаче о выполнимости булевых формул. Сначала в рамках данного проекта успешно решалась задача криптоанализа шрифта A5/1. Были улучшены существующие результаты в этой области [8]. На данный момент в проекте решаются задачи поиска ортогональных пар диагональных латинских квадратов порядка 9 и 10. В ближайшем будущем авторы проекта рассчитывают найти тройку взаимно
ортогональных латинских квадратов порядка 10 либо доказать отсутствие такой тройки.
Исследования, проводимые в ИСА РАН
Институт системного анализа РАН является одним из партнеров в проекте DEGISCO и членом международной федерации грид-систем из персональных компьютеров с момента ее основания. На базе Центра грид-технологий и распределенных вычислений ИСА РАН функционируют тестовая, учебная и рабочая вычислительные инфраструктуры BOINC.
Учебная инфраструктура используется для обучения студентов в рамках практических занятий и при выполнении курсовых и дипломных работ. Тестовая инфраструктура используется для апробации BOINC-проектов перед их размещением в рамках рабочей инфраструктуры.
В рамках рабочей инфраструктуры в настоящий момент функционирует проект OPTIMA@home [9]. Данный проект направлен на решение задач глобальной оптимизации в распределенной среде. В настоящее время в рамках проекта решается задача нахождения минимума потенциальной энергии взаимодействия атомов однородного молекулярного кластера.
Коллектив центра грид-технологий и распределенных вычислений проводит различные мероприятия, направленные на популяризацию технологии ГСПК в России. Регулярно проводятся тренинги и семинары по технологиям ГСПК. На конференции Грид'2012 в Дубне была проведена секция, посвященная тематики ГСПК. Также регулярно тематика ГСПК представляется на ежегодной выставке Softool в рамках экспозиции Российской академии наук. Поддерживается функционирование сайта российского отделения международной федерации грид-систем из персональных компьютеров [10], на котором размещается информация о проводимых в России исследованиях в области ГСПК.
Российские добровольцы, предоставляющие компьютерные ресурсы
В России существует сообщество пользователей, которые предоставляют ресурсы своих компьютеров для добровольных вычислений. Сайт сообщества [11] регулярно обновляется. Недавно вышла статья участников [12], посвященная деятельности, успехам и задачам сообщества. В настоящее время зарегистрировано более 100 команд российских участников из которых не менее 12 являются активными и принимают участие в различных проектах.
Роль добровольцев, предоставляющих ресурсы персональных компьютеров для различных проектов добровольных вычислений очень важна. В будущем планируется расширение взаимодействия и сотрудничества между исследователями, которые создают проекты BOINC и сообществом добровольцев. В настоящее время такое сотрудничество уже проводится в рамках проекта SAT@home - российские добровольцы не только предоставили большие вычислительные ресурсы, но и помогли
существенно улучшить технологические стороны проекта. В работе секции, посвященной ГСПК, которая прошла в рамках конференции GRID'2012 летом 2012 года, приняли участие представители российского сообщества добровольцев, что также может быть расценено как важный шаг на пути к сотрудничеству.
Перспективы развития грид-систем из персональных компьютеров в России
У технологий грид-систем из персональных компьютеров в России существует большой потенциал развития. Можно предположить, что с ростом пропускной способности домашнего интернета, увеличением мощности персональных компьютеров, число компьютеров, присоединяемых к проектам, будет расти, что приведет к росту суммарной вычислительной мощности российских сетей ГСПК. Определенные надежды в последнее время связываются с развитием мобильного интернета. В настоящее время мобильные телефоны и планшеты обладают достаточно мощными процессорами и могут быть использованы для вычислений.
Участники российского отделения Международной федерации грид-систем из персональных компьютеров предполагают продолжать активную деятельность по популяризации технологий ГСПК. Целью этой работы является распространение и внедрение этих технологий в практику работы научных и производственных коллективов, что позволит существенно расширить мощность используемых ими вычислительных ресурсов. Как следствие ожидается повышение точности и объема проводимых расчетов, что открывает возможности для получения новых научных результатов.
Предполагается создание на базе проекта OPTIMA@home зонтичного Российского проекта добровольных вычислений, в рамках которого различные исследовательские и производственные коллективы смогут размещаться свои приложения. Предполагается, что такой подход позволит консолидировать больше вычислительных ресурсов, чем, если бы каждое из приложений размещалось бы в отдельном проекте.
Другим важным направлением развития ГСПК является создание гибридных вычислительных систем, в состав которых входят как ресурсы добровольцев, так и суперкомпьютерные и грид-ресурсы. Такие системы будут обладать рекордной вычислительной мощностью и их использование открывает перспективы для решения сложных задач, которые не были решены до этого.
Литература
1. Anderson D. P. Boinc: A system for public-resource computing and storage. In R. Buyya, editor, Fifth IEEE/ACM International Workshop on Grid Computing, pages 4-10, 2004
2. Проект DEGISCO http://degisco.eu/
3. Международная федерация ГСПК http://desktopgridfederation.org/
4. Ивашко Е.Е., Никитина Н.Н. Организация квантовохимических расчетов с
использованием пакета Firefly в гетерогенной Грид на базе BOINC // Научный сервис в сети Интернет: экзафлопсное будущее. Труды Международной суперкомпьютерной конференции (Абрау-Дюрсо, 19-24 сентября 2011 г), 2011. C. 178-181.
5. Ивашко Е.Е., Головин А.С. Методы Data Mining для анализа больших массивов данных в гетерогенной грид на базе BOINC. Труды Международной суперкомпьютерной конференции (Абрау-Дюрсо, 17-22 сентября 2012 г), 2012.
6. Проект добровольных вычислений SAT@home http://sat.isa.ru/pdsat/
7. Заикин О.С., Посыпкин М.А., Семёнов А.А., Храпов Н.П. Организация добровольных вычислений на платформе BOINC на примере проектов OPTIMA@home и SAT@home // CAD/CAM/CAE Observer # 3 (71) / 2012. C. 87-92.
8. Posypkin, Mikhail and Semenov, Alexander and Zaikin, Oleg (2012) Using BOINC desktop grid to solve large scale SAT problems. Computer Science, 13 (1). pp. 25-34. ISSN 15082806.
9. Проект добровольных вычислений SAT@home http://boinc.isa.ru/dcsdg/
10. Сайт российского отделения международной федерации ГСПК http://desktopgrid.ru/
11. Сайт сообщества российских участников проектов BOINC http://www.boinc.ru/
12. Андреев А., Манзюк М., Ватутин Э. Весь мир как суперкомпьютер. Троицкий вариант, 16(110), С. 7-9