Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Самоваров Олег Ильгисович

Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий
<
Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Самоваров Олег Ильгисович. Разработка системного прогаммного обеспечения для развертывания предметно-ориентированных Web-лабораторий: диссертация ... кандидата технических наук: 05.13.11 / Самоваров Олег Ильгисович;[Место защиты: Федеральное государственное бюджетное учреждение науки Институт системного программирования Российской академии наук].- Москва, 2015.- 109 с.

Содержание к диссертации

Введение

Глава 1 Платформы научного моделирования 11

1.1 Платформа HUBzero 13

1.2 Платформа CBRAIN 14

1.3 Сервис социального программирования Koding 16

1.4 Выводы к первой главе 20

Глава 2 Архитектура web-лабораторий 23

2.1 Требования 23

2.2 Модель web-лаборатории 28

2.3 Укрупненные варианты использования 47

2.4 Выводы ко второй главе 51

Глава 3 Платформа развертывания web-лабораторий UniHUB 52

3.1 Используемые методы 52

3.2 Реализованные сервисы уровня унифицированной аппаратуры

3.2.1 Вычислительный кластер по запросу 60

3.2.2 Разделяемое хранилище данных 79

3.3 Выводы ктретьей главе 83

Глава 4 Разработанные производственно-исследовательские Web-лаборатории ... 84

4.1 Распределенная вычислительная инфраструктура программы "Университетский кластер" 84

4.2 Испытательный стенд проекта OpenCirrus 87

4.3 Web-лаборатория решения задач механики сплошной среды 90

4.4 Выводы к четвертой главе 94

Заключение 97

Список литературы

Введение к работе

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

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

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

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

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

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

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

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

1 G. Klimeck, М. McLennan, S.P. Brophy, G.B. Adams III, M.S. Lundstrom, ": Advancing Education and Research in Nanotechnology," Computing in Science and Engineering, 2008, 10(5), pp. 17-23

требования к таким лабораториям. Полнофункциональная web-лаборатория должна обеспечивать:

  1. разработку и проведение численных экспериментов с использованием численных моделей предметных областей;

  2. интеграцию в состав web-лаборатории и использование пакетов прикладных программ, реализующих числительные модели для выполнения комплексных расчетов (например, расчет, включающий создание геометрической модели, генерацию сетки, выполнение вычислений и визуализацию результатов).

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

  4. подготовку отчетов и статей;

  1. хранение и доступ к данным сотрудников web-лаборатории;

  2. совместную работу с численными экспериментами, прикладными пакетами, аппаратными средствами, отчетами, статьями, данными;

  3. создание ресурсов в формате Web 2.0: каталогов, закладок, цитат, библиотек (монографий, учебных пособий, статей, справочных материалов отчетов и других публикаций по тематике web-лаборатории, а также архивных материалов) и календарей;

  4. интеллектуальный поиск материалов web-лаборатории

9) организацию "он-лайн" и "офф-лайн" обсуждений: web-конференции,
форумы.

10) организацию процесса обучения студентов и аспирантов,
специализирующихся по тематике лаборатории.

Для обеспечения информационной безопасности должны быть реализованы: 1) разделение прав доступа к разделам и функциям web-лаборатории;

2) защита от несанкционированного доступа.

Основные результаты диссертации, обладающие научной новизной:

1. Разработана архитектура web-лаборатории, ориентированной на поддержку
совместной образовательной, научно-исследовательской и производственной
деятельности распределенных научных коллективов.

2. Предложены методы автоматизированной интеграции распределенных
вычислительных ресурсов в единую вычислительную инфраструктуру.

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

Разработана и реализована технологическая платформа программы "Университетский кластер", в том числе испытательный стенд международного проекта "OpenCirrus" и web-лаборатория, ориентированная на решение задач механики сплошной среды (МСС) на основе промышленных свободно-распространяемых прикладных пакетов Salome, OpenFoam, Para View.

