Научная статья на тему 'Архитектура и особенности реализации платформы UniHUB в модели облачных вычислений на базе открытого пакета OpenStack'

Архитектура и особенности реализации платформы UniHUB в модели облачных вычислений на базе открытого пакета OpenStack Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
777
249
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
WEB-ЛАБОРАТОРИИ / ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / СИСТЕМЫ МАССОВОГО СОТРУДНИЧЕСТВА / WEB LABORATORY / CLOUD COMPUTING / PARALLEL COMPUTING / MASS COLLABORATION SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Самоваров О. И., Гайсарян С. С.

Одним из перспективных подходов организации эффективного взаимодействия науки, образования и индустрии является концепция web-лабораторий. Такая лаборатория представляет собой web-среду, которая поддерживает проведение научных исследований с использованием методов математического моделирования междисциплинарными коллективами узких специалистов, распределённых географически и административно. Возможности web-лаборатории включают: проведение численных экспериментов; составление отчетов, подготовку статей; обсуждение результатов на семинарах и совещаниях; планирование деятельности лаборатории; поддержку учебного процесса (проведение учебных курсов, практических занятий, лабораторных работ и т.п.) студентов и аспирантов. Полноценная реализация данной концепции связана с необходимостью обеспечить возможность использования различных аппаратных средств (суперкомпьютеров, высокопроизводительных кластеров, в том числе, с ускорителями вычислений, средств 2D и 3D визуализации, серверов, систем хранения и обработки больших массивов данных, пр.) и программных пакетов. При этом также должны быть обеспечены высокая масштабируемость на всех уровнях, надёжность и безопасность. Современным методом решения данной задачи является использование модели облачных вычислений, когда перечисленные выше ресурсы предоставляются удаленно в виде набора масштабируемых сервисов разного уровня с обслуживанием по запросу. В статье представлена разработанная в модели облачных вычислений архитектура web-лаборатории. Рассмотрены особенности реализации на ее основе программной платформы развертывания полноценных web-лабораторий UniHUB. Данная программная платформа интегрирована в состав свободного пакета поддержки облачных сред OpenStack и использует его сервисы в качестве основы.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Самоваров О. И., Гайсарян С. С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The web-laboratory architecture based on the cloud and the UniHUB implementation as an extension of the OpenStack platform

A web-laboratory is a web based software platform to support scientific collaboration, research, and education. It has unique combination of capabilities that allows to conduct numerical experiments, discussion of results in workshops and meetings, planning activities, to prepare reports and articles, to support the educational processes (training courses, workshops, labs, etc.). It lets researchers and engineers: run simulation tools; upload and share datasets, documents and other materials; work together in a private space, send messages to one another; ask questions and post responses; work collaboratively on the source code of their simulation programs and share those programs with the community. Web laboratory implementation is related with need to enable dispatching of different remote computational resources (supercomputers, high performance clusters, including accelerators computing, development of 2D and 3D visualization, servers, storage and processing of large data sets, etc.) and software in a way that is completely transparent to users. It is also necessary to provide scalability, reliability and security. Modern method to solve this problem is to use a cloud computing model. In this model computational resources are provided to user as remotely set of elastic services with on demand access. The paper describes an architecture of web laboratory developed in scope of the cloud model. The UniHUB platform implementation based on this architecture is represented. The UniHUB is as an extension of the OpenStack platform.

Текст научной работы на тему «Архитектура и особенности реализации платформы UniHUB в модели облачных вычислений на базе открытого пакета OpenStack»

Архитектура и особенности реализации платформы UniHUB в модели облачных вычислений на базе открытого пакета OpenStack

