«Университетский кластер»: интеграция образования, науки и индустрииПрактически все современные вычислительные системы являются распределенными и допускают параллельное выполнение на всех уровнях: инструкций, потоков и процессов. Кроме того, на развитие технологий распределенных и параллельных вычислений сильное влияние оказали свободное ПО и концепция облаков, дополнившие список факторов, определяющих сегодня спрос на параллельные вычисления.

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

Использование прикладных пакетов на базе свободного ПО может ускорить внедрение технологий распараллеливания, однако для этого необходимы квалифицированные специалисты, которые обеспечат доступ к прикладному пакету и его оптимальное применение. Несмотря на усилия, прилагаемые со стороны государства и бизнеса, в России почти нет таких специалистов. В 2008 году родилась совместная инициатива научного сообщества и индустрии, которая впоследствии переросла в программу «Университетский кластер».

Программа «Университетский кластер»

Программа, учрежденная Российской академией наук (Институт системного программирования и Межведомственный суперкомпьютерный центр), компаниями НР и «Синтерра», направлена на повышение уровня использования технологий параллельных и распределенных вычислений в высшем образовании и научно-исследовательской деятельности, а также на их ускоренное внедрение в промышленность России. Цель программы – в создании экосистемы поддержки параллельных и распределенных вычислений, а также в формировании сообщества пользователей и разработчиков. Такая инфраструктура будет служить основой для организации научных исследований, промышленных разработок и обучения студентов и аспирантов, а также для развертывания масштабируемых облачных сервисов и предметно-ориентированных виртуальных лабораторий, доступных широкому кругу пользователей. Среди сервисов, создаваемых в рамках программы, можно назвать следующие:

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

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

В рамках программы ведутся работы по созданию и развертыванию проблемно-ориентированных научно-исследовательских лабораторий («хабов») на базе технологий Web 2.0 для обеспечения доступа к прикладным пакетам по сервисной модели, организации деятельности распределенных коллективов, в том числе совместной разработки программного обеспечения. Такие «хабы» объединяют научных работников, преподавателей и экспертов в конкретных областях для проведения фундаментальных и прикладных исследований и развития соответствующих технологий с целью их внедрения в промышленность.

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

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

Для получения доступа к испытательным стендам и сервисам исследователю необходимо зарегистрировать заявку на выполнение проекта и в случае положительного решения о принятии подписать «Соглашение об использовании». После этого ему предоставляется доступ к необходимому набору сервисов.

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

По состоянию на май 2010 года к программе присоединилось 70 участников, а партнерами стали компании Microsoft, Intel, ассоциация «Отечественный Софт», ФГУП «Информика», Российская государственная библиотека, издательство «Открытые системы». Центр компетенции программы создан на базе ИСП РАН, обеспечивающего техническую поддержку и координацию мероприятий по привлечению сервисов со стороны партнеров программы.

Вычислительная инфраструктура Программы

Высокое качество сервисов и испытательных стендов, развернутых на базе инфраструктуры «Университетский кластер», достигается за счет виртуальной частной сети и вычислительных ресурсов и хранилищ.

Виртуальная частная сеть «Универ-ситетский кластер» развернута на базе коммуникационных каналов национального оператора связи компании «Синтерра», к региональным ЦОД которой подключаются участники программы (рис. 1).

 

«Университетский кластер»: интеграция образования, науки и индустрии

На территории организации-участника создается шлюз, через который осуществляется доступ из его корпоративной сети к испытательным стендам и сервисам, развернутым на базе вычислительной инфраструктуры программы. В сети представлены общие сетевые сервисы, развернутые и поддерживаемые в ИСП РАН: система доменных имен, справочник ресурсов (испытательные стенды и сервисы), сервер централизованной авторизации.

Учредители, партнеры и участники программы предоставляют свои вычислительные ресурсы и хранилища файлов – сейчас это кластеры МСЦ РАН, Российского научного центра «Курчатовский институт», Технологического института Южного федерального университета, Научно-исследовательского института радио и ряда других партнеров и участников программы. Общая мощность вычислительной инфраструктуры составляет около 200 TFLOPS.

Сервисы Программы