Практическая значимость диссертации подтверждается эффективностью применения разработанного системного программного обеспечения, с использованием которого созданы: вычислительная инфраструктура программы "Университетский кластер"; испытательный стенд международного проекта OpenCirrus; проблемно ориентированная web-лаборатория решения задач механики сплошной среды UniCFD; web-лаборатория рационального природопользования GeoLab; лаборатория решения задач хранения и анализа больших данных BigDataOpenLab. В web-лаборатории UniCFD был выполнен ряд научно-исследовательских и практических работ междисциплинарным коллективом специалистов из следующих организаций: МГТУ им. Н.Э.Баумана, НИЦ «Курчатовский институт», НИИ механики МГУ, СПбГМТУ, ИСП РАН. Можно отметить следующие работы: "Исследование вихревых нестационарных течений вязкого газа при дозвуковом обтекании летательных аппаратов", "Исследование нестационарных турбулентных течений в задаче обтекания грузов-контейнеров на

внешней подвеске вертолета" и др. Подробное описание результатов выполненных проектов можно найти на сайте web-лаборатории UniCFD ().

На базе web-лаборатории UniCFD разработаны и проводятся учебные курсы по темам специализации лаборатории. Учебные курсы включают лекционные материалы, а также практические и лабораторные работы. Описание и материалы учебных курсов находятся в свободном доступе в Интернет по адресу: . Также, данной web-лабораторией поддерживается образовательный процесс обучения студентов МГТУ им. Н.Э.Баумана. По данным курсам в 2011-2013 годах прошло обучение слушателей из 70 образовательных и научно-исследовательских учреждений и промышленных предприятий.

На базе web-лаборатории UniCFD был реализован ряд проектов в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы», «Научные и научно-педагогические кадры инновационной России».

В настоящее время, на базе web-лаборатории BigDataOpenLab, в рамках целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2014-2020 годы» выполняется проект по теме: «Разработка комплекса научно-технических решений предназначенных для хранения и обработки сверхбольших объемов данных в задачах механики сплошной среды». Совместно с компанией NVIDIA проводятся на постоянной основе учебные курсы по технологиям программирования для графических ускорителей. Технологическая платформа находится в открытом доступе для выполнения не коммерческих, научно-исследовательских или образовательных проектов ().

Апробация работы. Основные результаты диссертации докладывались на всероссийских и международных конференциях и семинарах:

  1. Международные конференции «Облачные вычисления. Образование. Исследования. Разработка», Москва, 2010, 2011, 2012, 2013

  2. Международная конференция «The 2012 HP Catalyst Summit», Пекин 11-14 апреля 2012

  1. Международная конференция «Open Cirrus Summit», Саннивейл, Калифорния, США, 28-29 января 2010 г

  2. Международная супер компьютерная конференция «Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность» (Новороссийск 2009),

  3. Международная супер компьютерная конференция «Научный сервис в сети Интернет: суперкомпьютерные центры и задачи», (Новороссийск 2010),

  4. Международная супер компьютерная конференция «Научный сервис в сети Интернет: экзафлопсное будущее (Новороссийск 2011)

  5. Всероссийская конференция «Свободное программное обеспечение-2010» (г. Санкт-Петербург, 2010);

  6. Научная школа "Компьютерное моделирование новых материалов", Москва, 26 сентября 2012

  7. Научно-технический семинар «Платформа UniHUB. Интеграция образования, науки и индустрии», Саранск, 17-19 апреля 2012 -

10.Семинар «Облачные сервисы», Москва 15 марта 2011 год

11.Летняя Суперкомпьютерная Академия МГУ имени М. В. Ломоносова,

Москва, 25 июня по 7 июля 2012 12.Всероссийская конференция «XXXVII Академические чтения по

космонавтике», Москва, 2013 Структура и объем диссертации. Диссертация состоит из введения, 4 глав, заключения и библиографии. Общий объем диссертации 110 страниц, из них 100 страниц текста, включая 27 рисунков. Библиография включает 52 наименования на 6 страницах.

Сервис социального программирования Koding

Платформа HUBzero была разработана в университете Purdue University (США) с целью предоставить исследователям простой доступ к средствам научного моделирования, а так же к средствам демонстрации полученных результатов. Платформа HUBZero была создана, прежде всего, для того, чтобы поддержать сетевое сообщество nanoHUB [13], направленное на решение вычислительных задач нанотехнологий, финансируемое Национальным фондом по науке США и имеющие целью связать теоретиков, разрабатывающих средства моделирования, с экспериментаторами и преподавателями, которые могли бы использовать данные технологии.