О. И. Самоваров, С. С. Гайсарян {samov, [email protected]

Аннотация. Одним из перспективных подходов организации эффективного взаимодействия науки, образования и индустрии является концепция web-лабораторий. Такая лаборатория представляет собой web-среду, которая поддерживает проведение научных исследований с использованием методов математического моделирования междисциплинарными коллективами узких специалистов, распределённых географически и административно. Возможности web-лаборатории включают: проведение численных экспериментов; составление отчетов, подготовку статей; обсуждение результатов на семинарах и совещаниях; планирование деятельности лаборатории; поддержку учебного процесса (проведение учебных курсов, практических занятий, лабораторных работ и т.п.) студентов и аспирантов. Полноценная реализация данной концепции связана с необходимостью обеспечить возможность использования различных аппаратных средств (суперкомпьютеров, высокопроизводительных кластеров, в том числе, с ускорителями вычислений, средств 2D и 3D визуализации, серверов, систем хранения и обработки больших массивов данных, пр.) и программных пакетов. При этом также должны быть обеспечены высокая масштабируемость на всех уровнях, надёжность и безопасность. Современным методом решения данной задачи является использование модели облачных вычислений, когда перечисленные выше ресурсы предоставляются удаленно в виде набора масштабируемых сервисов разного уровня с обслуживанием по запросу.

В статье представлена разработанная в модели облачных вычислений архитектура web-лаборатории. Рассмотрены особенности реализации на ее основе программной платформы развертывания полноценных web-лабораторий UniHUB. Данная программная платформа интегрирована в состав свободного пакета поддержки облачных сред OpenStack и использует его сервисы в качестве основы.

Ключевые слова: web-лаборатории, облачные вычисления, параллельные вычисления, системы массового сотрудничества

1. Введение

В настоящее время в естественных науках и их приложениях к технике при проведении исследований или решении практических инженерных задач

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

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

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

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

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

(проведение учебных курсов, практических занятий, лабораторных работ и т.п.) студентов и аспирантов.

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

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

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

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

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

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

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

7. Доступ ко всем перечисленным возможностям должен быть организован через web-браузер.

В разделе 2 статьи описывается, разработанная в модели облачных вычислений архитектура полнофункциональной web-лаборатории. В разделе 3 описывается реализованная на базе данной архитектуры программная платформа UniHUB. В разделе 4 описывается практическое применение, реализованной платформы UniHUB при создании web-лаборатории решения задач механики сплошных сред.

2. Архитектура

Архитектура web-лаборатории базируется на модели облачных вычислений, когда ресурсы (серверы, сети, системы хранения данных, приложения и пр.) предоставляются удаленно в виде набора сервисов разного уровня с обслуживанием по запросу. Выделяют три основных уровня сервисов: инфраструктура как сервис (Infrastructure as a service — IaaS), платформа как сервис (Platform as a Service — PaaS), приложение как сервис (Software as а service — SaaS). На уровне IaaS вычислительные ресурсы представляются в виде виртуальных серверов, виртуальных сетей, виртуальных систем хранения данных. Запрос включает в себя параметры для виртуальных серверов: система команд CPU, число CPU, объем оперативной памяти, размер постоянной памяти, тип и версия операционной системы, и пр. Также определяются: число виртуальных серверов, их сетевая конфигурация, объем подключаемых систем хранения данных. Эго позволяет на одной аппаратуре получить виртуальную вычислительную инфраструктуру,

сконфигурированную в соответствии с требованиями разных программ. Объем вычислительных ресурсов такой инфраструктуры может гибко регулироваться в зависимости от текущих потребностей. На уровне PaaS с использованием виртуальной инфраструктуры создается набор доступных для использования платформ. Пользователь может в своем запросе выбрать из этого набора нужную ему платформу, параметризировать в соответствии со своими требованиями и запустить ее экземпляр. На уровне SaaS пользователю предоставляется удаленный доступ к прикладным программам [2].

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

Программное обеспечение web-лаборатории имеет трехуровневую структуру. Интерфейсы каждого уровня представлены на рисунке 1.

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

2.1. Базовый уровень web-лаборатории

Доступ к возможностям web-лаборатории осуществляется через группу интерфейсов базового уровня: проведение численных экспериментов;

составление отчетов; разработка учебных курсов; организация web-конференций.

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

Функции интерфейса проведения численных экспериментов можно разделить на следующие подгруппы:

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

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

2. Установка и настройка операционной системы дополнительных программ в соответствии с требованиями расчетной программы.

3. Установка средств поддержки выполнения расчетной программы в web-лаборатории.

4. Установка и настройка расчетной программы.

5. Тестирование работоспособности загрузочного образа.

6. Регистрация загрузочного образа в соответствующем каталоге web-лаборатории.

Модификация численных моделей. Функции данной подгруппы позволяют найти, загрузить и модифицировать загрузочный образ расчетной программы. Измененные загрузочные образы регистрируются системой контроля версий. Подготовка численных экспериментов. Управление выполнением многофазного численного эксперимента осуществляется управляющим

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

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

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

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

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

Интерфейсы web-конференций Интерфейсы учебных курсов Интерфейсы обработки метериалов Интерфейсы численных экспериментов

II. Унифицированная аппаратура

Интерфейсы унифицированной аппаратуры

Устройства хранения файлов данных Устройства хранения объектов Сетевые соединения Загрузочные образы ОС Вычислительная инфраструктура

III. Реальная аппаратура

Интерфейсы управления аппаратурой

Управление

кластером

(планировщик)

Развертывание Управление Управление

кластера сервером СХД

(bare-metal) (libvirt, XenAPI,..,) (iSCSI, RBD,...)

Управление

сетью

Рисунок 1. Структура ПО Web-лаборатории

Совместную работу пользователей web-лаборатории поддерживают следующие базовые интерфейсы:

Составление отчетов. Обеспечивает поддержку возможности совместной разработки и публикации материалов web-лаборатории. Используя функции данного интерфейса, пользователи лаборатории могут создавать библиотеки учебников, справочников, статьи, архив статей и отчетов.

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

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

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

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

2.2. Уровень унифицированной аппаратуры

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

Унификация вычислительной аппаратуры выполняется с использованием виртуализации, а в случаях, когда виртуализация ведет к резкому росту накладных расходов унификация реализуется с использованием метода прямой перезагрузки системного окружения (так называемый метод "Ьаге-metal"). На данном уровне обеспечивается управление жизненным циклом виртуальных и bare-metal машин, их планирование на конечную аппаратуру, администрирование.

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

В работе рассмотрены следующие основные типы вычислительных инфраструктур: сервер, группа серверов, объединенных сетью и

высокопроизводительная кластерная система.

Dinf - Ds | Dsn I Dc где,

Ds - дескриптор сервера, DSN - дескриптор множества серверов, объединенных сетью, Dc - дескриптор инфраструктуры вычислительного кластера

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

Ds = <DHW, Dos> , где

DHW - дескриптор набора требований к аппаратуре Dos ~ дескриптор загрузочного операционной системы

Требования к аппаратуре сервера могут быть описаны с помощью следующих объектов:

Dhw = < Ncore, RAM, ТАсс, NAcc, HDD, , где

Ncore ~ число вычислительных ядер в сервере RAM- объем оперативной памяти (ГБ)

Тлее ~ тип ускорителя вычислений (NVIDIA® Kepler, Intel® Xeon Phi)

Nacc ~ число ускорителей вычислений на сервере HDD - размер дисковой памяти виртуальной машины Dhdd ~ дескриптор постоянной дисковой памяти

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

Dhdd = <$hdd, Thdd> ,где Shod ~ объем постоянной памяти

Thdd ~ тип постоянной памяти, характеризующий скорость доступа (Regular, Fast)

Загрузочный образ операционной системы описывается следующими объектами:

Dos = ^ISA, T0s, V0s, Tenv> , гДе

ISA - поддерживаемая система команд процессора (х86, х86-64, PowerPC, ARM)

T0s - тип базовой операционной системы: Linux, Windows V0s ~ версия ядра операционной системы.

Tenv ~ тип пользовательского окружения (Red Hat Enterprise Linux, Windows Server, Windows 7, SUSE Linux Enterprise. Ubuntu Linux, Fedora Linux,

Gentoo Linux, Debian, CentOS)

Серверы, объединенные сетью, описываются следующим образом:

Dsn = KIds, Тмс>, где

Ids- список дескриптор серверов

Тшс ~ тип соединения между серверами (GigE, Ethernet 10G) Высокопроизводительная кластерная система (для краткости -вычислительный кластер) представляет собой вычислительную систему, состоящую состоит из объединенных специализированной вычислительной сетью, однородных с точки зрения аппаратуры и системного программного обеспечения вычислительных узлов, которые используются, как единый ресурс, доступ к которому осуществляется через единую точку - управляющий узел. Каждый вычислительный узел кластера обладает одним или несколькими многоядерными процессорами и оперативной памятью. На каждый вычислительный узел кластера может быть установлен специализированный процессор - ускоритель вычислений. В этом случае используются ускорители одного типа. В состав вычислительного кластера включена распределенная, параллельная система ввода-вывода и хранения данных.

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

Инфраструктура управляющего и вычислительных узлов кластера может быть представлена следующими объектами:

j~\ control_ - j~\ 1 т ГГ

Us ~ ? iMPh 1 PBS ^

D^comp _ < Тмрь TPBS > , ГДе

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Ds, Ds2 - дескрипторы серверов управляющего и вычислительных улов кластера

Tmpi - тип системы поддержки обмена сообщениями (OpenMPI, MVAPICH, MPICH)

Tpbs - тип системы централизованного распределения и планирования ресурсов (TORQUE, SLURM, LSF, МОАВ)

Тогда вычислительный кластер можно представить в виде:

Dc= < Di°ntm\ Dscomp, NmJomp > где,

DsL'on"'ot _ дескриптор инфраструктуры управляющего узла кластера Dscanp_ дескриптор инфраструктуры вычислительного узла кластера NmJomp - максимально доступное число вычислительных узлов кластера

2.3. Уровень управления реальной аппаратурой

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

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

3. Реализация

На основе разработанной архитектуры была реализована программная платформа ишНиВ [3], [4], [5], которая позволяет разворачивать

полнофункциональные проблемно-ориентированные \уеЬ-лаборатории.

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

Ядро \уеЬ-лаборатории обеспечивает поддержку выполнения функции управление запуском рабочих столов пользователей, модулей базовых функций \уеЬ-лаборатории и расчетных программ. Ядро \уеЬ-лаборатории состоит из следующих компонент: \уеЬ-сервер; УЫС-ргоху сервер; сервер авторизации; очередь сообщений, СУБД.

Образы расчетных программ, образы численных экспериментов, образы программ базовых функций, образы виртуальных рабочих столов пользователей размещаются в хранилище облачной среды, а их дескрипторы в соответствующих каталогах \уеЬ-лаборатории. В каждый загрузочный образ включен УЫС-сервер. обеспечивающий отображение экрана на виртуальный рабочий стол пользователя.

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

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

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

ЕЕЕН

ЕЕЗ- ЕЕЕГ

‘Н1

ш

1 I I У г_-_,

и

• 2.1111 а“

Рисунок 2. Организация многофазного численного эксперимента на базе \veb-

лаборатории

Выполнение численного эксперимента поддерживается уровнем унифицированной аппаратуры. В зависимости от заданного дескриптора

аппаратуры запрос передается планировщику серверов или метапланировщику кластеров.

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

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

Ядро web-лаборатории реализовано с использованием следующих свободных программных пакетов: Apache как web-сервер; OpenLDAP как сервер авторизации RabbitMQ как очередь сообщений, MongoDB как СУБД.

В качестве программ базовых функций web-лаборатории используются: Mediawiki - система коллективной обработки материалов, Openqwaq -система проведения web-конференций, ОрепМООС - система организации учебных курсов, Web2Poiject - система управления проектами.

В качестве облачной среды, реализующей функции уровня унифицированной аппаратуры, используются свободный пакет OpenStack,

Уровень управления реальной аппаратурой реализуется использованием следующих мониторов виртуальных машин: XenServer/XCP, KVM/QEMU, LXC, ESX, драйвер bary-metal; планировщик ресурсов кластера Slurm; средства управления grid-средой GlobusToolki; мета-планировщик grid-среды GridWay.

4. Пример использования платформы UniHUB

Одним из примеров использования платформы UniHUB является web-лаборатория, ориентированная на решение задач в области механики сплошных сред UniCFD (https://www.unicfd.nr) [6], [7], [8]. Основными направлениями исследований данной лаборатории являются задачи аэрогидродинамики и акустики обтекания тел сложной геометрии. В качестве расчетных программ в состав web-лаборатории интегрированы свободные пакеты: SALOME - обеспечивает фазу подготовки геометрических моделей и генерации расчетных сеток; OpenFOAM - обеспечивает фазу моделирования физических процессов с использованием наборов библиотек решения уравнений методом конечных объемов. Пакет предназначен для решения задач, формулируемых в виде законов сохранения в переменных Эйлера, а также для моделирования задач, связанных с движением частиц (метод Лагранжа), молекулярной динамики (метод Монте-Карло), упругой деформации (метод конечных элементов), кинетики химических реакций;

Рисунок 4. Снимок экрана виртуального рабочего стола м’еЬ-лаборатории.

На рисунке 4 представлен снимок экрана рабочего стола \уеЬ-лаборатории с запущенными пакетами. В частности, с запущенным пакетом визуализации результатов научных расчетов РагаУ1е\у. Пакет выполнятся и производит расчеты на специально выделенном виртуальном сервере, обладающим достаточным объемом памяти и графическими ускорителями, необходимыми для обеспечения работы подсистемы симуляции. Графический интерфейс программы выводится через виртуальный рабочий стол в окно браузера, запущенного на рабочей станции пользователя. Пользователь, взаимодействуя с интерфейсом пакета, создает геометрическую модель исследуемого объекта и строит по этой модели расчетную сетку. При этом поддерживается интерактивный ЗЭ графический вывод.

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

РагаУ1е\у - обеспечивает фазу обработки результатов моделирования, поддерживает визуализацию и анализ результатов численного эксперимента.

Уігіиаі ОмМор

■ І'«И.1У..Ч¥ -1.0.1 Єі-1-іііі

іу1_1 ірхііМГіШісіс-ііиінмі |гіІ

ИХрЛ: і'ипісЬиіРГ'ОІ

И№ї<Іау1-І1.. 1

,

Ручная параметризация

ема блочной дискретизации ге

>1*[* Г

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

Также, данной web-лабораторией поддерживается образовательный процесс обучения студентов МГТУ им. Н.Э.Баумана кафедр ФН2, СМ2, СМЗ.

В web-лаборатории разработаны и проводятся учебные курсы, включающие практические и лабораторные работы: «Основы использования свободных пакетов SALOME, OpenFOAM и ParaView при решении задач МСС»; «Расширенные возможности пакета OpenFOAM»; Учебный трек «Пакет OpenFOAM - платформа для решения задач МСС»: «Эффективное

использование свободных пакетов для создания расчётных сеток в задачах МСС».

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

Технологическая платформа доступна в Интернет по адресу http://unihub.ru

5. Заключение

В данной статье описан подход к организации web-лабораторий на базе концепции облачных вычислений. Представлена архитектура и особенности реализации программной платформы UniHUB, предназначенной для развертывания полнофункциональных web-лабораторий на базе свободного пакета OpenStack.

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

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

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

[2] Peter Mell and Tim Grance. The NIST Definition of Cloud Computing. Technical report, July 2009

[3] Арутюн Аветисян, Виктор Иванников, Олег Самоваров, Сергей Гайсарян, «Университетский кластер»: интеграция образования, науки и индустрии», «Открытые системы» №05, 2010, стр.46-49.

[4] Арутюн Аветисян, Олег Самоваров, Сергей Г айсарян, Эшсоу Хашба «OpenCirrus, российский сегмент», «Открытые системы» , № 05,2011, стр. 39-43

[5] А.И. Аветисян, С.С. Гайсарян, О.И. Самоваров, «Университетский кластер» -инфраструктура исследований, разработок и образования в области параллельных и распределенных вычислений», Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность: Труды Всероссийской суперкомпьютерной конференции (21-26 сентября 2009 г., г. Новороссийск). - М.: Изд-во МГУ, 2009, ISBN 978-5-211-05697-8, стр. 431-433,

[6] А.И. Аветисян, С.С. Гайсарян, О.И. Самоваров, Э.В. Хашба, Организация предметно-ориентированных исследовательских центров в рамках программы «Университетский кластер», Труды Международной суперкомпьютерной конференции «Научный сервис в сети Интернет: суперкомпьютерные центры и задачи», Электронное издание, - М.: Изд-во МГУ, 2010, ISBN 978-5-211-05916-0, стр. 213-215

[7] М.Крапошин, О.Самоваров, С.Стрижак. Особенности реализации Web-лаборатории механики сплошной среды на базе технологической платформы программы «Университетский Кластер». Труды международной суперкомпьютерной конференции с элементами научной школы для молодежи Научный сервис в сети Интернет: экзафлопсное будущее», - М.: Изд-во МГУ, 2011

[8] М. Крапошин, О. Самоваров, С. Стрижак, «Web лаборатория UniHUB в рамках программы ‘Университетский кластер», Workshop “Multiphysical Modelling in OpenFOAM”, http://www.modlab.lv/en/openfoam.php, Латвийский Университет. Рига. 20.10.2011-21.10.2011

The web-laboratory architecture based on the cloud and the UniHUB implementation as an extension of the OpenStack platform.

0.1. Samovarov, S. S. Gaysaryan {samov, ssgj @ ispras.ru

Abstract. A web-laboratory is a web based software platform to support scientific collaboration, research, and education. It has unique combination of capabilities that allows to conduct numerical experiments, discussion of results in workshops and meetings, planning activities, to prepare reports and articles, to support the educational processes (training courses, workshops, labs, etc.). It lets researchers and engineers: run simulation tools; upload and share datasets, documents and other materials; work together in a private space, send messages to one another; ask questions and post responses; work collaboratively on the source code of their simulation programs and share those programs with the community.

Web laboratory implementation is related with need to enable dispatching of different remote computational resources (supercomputers , high performance clusters , including accelerators computing, development of 2D and 3D visualization , servers, storage and processing of large data sets , etc.) and software in a way that is completely transparent to users. It is also necessary to provide scalability, reliability and security.

Modem method to solve this problem is to use a cloud computing model. In this model computational resources are provided to user as remotely set of elastic services with on demand access.

The paper describes an architecture of web laboratory developed in scope of the cloud model. The UniHUB platform implementation based on this architecture is represented. The UniHUB is as an extension of the OpenStack platform.

Keywords: web laboratory, cloud computing , parallel computing, mass collaboration system

i Надоели баннеры? Вы всегда можете отключить рекламу.