В рамках программы предоставляются сервисы из состава испытательного стенда проекта OpenCirrus (opencirrus.org), инициированного компаниями НР, Intel и Yahoo при участии Национального научного фонда США, Университета штата Иллинойс в Урбана-Шампейне, Технологического института Карлсруэ и Министерства развития компьютерных коммуникаций Сингапура. Целью проекта является создание открытого испытательного стенда на базе распределенных центров обработки данных для поддержки разработчиков прикладных и системных программных средств для облаков. ИСП РАН, МСЦ РАН и РНЦ «Курчатовский институт» – первые в Восточной Европе организации, присоединившиеся к программе OpenCirrus, в рамках которой доступны следующие сервисы:

  • Physical Resource Set («аппаратура как сервис») – предоставление пользователю средствами открытой системы Tycoon  доступа на уровне системного администратора к затребованной им аппаратуре (сервер, графический акселератор общего пользования либо какое-нибудь другое вычислительное устройство из состава испытательного стенда);
  • Elastic Compute («инфраструктура как сервис») – организация средствами открытой среды Tashi (incubator.apache.org/tashi) доступа пользователя к виртуальным средам для выбора и установки на предоставленных виртуальных серверах требуемого системного окружения (ОС, системные и прикладные библиотеки и т.п.);
  • набор средств работы с большими распределенными массивами данных на базе открытой среды Hadoop Core (hadoop.apache.org), включающий такие сервисы, как Distributed File System (хранение больших массивов данных), Distributed Data Base (масштабирование базы данных), средства реализации эффективной обработки больших массивов данных по технологии MapReduce;
  • система параллельного программирования на основе языка высокого уровня Pig, поддерживающего разработку программ анализа данных с использованием интерфейсов MapReduce.

Кроме данных сервисов в рамках программы реализован еще ряд сервисов.

Сервис Parallel Compute обеспечивает выполнение программ на высокопроизводительных вычислительных системах с распределенной или общей памятью. Этот сервис может быть использован для выполнения уже существующих приложений или для разработки собственных прикладных программ. В текущей версии выполнение программ на вычислительных системах с распределенной и общей памятью поддерживаются реализациями стандартов MPI и OpenMP. Заявки на данный сервис подали Самарский государственный аэрокосмический университет, Институт систем обработки изображений РАН (проект «Разработка параллельных методов оптимизации нанофотонных многослойных тонкопленочных структур, изготавливаемых методом наноимпринтинга»), Санкт-Петербургский государственный политехнический университет (проект «Построение и анализ кодов, исправляющих ошибки»), Тамбовский государственный университет им. Г. Р. Державина (проект «Параллельная компьютерная алгебра»), Дагестанский государственный университет (проект «Разработка и исследование параллельных алгоритмов, реализующих теоретико-графовые модели задач оптимизации расписаний»).

Сервис Workspace позволяет предоставить пользователям необходимое им рабочее окружение, включающее информационный ресурс проекта на основе MediaWiki, систему отслеживания ошибок на основе открытого пакета Bugzilla и систему управления версиями на основе пакета Git.

Сервис Virtual Classroom обеспечивает проведение конференций, лекций, семинаров и лабораторных работ в режиме онлайн. Участникам программы доступны реализации этого сервиса на основе открытого пакета DimDim, а также коммерческого решения Adobe Connect.

Дальнейшие работы по расширению набора сервисов ведутся совместно с ее участниками и партнерами, например в стадии разработки находится сервис CFD Compute, предназначенный для решения задач механики сплошной среды. Эта работа ведется совместно ИСП РАН, РНЦ «Курчатовский институт» и компанией HP на базе открытого пакета OpenFOAM.  Кроме того, для обеспечения полного цикла решения задач в рамках сервиса CFD Compute на базе пакета ParaView  реализуются сервис Scientific Visualisation, обеспечивающий визуализацию научных данных, и сервис CAD Compute, позволяющий с помощью пакета SALOME  строить расчетные сетки.

Хаб

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

Аппаратура хаба образуется из Web-серверов, обработчика интерактивных запросов, хранилища данных, grid, высокопроизводительных систем и суперкомпьютеров, а также серверов, позволяющих визуализировать результаты.