С 2007 г. на базе платформы HUBZero, кроме nanoHUB.org создано несколько web-лабораторий в областях фармацевтики (pharmaHUB.org), передачи тепла (thermalHUB.org), микроэлектромеханических систем (memsHUB.org), здравоохранения (IndianaCTSI.org), лечения рака (cceHUB.org) и преподавания инженерных дисциплин (globalHUB.org).

В 2008 г. примерно 6700 пользователей запустили более 380 000 задач моделирования, используя 129 инструментов, доступных тогда на nanoHUB.org.

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

Платформа HUBzero обеспечивает возможность запуска приложений и предоставления к ним доступа через окно браузера. Для этого используется разработанный Java-апплет, который позволяет транслировать рабочее окно приложений через VNC [14] протокол. В качестве ядра платформы используется CMS Joomla. Сессии запущенных приложений выполняются в легковесных контейнерах, реализованных на базе OpenVZ [15].

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

Сложность применения данной платформы для решения поставленных задач связана с существующими ограничениями масштабируемости предлагаемых сервисов, которые обусловлены архитектурными решениями. Решения по организации графического вывода запускаемых приложений серьезно ограничивают возможности выполнения пакетов, требующих вывода сложных 2D и тем более 3D графических объектов. Фактически, данная платформа позволяет выполнять только модельные задачи с незначительными требованиями к вычислительным ресурсам.

Проект CBRAIN [16] представляет собой многоуровневую платформу, состоящую из трех слоев (рис. 1): 1) пользовательский уровень, доступный через стандартный браузер для конечных пользователей и через RESTful API [17] для приложений или других платформ; 2) уровень сервисов, который обеспечивает функционирование сервисов, запрашиваемых через пользовательский уровень. База метаданных, в которой хранится информация обо всех пользователях, правах доступа и ресурсах, данные управляющих сервисов (запросы пользователей, адреса для загрузки и выгрузки данных, загрузка компьютеров, выполняемые задачи и т.д.); 3) инфраструктурный уровень, содержащий распределенные по сети репозитории данных и вычислительные ресурсы. Сосуществование произвольного числа сервисов по хранению данных, вычислительных центров и сайтов с развернутой платформой CBRAIN обеспечивается общей базой метаданных -центральным элементом инфраструктуры.

Был разработан специальный механизм обмена данными в Grid [18,19], учитывающий состояние каналов обмена, что позволяет исключить возникновение узких мест (bottlenecks) во время передачи данных, обеспечивая тем самым масштабируемость. Передача данных производится непосредственно от поставщика данных к обрабатывающему серверу помимо центрального сервера платформы, гарантируя тем самым отсутствие его перегрузки во время выполнения данной операции. Визуализация данных будет обрабатываться непосредственно на сервере портала CBRAIN. Это основной сервис, который требует передачи данных на центральный сервер.

Серверы, НРС кластеры подключаются к платформе CBRAIN с использованием легких серверных приложений. Серверные приложения обрабатывают запросы на выполнение заданий и, взаимодействуя с локальными системами планирования, ставят их на исполнение. Платформа поддерживает следующие системы планирования заданий: SGE, PBS, Torque, МОАВ. Централизованное распределение заданий обеспечивает мета-планировщик SCIR . Мета-планировщик реализован на языке Ruby [20] и выполняет основные функции по организации очередей, запуска и управления заданиями.

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

Сервис Koding [21] предоставляет возможность разработки на языках РНР [22], Python, Ruby, Perl [23] и др. в окне браузера. Проект задумывался также как социальная платформа для разработчиков: обмен сообщениями, подписка на ленту по интересующим темам.

Для пользователя Koding предоставляет собственный суб-домен ( .kd.io), собственный VPS и некоторые встроенные веб-приложения для управления новыми ресурсами. Через панель администратора у пользователя есть возможность создавать другие суб-домены и запускать дополнительные сервера VPS. Интерфейс удобен в использовании.

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

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

Укрупненные варианты использования

При выполнении данной функции, снимок состояния сохраняется в хранилище и регистрируется в библиотеке загрузочных образов операционной системы web-лаборатории. Создается уникальный идентификатор сохраненного снимка состояния IDSTAPSHORTINF. В качестве параметра данной команде передается: IDINF - уникальный идентификатор описателя выполняемой вычислительной инфраструктуры на унифицированной аппаратуре (IDINF) STAPSHORT_INFNAME - имя снимка состояния, под которым он будет сохранен. snapshot-list () : функция позволяет вывести список всех сохраненных снимков состояния вычислительных инфраструктур snapshot-show (IDSTAPSHORTINF) : функция позволяет вывести значения атрибутов определенного снимка состояния. В качестве параметра функции указывается уникальный идентификатор сохраненного снимка состояния IDSTAPSHORTINF. snapshot-del (IDSTAPSHORTINF) : функция позволяет удалить созданный снимок состояний вычислительной инфраструктуры. В качестве параметра данной функции передается уникальный идентификатор сохраненного снимка состояния IDSTAPSHORTJNF.

Функции управления устройствами постоянного хранения данных. Дисковое пространство, создаваемое в рамках виртуальной машины освобождается после ее остановки, поэтому для постояного хранения обеспечивается возможность подключения к виртуальным машинам внешних постоянных систем хранения. Такие системы хранения представляются в виде виртуальных блочных устройств, которые можно создавать и подключать к виртуальным машинам (в один момент времени виртуальное блочное устройство может быть подключено к одному экземпляру виртуальной машины). Управление устройствами постоянного хранения данных производится следующими основными функциями: volume-create (SHDD, THDD) : функция позволяет создать устройство постоянного хранения данных. При создании устройства постоянного хранения данных создается его описатель DHDD И уникальный идентификатор ID HDD. В качестве входных параметров указываются: SHDD - объем устройства постоянного хранения данных в гигабайтах THDD - тип устройства постоянного хранения данных. volume-list () : функция позволяет вывести полный список созданных устройств постоянного хранения данных. volume-show (ID VOLUME) : функция позволяет высвети значение атрибутов определенного устройства постоянного хранения данных. В качестве входного параметра данной функции указывается уникальный идентификатор устройства хранения данных IDVOLUME. volume-attach (ID VOLUME, ID INF) : функция позволяет подключить устройство постоянного хранения данных к выполняемой вычислительной инфраструктуре. В качестве входных параметров данной функции указываются: ID VOLUME - уникальный идентификатор устройства хранения данных (IDVOLUME) IDINF - уникальный идентификатор вычислительной инфраструктуры (). volume-detach (ID VOLUME) : функция позволяет отключить устройство постоянного хранения данных от выполняемой вычислительной инфраструктуры. В качестве входного параметра данной функции указывается уникальный идентификатор устройства хранения данных IDVOLUME. volume-delete (IDVOLUME) : функция позволяет удалить созданное устройство постоянного хранения данных. В качестве входного параметра данной команды указывается уникальный идентификатор устройства хранения данных. volume-snapshot-create (ID VOLUME, STAPSHORT VOLUME NAME) : Функция позволяет сделать и сохранить моментальный снимок состояния устройства постоянного хранения данных. Созданному снимку состояния присваивается уникальный идентификатор ID_ STAPSHORTVOLUME. В качестве входных параметров указываются:

IDVOLUME - уникальный идентификатор описателя устройства постоянного хранения данных. STAPSHORT VOLUME ХАМЕ - имя снимка состояния. volume-snapshot-list () : функция позволяет вывести полный список всех созданных моментальных снимков состояния устройств постоянного хранения данных. volume-snapshot-show (ID STAPSHORT VOLUME) : функция позволяет вывести значение атрибутов описателя конкретного, сохраненного снимка состояния устройства постоянного хранения данных. В качестве входного параметра данной функции указывается уникальный идентификатор моментального снимка состояния устройства хранения данных ID STAPSHORT VOLUME. volume-snapshot-delete (ID STAPSHORT VOLUME) : функция позволяет удалить созданный снимок состояния устройства хранения данных. В качестве параметра данной функции указывается уникальный идентификатор моментального снимка состояния устройства хранения данных ID STAPSHORT VOLUME.

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

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

Вычислительный кластер по запросу

BMD (Bare Metal Deployment ) представляет собой метод унификации аппаратуры при котором выполняется перегрузка и явное развертывание системного окружения на аппаратных серверах по запросу.