Программное обеспечение имеет многоуровневую структуру. На первом уровне обеспечивается доступ ко множеству приложений через единую точку входа – Web-портал. Здесь решаются задачи представления и организации информации, первоначальной авторизации пользователей, а также автоматизированной генерации интерфейсов, делающих возможным интерактивное взаимодействие с приложением. Для выполнения интерактивных приложений используются распределенные вычислительные ресурсы, за доступ к которым отвечает второй уровень. Здесь решаются вопросы объединения разнородных ресурсов, принадлежащих различным организациям, разграничения доступа и безопасности. Применение открытых универсальных интерфейсов позволяет наращивать вычислительную инфраструктуру, подключая к ней новые вычислительные средства.

Важной проблемой, решаемой на втором уровне, является обеспечение однородности вычислительных ресурсов для запускаемых приложений. Каждое приложение предъявляет свои требования к версии операционной системы, составу предустановленных библиотек, аппаратному обеспечению, и трудно гарантировать, что все вычислительные ресурсы будут удовлетворять определенным требованиям. Здесь обычно применяется технология виртуализации, однако необходимо предоставить возможность управления множеством образов виртуальных машин, учитывая, что объем каждого образа составляет 3-10 Гбайт.

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

Ключевой возможностью хаба является предоставление через обычный браузер доступа к интерактивным инструментам моделирования.

На рис. 2 показана схема реализации интерактивного взаимодействия пользователя с хабом. Пользователь через обычный браузер обращается к Web-серверу, который инициирует обращение к обработчику интерактивных запросов, открывающему сеанс пользователя – графический интерфейс интерактивного взаимодействия с приложением. Запуск приложения осуществляется специально разработанным модулем, который взаимодействует с обработчиком интерактивных запросов и запускает виртуальную машину с предустановленными программными компонентами, реализующими логику приложения. В качестве связующего программного обеспечения обработчика интерактивных запросов используются сервисы Elastic Compute, Distributed Storage и Parallel Compute.

 

«Университетский кластер»: интеграция образования, науки и индустрии

Сервис Distributed Storage используется для размещения входных и промежуточных данных сессий, связанных с выполнением приложений, а также результатов счета и их визуализации.

***

Сегодня по программе «Университетский кластер» ведется создание новых испытательных стендов и расширение набора сервисов; создаются новые предметно-ориентированные научно-исследовательские лаборатории в области нанотехнологий совместно с Международным инновационным центром нанотехнологий стран СНГ, созданным на базе Объединенного института ядерных исследований; по договоренности с локальными операторами связи ведется подключение к программе образовательных и научно-исследовательских организаций Белоруссии и Казахстана. В ближайшее время планируется интегрировать программу «Университетский кластер» в систему рамочных программ Европейского союза по научным исследованиям и технологическому развитию. Сейчас открыта Седьмая рамочная программа (2007-2013) – транснациональная программа, в которой особое внимание уделяется международному сотрудничеству, а Россия выступает ведущим партнером ЕС.

Работа проводится в рамках реализации ФЦП "Научные и научно-педагогические кадры инновационной России на 2009-2013 годы", ГК №П728 от 12 августа 2009 года

Арутюн Аветисян, Сергей Гайсарян, Виктор Иванников, Олег Самоваров ({arut, ssg, ivan, samov}@ispras.ru) – сотрудники Института системного программирования РАН (Москва).

Пример использования хаба

Одним из примеров использования хаба является виртуальная научно-исследовательская «Лаборатория квантовых точек» (Gerhard Klimeck, Matteo Mannino, Michael McLennan, Wei Qiao, Xufeng Wang, Quantum Dot Lab. Purdue University, West Lafayette).

Квантовые точки представляют собой нанометровые «ящики» (кристаллы полупроводников), способные задерживать и выпускать электроны. Разработкой технологий и освоением экспериментального производства квантовых точек в целях дальнейшего их использования в качестве материалов функциональных элементов фоточувствительных, фотогальванических и оптоэлектронных систем в России занимается, в частности, компания «Нанотех–Дубна». Квантовые точки позволяют изучать обычные квантовые структуры для исследования таких устройств, как высокоэкономичный квантовый лазер, диоды, излучающие свет, ячейки солнечных батарей, одноэлектронные транзисторы. Эта область интересна теоретикам квантовой физики, экспериментаторам в области электроскопии и передачи информации, специалистам в области оптоэлектроники и др. Ожидается, что на основе квантовых точек удастся сконструировать сверхчеткие цветные дисплеи нового типа, приборы ночного видения высокого разрешения и быстродействующие процессоры.

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

В рамках программы «Университетский кластер» находится в стадии разработки российский аналог такой лаборатории.