Со стороны аппаратуры требуется поддержка внешнего интерфейса управления, функционирующего на уровне микропрограммного обеспечения и независимого от процессора, BlOS a и операционной системы (например, IPMI для серверов, NETCONF для сетевых коммутаторов). Так же сетевые устройства серверов должны поддерживать возможность загрузки операционной системы по сети (окружение РХЕ, протоколы ВООТР и TFTP). На уровне унификации аппаратуры метод bare-metal может быть организован за счет драйверов, обеспечивающих управление конкретным оборудованием и bare-metal сервиса, обеспечивающего общее управление процессом унификации некоторого набора физических узлов. Так же, необходимо обеспечить поддержку процесса развертывания загрузочного образа, на стороне унифицируемого узла. Это реализуется с помощью встраиваемого агента, взаимодействующего с bare-metal сервисом.

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

Когда приходит запрос на унификацию, BMD драйвер выбирает свободные физические сервера из множества доступных. После этого BMD драйвер, настраивает сетевые соединения выбранных узлов, активирует загрузку этих узлов по сети и включает их. Узлы загружают по сети специальное базовое ядро операционной системы с внедренным агентом. Агент, взаимодействуя с bare-metal сервисом, выполняет загрузку и развертывание рабочего загрузочного образа. После того, как процесс установки рабочего образа завершен, bare-metal драйвер проводит перенастройку сети по которой обеспечивается доступ пользователей. Поддержка BMD в Openstack осуществляется при помощи специального драйвера, который включен в состав компонента пакта Openstack Nova Compute Nova Compute. Этот компонент отвечает за создание/запуск/мониторинг виртуальных машин и за их связь со всей остальной облачной средой. Baremetal driver предоставляет оборудование через Openstack s API используя подключаемые драйвера (sub-drivers) для доставки образа машины (РХЕ) и управления (IPMI). Для организации загрузки системы в РХЕ используются протоколы IP, UDP, ВООТР и TFTP. IPMI (от англ. Intelligent Platform Management Interface) — интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ. Ключевые характеристики IPMI — мониторинг, восстановление функций управления, журналирование и инвентаризация, которые доступны независимо от процессора, BlOS a и операционной системы. Функции управления платформой могут быть доступны, даже если система находится в выключенном состоянии. При этом, предоставление услуг и управление физическим оборудованием осуществляется с помощью общих cloud APIs, таких как Heat Openstack или salt-cloud.

Далее, будут описаны этапы развертывания кластера. Предполагается, что все необходимые сервисы Openstack установлены и настроены.

Ключевые этапы развертывания кластера: 1) Внесение изменения в конфигурационный файл Nova на вычислительном хосте (Nova Compute); 2) Добавление и конфигурирование требуемых дополнительных пакетов (dnsmasq, ipmitool open-iscsi, syslinux); 3) Запуск сервисов облачной среды OpenStack: Keystone, Nova, Glance, Neutron. Также, должны быть установлены и запущены следующие пакеты: nova-baremetal-deploy-helper - данный сервис помогает развернуть образ, он считывает все необходимые опции из конфигурационного файла nova.conf; dnsmasq - сервис, с помощью которого baremetal рхе driver взаимодействует с файлом конфигурации dnsmasq и изменяет загрузочные файлы, используя протокол TFTP); 4) Подготовка образов (images), типов экземпляров (type instances или flavors), метаданных (metadata), которые будут использоваться в процессе развертывания. Для создания образов рекомендуется использовать diskimage-builder; 5) Регистрация физического оборудования. Здесь требуется передать некоторую общую информацию (# CPUs, RAM, и disk size) baremetal-драйверу, а также указать все МАС-адреса, которые могут отправить запрос PXE/DHCP. Так как используется драйвер IPMI, то необходимо ввести IP, имя пользователя (user), пароль (password) для IPMI-интерфейса каждого узла. Все эти действия можно осуществить, используя расширения Nova API admin.

Испытательный стенд проекта OpenCirrus

Графический интерфейс программы выводится через виртуальный рабочий стол в окно браузера, запущенного на рабочей станции пользователя. Пользователь, взаимодействуя с интерфейсом пакета, создает геометрическую модель исследуемого объекта и строит по этой модели расчетную сетку. При этом поддерживается интерактивный 3D графический вывод.

На рисунке 27 представлена копия экрана рабочего стола пользователя web-лаборатории UniCFD.

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

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

Страница каждого инструмента имеет поле, в которое можно ввести идентификаторы одного или нескольких коллег, и нажать кнопу "Разделить". После этого группа пользователей может присоединиться к сессии и обсудить результат вычисления по телефону или через системы обмена мгновенными сообщениями, интегрированными в web-лабораторию. Если кто-то из приглашённых пользователей в это время не в сети, он может подключиться к сессии в удобное время, пройдя по ссылке на своей персональной странице своего виртуального рабочего стола web-лаборатории. По мере использования инструментов, у пользователей web-лаборатории возникают вопросы и случаются проблемы. Платформа UniHUB поддерживает много способов обратиться за помощью и оказать поддержку другому пользователю. Пользователи могут воспользоваться форумом, построенным подобно системе Amazon Askville или Yahoo! Answers. Пользователь может поставить на свой вопрос метки с названием инструмента и другими важными характеристиками, чтобы помочь другим заметить вопрос по интересующей тематике и ответить на него.

Снимок экрана виртуального рабочего стола web-лаборатории. При возникновении проблемы пользователи могут создать сообщение, нажав кнопку "Помощь" в правом верхнем углу страницы. Когда пользователь создаёт такое сообщение на странице инструмента, оно пересылается непосредственно команде разработчиков инструмента. Члены команды разработчика увидят это сообщение в списке "Мои задачи" на своей странице web-лаборатории. Задача (ticket) может обновляться путём добавления комментариев, снимков экрана, и других прикреплённых файлов и может быть передана другой команде, включая команду владельцев web-лаборатории. Все имеющие отношение к задаче получают сообщения об изменении статуса и разрешении проблемы.

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

Когда команда разработчиков просматривает список пожеланий, она видит дополнительные органы управления, позволяющие присвоить задаче приоритет (от "1" до "10") и оценить трудозатраты (от часов до месяцев).

На базе разработанного системного программного обеспечения созданы: вычислительная инфраструктура программы "Университетский кластер"; испытательный стенд международного проекта OpenCirrus; проблемно ориентированная web-лаборатория решения задач механики сплошной среды UniCFD; web-лаборатория рационального природопользования GeoLab; лаборатория решения задач хранения и анализа больших данных BigDataOpenLab. В web-лаборатории UniCFD был выполнен ряд научно-исследовательских и практических работ междисциплинарным коллективом специалистов из следующих организаций: МГТУ им. Н.Э.Баумана, НИЦ «Курчатовский институт», НИИ механики МГУ, СПбГМТУ, ИСП РАН. Можно отметить следующие работы: "Исследование вихревых нестационарных течений вязкого газа при дозвуковом обтекании летательных аппаратов", "Исследование нестационарных турбулентных течений в задаче обтекания грузов-контейнеров на внешней подвеске вертолета" и др. Подробное описание результатов выполненных проектов можно найти на сайте web-лаборатории UniCFD (http://unicfd.ru).

На базе web-лаборатории UniCFD разработаны и проводятся учебные курсы по следующим темам: «Основы использования свободных пакетов SALOME, OpenFOAM и ParaView при решении задач МСС»; «Расширенные возможности пакета OpenFOAM»; Учебный трек «Пакет OpenFOAM - платформа для решения задач МСС»; «Эффективное использование свободных пакетов для создания расчётных сеток в задачах МСС». Учебные курсы включают лекционные материалы, а также практические и лабораторные работы. Описание и материалы учебных курсов находятся в свободном доступе в Интернет по адресу: http://unicfd.ru. Также, данной web-лабораторией поддерживается образовательный процесс обучения студентов МГТУ им. Н.Э.Баумана кафедр ФН2, СМ2, СМЗ. По данным курсам в 2011-2014 годах прошли обучение более 250 слушателей из более 70 образовательных и научно-исследовательских учреждений и промышленных предприятий.

На базе web-лаборатории UniCFD был реализован ряд проектов в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы», «Научные и научно-педагогические кадры инновационной России».

В настоящее время, на базе построенной инфраструктуры выполняется проект в рамках целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2014 - 2020 годы» по теме «Разработка комплекса научно-технических решений предназначенных для хранения и обработки сверхбольших объемов данных в задачах механики сплошной среды». Технологическая платформа находится в открытом доступе для выполнения некоммерческих, научно-исследовательских или образовательных проектов (http://unihub.ru).