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

кандидата технических наук
Федосин, Михаил Евгеньевич
город
Пенза
год
2014
специальность ВАК РФ
05.13.15
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Виртуализация многокомпонентной системной архитектуры предметно-ориентированной облачной вычислительной среды»

Автореферат диссертации по теме "Виртуализация многокомпонентной системной архитектуры предметно-ориентированной облачной вычислительной среды"

На правах рукописи

ФЕДОСИН Михаил Евгеньевич

ВИРТУАЛИЗАЦИЯ МНОГОКОМПОНЕНТНОЙ СИСТЕМНОЙ АРХИТЕКТУРЫ ПРЕДМЕТНО-ОРИЕНТИРОВАННОЙ ОБЛАЧНОЙ ВЫЧИСЛИТЕЛЬНОЙ СРЕДЫ

Специальность 05Л3.15-Вычислительные машины, комплексы и компьютерные сети

Автореферат диссертации на соискание ученой степени кандидата технических наук

ПЕНЗА 2014

005550839

Работа выполнена в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования «Пензенский государственный университет» на кафедре «Вычислительная техника».

Научный руководитель - доктор технических наук, доцент

Зинкин Сергей Александрович.

Официальные оппоненты: Кулагин Владимир Петрович, доктор

технических наук, профессор, ФГАОУ ВПО «Национальный исследовательский университет "Высшая школа экономики"», заместитель директора Московского института электроники и математики;

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

Ведущая организация - ОАО «НПП "Рубин"», г. Пенза.

Защита диссертации состоится «_»_2014 г., в_часов,

на заседании диссертационного совета Д 212.186.01 в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования «Пензенский государственный университет» по адресу: 440026, г. Пенза, ул. Красная, 40.

С диссертацией и авторефератом можно ознакомиться в библиотеке Федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Пензенский государственный университет» и на сайте www.pnzgu.ru

Автореферат разослан «_»_2014 г.

Ученый секретарь

диссертационного совета Турин Евгений Иванович

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

Существенный вклад в исследование облачных вычислений внесли R. Buyya, N. Antonopoulos, D. Avresky, S. Ahson, B. Sosinsky, K. Hwang, G. Fox, J. Dongarra, В. П. Потапов, В. В. Губарев. Изучением предметно-ориентированных облачных сред для прикладных научных исследований занимаются М. McLennan и G. KJimeck. Грид-системам и связанным с ними технологиям распределенных вычислений посвящены работы В. В. Воеводина, Вл. В. Воеводина, A. Tanenbaum, М. van Steen, N. Preve, A. Abbas, I. Fostera, A. Mantri. Формализация параллельных вычислений в распределенных системах рассматривается в работах Н. П. Вашкевича, В. А. Горбатова, В. Е. Котова, В. П. Кулагина, В. В. Топоркова.

Существуют различные сервисные модели облачных вычислений; в диссертации рассматривается модель SaaS — программное обеспечение

как услуга (англ. Бо/Шаге-аз-а-Бетке) и модель РааБ — платформа как услуга (англ. Р1а1/огт-аз-а-Беп>ке).

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

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

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

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

Для достижения поставленной цели необходимо решить следующие основные задачи:

1) провести анализ современных принципов построения архитектур облачных сред и смежных с ними систем;

2) разработать методики проектирования функциональной и системной архитектур на абстрактном и прикладном уровнях;

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

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

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

6) реализовать и протестировать прототип ПООС в одной из актуальных предметных областей.

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

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

Научная новизна заключается в следующем:

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

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

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

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

Практическая значимость работы заключается в следующем:

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

заданий и управление ими, хранить историю запусков и формировать отчеты по проведенным исследованиям;

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

3) реализована, протестирована и внедрена ПООС для решения задач в области приборостроения.

Область исследования. Содержание диссертации соответствует паспорту специальности 05.13.15 «Вычислительные машины, комплексы и компьютерные сети» (Технические науки) по пунктам 1, 2 и 4 областей исследований.

На защиту выносятся:

1) системная и функциональная архитектуры ПООС;

2) методики абстрактного и структурного синтеза функциональной и системной архитектур ПООС;

3) логико-алгебраические модели представления знаний о структурных и логических связях между компонентами и ресурсами ПООС;

4) реализация прототипа референсной ПООС и инструментальных средств поддержки проектирования функциональной и системной архитектур многокомпонентных ПООС.

Реализация результатов работы. Теоретические и практические результаты работы использованы при выполнении фундаментальной НИР «Развитие теории организации взаимодействия параллельных процессов в распределенных системах обработки данных» (2012-2013, № гос. per. 01201257166) на кафедре «Вычислительная техника» Пензенского государственного университета; внедрены на промышленном предприятии ЗАО НПК «Электровыпрямитель» (реализована предметно-ориентированная облачная среда в области приборостроения, обеспечивающая удаленный доступ к прикладному программному обеспечению для математического моделирования, а также к средствам разработки и тестирования), применены в учебном процессе Пензенского государственного университета и Мордовского государственного университета им. Н. П. Огарева, что подтверждается соответствующими актами о внедрении.

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

Апробация работы. Основные положения диссертации докладывались и обсуждались в рамках различных международных научно-технических конференций: XVlI-th International Open Science Conference (Lorman,

MS, USA, 2013), IX Ежегодная международная научно-практическая конференция «Перспективы развития информационных технологий (г. Новосибирск, 2012), III Ежегодная международная конференция «Облачные вычисления: образование, исследования, разработки» (Москва, 2012), Международная заочная научно-практическая конференция «Наука и образование в жизни современного общества» (г. Тамбов, 2013), XVIII Международная открытая научная конференция «Современные проблемы информатизации» - «Modern Problems of Informatization» (г. Воронеж, 2013), Международная научная конференция «Современные наукоемкие технологии» (Aqaba, Jordan, 2013), III Международная научная конференция «Проблемы управления, обработки и передачи информации» (г. Саратов, 2013), XIV Международная научно-техническая конференция «Проблемы техники и технологий телекоммуникаций» (г. Самара, 2013).

Публикации. По теме диссертации работы опубликовано 13 печатных работ, из них пять — в журналах, рекомендованных ВАК РФ. Получены три свидетельства об официальной регистрации программ для ЭВМ, Получен патент на полезную модель аппаратно-вычислительного комплекса.

Личный вклад автора. Все результаты, составляющие содержание диссертации, получены автором самостоятельно. Работы [1,2, 13] опубликованы в соавторстве с научным руководителем, которому принадлежат разработка концепции решаемой проблемы и постановка задачи исследования. В работах [5, 6, 10, 12, 13] автором предложена методика предоставления доступа к прикладному программному обеспечению в концепции веб-лабораторий, новая архитектура веб-лабораторий, новые принципы их организации в конкретных предметных областях, технология поддержки мультире-сурсного запуска заданий в ПООС и новая организация ПООС, направленная на решение задач приборостроения, соответственно. В работе [14] (патент на полезную модель) личный вклад автора состоит в улучшении технико-экономических и эксплуатационных характеристик веб-лабораторий за счет внедрения в их структуру системы аккаунтинга, благодаря которой становится возможным развертывать на их базе предметно-ориентированные облачные среды. В программных продуктах [15-17] автором разработаны концепции, алгоритмы и коды основных программ.

Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, библиографического списка из 132 наименований и пяти приложений. Работа содержит 166 страниц основного текста (включая 49 рисунков), библиографический список на 13 страницах и приложения на 15 страницах.

СОДЕРЖАНИЕ РАБОТЫ

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

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

Анализируются различные технологии, обеспечивающие выполнение исследовательских проектов:

— грид, предоставляющий унифицированный доступ к вычислительному оборудованию как к единой платформе;

— облачные вычисления, рассматриваемые в качестве моделей предоставления услуг, в которых пользователь получает доступ к различным ресурсам в виде интернет-сервиса;

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

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

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

В основу архитектуры распределенной вычислительной системы положена архитектура веб-лабораторий, отличающаяся использованием специальных ЭВМ с установленными в них системой аккаунтинга ресурсов и другими служебными подсистемами, которые дополнительно обеспечивают одновременный контроль над использованием аппаратных и программных ресурсов, занимаются загрузкой вычислительных заданий на внешние ресурсы и контролируют ход их выполнения (Патент № 122505 РФ от 27.11.2012).

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

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

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

В диссертационной работе для моделирования и последующего синтеза функциональной и системной архитектур ПООС используются математический аппарат многоосновного исчисления предикатов первого порядка, алгебраических систем, а также некоторые элементы формализмов систем алгоритмических алгебр (CAA) и эволюционирующих многоосновных алгебраических систем (ЭМАС). Данный аппарат систематизирован в виде взаимно согласованных определений для применения при построении формализованных поведенческих логико-алгебраических моделей. В основу выбранной абстрактной схемы положены результаты исследований В. М. Глушкова, А. Н. Мальцева, Г. С. Плесневича и Y. Gurevich.

Эволюционирующая многоосновная алгебраическая система (ЭМАС) -это кортеж

ЭМАС, = </1ь^2, ..А„, Sort, Р, F, /о, ц, М, 2ГуслД'0л>,

где / - индекс типа архитектуры ПООС; A¡, Л2, ..., А„-основные непустые непересекающиеся множества различных сортов (носители алгебры); Sort = {siy si,- множество сортов, приписанных основным множествам (для каждого сорта зафиксирован набор предметных переменных; среди сортов имеется сорт Т= {true, false}); Р - множество символов отношений или предикатов (предикатных символов); F — множество символов операций или функций (функциональных символов); 2 = Р u F - предикатно-функциональная сигнатура; /0- начальная интерпретация сигнатуры 2, или начальное отображение множества Е в множество отношений и операций, определенных на некоторых из основных множеств A¡, А2, ■ ■■, А„; р.: Е —> {0, 1,..., А} — отображение местности или арности для £; М— множество абстрактных модулей, или абстрактных машин, связанных через пространство абстрактной памяти предикатов и функций (при программной реализации взаимосвязанной сети абстрактных модулей используется понятие «сеть алгоритмических модулей», в которой каждый модуль описан аналитически с помощью аппарата CAA), М с 2ton, 21оп - множество операторов; 21'усл - система образующих алгебры А^ условий, ЗС'уи, с 21^- множест-

во условий; 21'оп, - система образующих алгебры Аоа операторов (или алгебры модулей абстрактных машин), 2Г0„ с 21оп, состоящая из элементарных модулей - элементарных правил модификации интерпретации предикатно-функциональной сигнатуры Е. Определенная таким образом алгебраическая система «эволюционирует», или «развивается», переходя от одной интерпретации сигнатуры 2 к другой, начиная от интерпретации /0.

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

Аппаратная часть ПООС, на базе которой разворачивается система, содержит:

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

— хранилище виртуальных контейнеров, внутри которых выполняются запущенные приложения, удаленно управляемые пользователями с помощью клиентов ПООС;

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

— ЭВМ подсистемы распределения заданий по необходимым вычислительным ресурсам;

-ЭВМ системы аккаунтинга, в задачи которой входят обработка запросов на возможность проведения счета, а также хранение данных о доступных пользователям ресурсах и истории запусков;

— внешние подключаемые высокопроизводительные вычислительные ресурсы - вычислительные кластеры, на которых происходит основное выполнение заданий (рисунок I).

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

Локальный компьютер пользователя <01>

Почтовый клиент (МС) {

Воббраузор палыкшаголя (Вг)

КЛИеНТ СИСТОМЫ УДП (VNCc)

Домашний каталог (Homojd)

Воб-сорвор (WS)

СУБД Ваб-ядро (OBMS_wc>

ВоО-идро (WC)

Сервер out оризлции (Auth)

. Промежуточное ПО ,

L__(Ш>__I

Система хранения данных (SAN) [ Бинарные файлы пртюжощй (Apps)j--

клталоги пользователей (HomojJ-

Хранипище комтейиоров (GS)

Рюху смсгомы УДП (VNCp'QXy)

Моноджор котойнароо (СМ)

Контойнор ВМ (V)

Сервер системы УДП (VNC3)

Клнонг с«1Стоиы ахшунтинга (ASc)

Г

Приложено (Apps_l

Г.-',,

j

Домзшщв! кашпо (Hanojd)

ЭВМ СИСТОЛ пинга (АЭР

Сороор систомы шкаунтшга (ASb)

СУБДСЛ (OBMS_ns)

Группа высокопроизводительных ] оычиспигельных ресурсов (EPR)!

'Ионоджор распределенных ресурсов (BS)

Драшор МРР

Вычислительный ресурс

■ ■- - ■ •-■ ■ " ' ■

Сервер подсистемы управления заданиями (JCSs) I

ЭВМ подсист распределения заданий (JD >РС)

[ Домашние каталоги СУБДПРЗ I полазошпалой ШииоД) | fDBMii }ds)

Сорсор подсистемы распределения задатки (JOS&)

Рисунок 1 - Функциональная архитектура программно-аппаратного комплекса

Клиентская часть выполняется внутри виртуального контейнера приложения и служит для перехвата и обработки запросов приложения к менеджеру распределенных ресурсов (МРР), которые она затем передает серверу системы аккаунтинга.

Сервер подсистемы распределения заданий (супервизор), запущенный на выделенной ЭВМ РЗ, выполняет ряд ключевых функций: выбор требуемого вычислительного ресурса для проведения расчетов, пересылку вычислительных заданий и запросов СА необходимому серверу ПУЗ, обработку полученных результатов счета и помещение их в домашний каталог пользователя (Свидетельство № 2014614273 о государственной регистрации программы для ЭВМ).

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

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

Ниже приведен пример ЭМАС для функциональной архитектуры, соответствующей рисунку 1:

ЭМАСФуНКц = <Аг А2> ау Sort>р' F> 7о> ^ м' *'„>, где определены:

-основное множество сорта «устройство»: А= {С/, WC, ASPC, JDSPC, CS, EPR};

-основное множество сорта «программа»: А= {Br, МС, Br.VNCc, WS, CMS, MS, DBMSMW, Auth, ASs, DBMS^ JDSs, DBMSjds, CM, VNCproxy, BS, JCSs, App, ASc, VNCs};

- основное множество сорта «каталог»: А = {Ноте, Apps);

- множество сортов: Sort = {устройство, программа, каталог};

- предикатная сигнатура: Р = {рНпк, Рсоппес,РmauJ\

- начальная интерпретация IQ для сигнатуры I = Fu?: {р __ (Вг, WC.WS) «- false, (МС, WC.MS) - false, p_ (Br.VNCc, CS. VNCproxy) <-false, ...};

- функция арности: ц: 2 —» {0,2};

-абстрактные модули: М = {С/, WC, ASPC, JDSPC, CS, EPR, V, Store}-,

- система образующих алгебры условий: 2Г = (р(а)};

- система образующих алгебры модулей: 21' = {р (Br, WC. WS) <— true> PmmJMC' WC.MS) - true, pconnecl(Br. VNCc, CS. VNCproxy) «- true,...}.

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

Средства проекта резервируются со счета на время выполнения задания:

(V/ е job) (3 re resource, с е container, р е project, а е app, t\,t2 е time, асi, ас2, acjr е account) [((jobres(j) = г) & (jobapp(j) = а) & (jobcont(f) = с) & (ownerproj(c) = р) & (sendQ) = tt) & (t2 < end(jj) & (acc(p, /,) = act) & (acc(p, t2) = ac2) & (cost(a, jobtime(j)) = acjr) & appsupport(r, a)) —> (ac2 $+ acjr = ac,)].

Неизрасходованные средства возвращаются на счет проекта после выполнения задания:

(V/ е job) (3г е resource, с е container, р е project, а е арр, t\, h е time, ас и ас2, acjs е account) [((jobresQ) = г) &(jobapp(j) = а) & (jobcontfj) = с) & (ownerproj(c) = р) & (startfj) = & (end(j) = /2) & (асс(р, t¡) = ас i) & (асс(р, t2) = ас2) & (costea, jobworkfj, t¡, t2)) = acjs) &appsupport(r, a)) —* (ac2 $+ acjs = aci)].

Остальные правила требуют, чтобы:

- владелец контейнера состоял в проекте, от имени которого создается контейнер;

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

- запуск задания был разрешен только владельцу или пользователю, которому предоставлен доступ;

- выполнение расчетов было возможно только при наличии необходимых средств на счете проекта.

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

В третьей главе рассматриваются основные системные ЭМАС, определяющие сценарии работы ПООС и созданные по методике, предложенной во второй главе. Для описания сценариев построены ЭМАС, где значениям унарных функций f¡ соответствуют длины очередей a¡, pge — бинарный предикат сравнения на «больше или равно», fminus ~ функция вычитания, fpius - функция сложения, Е - тождественный (пустой) оператор, a¡ - предметные константы, представляющие имена очередей.

Для каждого программного устройства дополнительно вводятся именные предметные константы а^е, где пате обозначает название устройства. Для именования использованы следующие сокращения: VNCc и VNCs - клиент и сервер системы удаленного доступа к приложению (УДП) соответственно, ASc и ASs - клиент и сервер системы аккаунтинга соответственно,

JDSs — сервер подсистемы распределения заданий, JCSs — сервер подсистемы управления заданиями, ДУ- менеджер распределенных ресурсов.

Унарный предикат pready возвращает доступность соответствующего программного устройства в текущий момент выполнения работы. Предикат pwrk ограничивает доступ к требуемому устройству, реализует действия и после этого возвращает булеву константу true в случае успешного завершения либо false в противном случае. Предикат р„г вызывается при недостаточном количестве доступных ресурсов на счете пользователя, функция всегда возвращает константу false, тем самым завершая выполнение сценария. Работа с базами данных выполняется с помощью предикатов Рыт Рьл» Pbdm Pbdd, отвечающих соответственно за чтение, обновление, создание и удаление записей базы данных на требуемом устройстве.

В главе представлены следующие системные ЭМАС: запуск прикладного приложения; загрузка задания на внешний ресурс; мониторинг состояния задания с помощью веб-интерфейса и рабочей консоли; завершение выполнения задания; остановка приложения. Логико-алгебраическими выражениями для модулей /Я], .......отц ЭМАС представлен второй сценарий, дополненный описанием на содержательном уровне, которое в полной мере формализует работу системы аккаунтинга и супервизора.

При начальном формировании задания пользователь с помощью клиента системы УДП в веб-браузере получает удаленный доступ к ранее запущенному контейнеру виртуальной машины с работающим внутри него сервером системы УДП. Благодаря этому пользователь может управлять приложением, формирует с помощью его интерфейса задание на счет и отправляет его менеджеру распределенных ресурсов (ase„JBs), как если бы контейнер был головным узлом вычислительного кластера. Промежуточное программное обеспечение контейнера получает сигнал о запуске задания и передает его клиенту СА, который обрабатывает его, извлекая содержимое и прочую метаинформацию, формирует запрос и затем отсылает его серверу СА (asemi4S,), с которым было установлено соединение при запуске контейнера (/И)):

т\ = \Pge{fsendBs{asendBS), 1) & PreadyiOASc) & PreadiiflASsil ({fsendBsiaSendBs) fmlmis(fsendHi,{asenjBs), tyfsendA&fasendASs) fplia(fsendASs{osendASs), 1); (PreadyiPASc) PwordflASc), Pnady(ciASs) Pwor^ASs))} V £).

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

т2 ~ [Pge(fextract(aextract), 1) & PrendreASs)] (ifexlracli^exlracl) fmlmdfextract (aextract), fbdii.aASs)', PreadjfajSs) Pwor^ASs)> fxoAfloadJobiflloadlob) fpltJfloadJob^aioadJob). 1 ),frelErr(arelErr) fplus(frelEri(PrelErr), 1))} V £).

Если доступных ресурсов недостаточно, то клиенту СА возвращается ошибка (ап,Еп) (тз)> и он заносит сообщение о ней в log-файл задания

(dsaveLog) (тУ-

т3 = {Pge{fretEn{aKtErr)> 1) &Pready(flASc)\ ({fretEniflretErr) fmimJfrelEniPKtErr)> fsaveLojfflsaveLog) * Jpha{fsaveLo^flsaveLog)y PreadyiflASc) Pworki^ASc)} V N)\

M4 = \Pge(fsaveLoj£flsaveLog)y 1)] {.{JjaveLo^flsaveLog) * Jminus{fjaveLo^PsaveLog)y 1)> PreadyiflASc) PerXflASc)} V E).

В другом случае выполняется процесс загрузки задания (а/oadjob) (т$), который начинается с занесения информации в базу данных СА СdcreaieRecord)'• имя пользователя, название проекта, название приложения, требуемое время выполнения (те). Также со счета пользователя резервируется запрашиваемое количество ресурсов (аге1епххе!оике1) (mi)'-

mi = \Pge(floadJob(aioadJob), 1) Pread/flASs)] ({floadjobiflloadjob) <— fminus(floadJob(flloadJob)i l)j {fcreateRecord(flcrealeRecord) * JplusifcrealeRecord(PcrealeRecord)y 0> freserveResourcesiflreservefasources) * Jplus(freserveResources(flreserveResources)> 1)}» Pread/flASs)

PworriflASs)} v E);

Мб ~ \Pge(fcreateRecorAflcrealeRecord)y 1) &Pready{flASs)\({fcrcateRecon^^createRecord} * fminus(fcrealeRecorJflcrealeRecord)y {Pbdcr(aASsdb) triie,fscndJB^flsendlDs) fplustfsendJDdflsendJDs), 1)}', Pnady(ciASs) PwordflASs)} V E)\

Wl \Pge(freserveResoi<rces(flreserveResources)i PreadyiflASs)3

({freserveResources (flreserveResources) * fmima(fnserveResonrces(flreserveResources)y 1)> {PbduiflASsdb) true, fsendlDsifltend/Ds) fplusifsendJDdflsendJDs), 1) } ', Pread/.^ASs)

AvortOW} V E).

Далее происходит пересылка задания и служебной метаинформации серверу ПРЗ (ase„djDs) (mg), который в зависимости от типа приложения выбирает вычислительный ресурс (aci,ooseResotlrce) (т9) для выполнения расчетов, создает в базе данных ПРЗ запись о задании, где хранится адрес вычислительного ресурса, название приложения и имя пользователя, и передает задание серверу ПУЗ (aseKucs) (т10):

Wi8 IPgetfreserveResourcesfareservcResources)) О &Pge(fcrealeRecor(&flcreateRecord)y О & PreadyiaASs) & Pready(aJDs)] ( { {frcserveResourceiiflreserveResources) * JmlnttsifreserveResources (flreserveResources)> tyyfcreateRecort/flcreateRecord) * . fminmtfcreate Record^1 ere ateRecord) > 1))'yfsendJDs(flsemUDS) 4 fplus(fsendJDs(asendJDs), 1)'. (PreadyiflASs) P\mrk(flASs), Pready(ctjDS) P>vork(ajDs))} V E)\

ТП9 = \pge{fsendJDs{asendJDS), 1) Pready(ajDs)\ ({fsendJDs(asendJDs) fminus ifsendJDsiflsendJDs), 1); {PbdrffljDSdb) tTUSyfchaoseResonrciiflchooseResource) <— fpbts(fchooseResource(PchooseResource)y 1) }> PreadyifljDS) PworkifljDs)} v E)\

«10 = \Pge{fchooseResourcAPchooseResource), 1) & Preadyi^JDs) & Pready(<3jcs)] ({fchoaseResourtdflchooseResotirce) * fminus(fchooseResouKe(flchooseResource)y tyyJsendJCi6PsendJCS) < fph,s(fsend/cdflsend/cs)y l)i (Pread^fljDS) PworfajDs), PreadyfajCS) P>mrk(djCs))} v£).

Получив задание, сервер ПУЗ с помощью интерфейса служебных драйверов передает его МРР вычислительного ресурса (asc„dBS) (гпи), который добавляет его в очередь выполнения и возвращает идентификатор задания в очереди:

mU~ [Pge(fsendJC!>(asenJJCs), 1) & Pread^fljcs) &-Pread^BSi\ {{fsend/C&sendJCs) fminmifsend/CsiasendJCs), 1)fserulB&seruiBs) ^-fplus(fsendB^PsendBs)> 1)! (PnadyiPjCs) <— Pworkffitjcs)), Pread)(PBs) PworkfaBs))} V £).

После этого происходит последовательная передача идентификатора от МРР между серверами ПУЗ —* ПРЗ —» СА. В заключение сервер СА заносит идентификатор в свою базу данных. В дальнейшем по этому идентификатору будут осуществляться мониторинг и управление заданием на вычислительном ресурсе.

На основе созданных выражений было проведено исследование разработанной модели с помощью программы «Предикатная сеть» (зарегистрирована в ОФЭРНиО, г. Москва, номер ОФЭРНиО - № 17006 от 18.04.2011, номер ЦИТиС - 50201150550 от 27.04.2011). Имитационное моделирование показало правильность работы формально определенной поведенческой модели ПООС.

Дополнительным средством верификации стало исследование модели на основе сетей Петри. В этих целях был разработан транслятор (Свидетельство о государственной регистрации программы для ЭВМ № 2014614274), позволяющий переводить системы логико-алгебраических выражений в соответствующую сеть в нотации PNML (Petri Net Modeling Language), а затем исследовать ее в одном из существующих анализаторов. С помощью системы Yasper был проведен анализ инцидентности и инвариантов системы, а также сделана оценка производительности ПООС. Благодаря этому показана достижимость всех переходов и предложены варианты соединения компонентов внутри сети.

В четвертой главе проведено проектирование виртуализированной системной архитектуры ПООС на прикладном уровне. Даны описание интерфейсов, предоставляемых различными компонентами ПООС, а также варианты развертывания системы на физических серверах. Диаграммы развертывания ЭВМ СА и ЭВМ ПРЗ представлены на рисунках 2 и 3.

Также в главе рассмотрены средства повышения производительности ПООС. К ним относится:

-параллельный режим СА для выполнения однотипных задач при создании виртуального контейнера;

-асинхронный запуск приложений в СА, при котором компоненты системы работают независимо;

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

Для поддержки асинхронного и параллельного режимов выполнения сервера СА была разработана программа (Свидетельство о государственной регистрации программы для ЭВМ № 2014614272), которая строит и анализирует бинарную матрицу совместимости компонентов для каждой модели, а затем реализует параллельную работу распределенных систем логического управления ПООС.

«device» : Веб-ядро

«execu Uon E nvi ron me п l» :Cepeep авторизации

«executkxiErtvironment» _: Веб-сервер_

«device»

:ЭВМ подсистемы распределения заданий

«execu lion E nvi ronment» :Контроллер ПРЗ

«device» : Группа ЭВМ для хранения контейнеров

«execu lion E nvi ron ment» :Менеджер контейнеров

«container» : Контейнер BM

«OS» :GNU/Llnux

«execu Uon E nvi ron ment» : Клиент системы аккаунтинга

«device» :ЭВМ системы аккаунтинга

«executionEnvi ronment» .Сервер С А

«execu UonEnvi ronment» .Контроллер сервера СА

«ехесиЦопЕгт/! гоптеШ» ¡Менеджер учета ресурсов

«database syslem» :СУБД СА

«artifact» ^ Схема БД

Рисунок 2 - Аппаратное развертывание ЭВМ СА

«dcvicc» :СХД

«lbldcr» : Каталоги пользователей

1

«¿СУа'С» :ЭВМ системы аккауитннга

«executionHnvironmenl» '.Сервер СА

«device» :ЭВМ иодснстемы распределении заданий

«Wdc i» ¡Каталоги пользователей

«cxecutionEnvironmcni» :Сервер IIКЗ

«dalabas с system» :СУБД ШЧ

«artifact» Q Схема БД

: Группа>

«device» нешныих вычислительных ресурсов

ï<deviee» :Вычнс гсительиый ресурс

«executionEnvironmcni» ¡Сервер ПУЗ

Рисунок 3 - Аппаратное развертывание ЭВМ ПРЗ

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

На графиках (рисунки 4 и 5) представлены результаты тестирования параллельного режима выполнения реализованного прототипа ПООС при единовременном создании виртуальных контейнеров и при промежутке в 10 с между запусками.

16« но 120 100 80 «0 40 20 0

1 2 3 4

Количество виртуальных контейнеров

.......Стандартный запуск

— — -Параллельный режим

— • -Предзагрузка контейнера

-Предзагрузка +

параллельный режим

Рисунок 4 - Параллельный режим при одновременном создании контейнеров

90 -

80 1

70 4

- 60 1-

г <0 1-

£ 40 т

30 'Г

20

10 ;

0 -'Г

' Стандартный залу ск

-Параллельный режим

-Предзагрузка контейнера ;

-Предзагрузка + параллельный режим

Количество виртуальных контейнеров

Рисунок 5 - Параллельный режим при последовательном создании контейнеров с промежутком в 10 с между запусками

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

Для тестирования асинхронного режима было проведено несколько последовательных загрузок вычислительных заданий при одновременном создании виртуального контейнера. Графики с результатами тестирования представлены на рисунке 6. По ним можно сделать вывод, что использование предзагрузки при асинхронном режиме практически не влияет на скорость работы, тем не менее дает существенный прирост производительности относительно стандартной отправки (на 30 %) и при загрузке заданий на внешний вычислительный ресурс (почти в 8 раз).

1 2345678 Количество загруженных заданий

.......Стандартная

отправка

— —--í IpCJ¡,irji>¡K.l

контейнера

— • —Асинхронный

режим (+ пр ^нагрузка)

Рисунок 6 - Асинхронный режим работы при одновременном создании контейнера

Дополнительно в главе рассматриваются основные методики администрирования системы:

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

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

3. Использование инструментов ПООС для разработки прикладных приложений, среди которых системы контроля версий Git и Subversion, онлайн система поддержки разработки Trac, средства создания графического интерфейса пользователя и опциональные возможности использования интегрированных сред разработки.

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

В приложении А представлена структура базы данных системы ак-каунтинга. В приложении Б описан внутренний формат XML-файла вычислительного задания, применяемый при взаимодействии компонентов ПООС с внешними ресурсами. В приложении В описан формат XML-файла логико-алгебраической модели. В приложении Г представлены матрицы совместимости для системных сценариев работы ПООС. В приложении Д даны акты о внедрении результатов диссертационной работы в производство и образование.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

В ходе теоретических и экспериментальных исследований получены следующие научные и практические результаты:

1. Предложены методики проектирования на абстрактном и прикладном уровнях системной и функциональной архитектур сложных многокомпонентных ПООС на основе декларативно-императивного подхода к

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

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

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

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

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

6. На основе разработанной архитектуры программно-аппаратных средств реализована, протестирована и внедрена в производственной среде ПООС для решения задач в области приборостроения.

ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ Публикации в изданиях, рекомендованных ВАК России

1. Зинкин, С. А. Описание запуска вычислительных заданий в веб-центрах на основе логико-алгебраических спецификаций / С. А. Зинкин, М. Е. Федосин, А. В. Савкина // Научно-технический вестник Поволжья. -2013.-№4.-С. 154-159.

2. Зинкин, С. А. Разработка программной и аппаратной архитектуры веб-центра с использованием логико-алгебраических моделей представления знаний / С. А. Зинкин, М. Е. Федосин, А. С. Федосин // Научно-технический вестник Поволжья. - 2013. - № 6. - С. 289-293.

3. Федосин, М. Е. Создание виртуальных информационно-вычислительных лабораторий на основе технологической платформы UniHUB / М. Е. Федосин // Системы управления и информационные технологии. -2012.-№3.1 (49).-С. 175-178.

4. Федосин, М. Е. Технология поддержки учета ресурсов в виртуальных информационно-вычислительных лабораториях / М. Е. Федосин К Фундаментальные исследования. - 2013. - № 1 (ч. 2). - С. 433^138.

5. Федосин, М. Е. Организация доступа к прикладному программному обеспечению в концепции виртуальных информационно-вычислительных лабораторий / М. Е. Федосин, А. Г. Рыжов // Современные проблемы науки и образования. - 2013. - № 1. - URL: www.science-education.ru/107-8293.

Публикации в других изданиях

6. Федосин, М. Е. Организация виртуальных информационно-вычислительных лабораторий и их использование / М. Е. Федосин, О. И. Самоваров // Перспективы развития информационных технологий : материалы IX Ежегод. междунар. науч.-практ. конф. - Новосибирск. - 2012. -С. 66-71.

7. Федосин, М. Е. Введение системы учета ресурсов в концепцию виртуальных информационно-вычислительных лабораторий / М. Е. Федосин // Перспективы развития информационных технологий : материалы IX Ежегод. междунар. науч.-практ. конф. - Новосибирск, 2012. - С. 64-66.

8. Федосин, М. Е. Создание виртуальных информационно-вычислительных лабораторий на основе технологической платформы UniHUB / М. Е. Федосин // Информационные технологии моделирования и управления. - 2012. - № 4 (76). - С. 322-330.

9. Fedosin, М. Е. Supporting tools for research projects in virtual information-computational laboratories / M. E. Fedosin // Modern Informatization Problems in the Technological and Telecommunication Systems Analysis and

Synthesis : Proceedings of the XVII-th International Open Science Conference. -Lorman, MS, USA, 2013. - P. 367-371.

10. Fedosin, M. E. Creating a virtual information-computational laboratory in computational fluid dynamics / M. E. Fedosin, О. I. Samovarov // Modern Informatization Problems in the Technological and Telecommunication Systems Analysis and Synthesis : Proceedings of the XVII-th International Open Science Conference. - Lorman, MS, USA, 2013. - P. 398^100.

11. Федосин, M. E. Разработка программно-аппаратного комплекса для предоставления доступа к высокопроизводительному программному обеспечению в концепции облачных вычислений / М. Е. Федосин // Международный журнал прикладных и фундаментальных исследований. -2013,-№6.-С. 110-111.

12. Савкина, А. В. Поддержка мультиресурсного запуска вычислительных заданий в web-центрах / А. В. Савкина, С. А. Федосин // Проблемы управления, обработки и передачи информации (АТМ-2013) : сб. тр. III Междунар науч. конф.: в 2 т. - Саратов, 2013. - С. 173-175.

13. Зинкин, С. А. Создание виртуального информационно-вычислительного Веб-центра в области приборостроения / С. А. Зинкин, М. Е. Федосин, В. В. Антонов // Наука и образование в жизни современного общества : сб. науч. тр. Междунар. науч.-практ. конф. : в 18 ч. - Тамбов, 2013.-Ч. 15.-С. 44-45.

14. Пат. на полезную модель № 122505 РФ МПК вОбР 12/00; 13/00; 15/00; 21/00. Аппаратно-вычислительный комплекс для предоставления доступа к программному обеспечению в концепции облачных вычислений / М. Е. Федосин, М. Д. Калугин, А. Г. Рыжов [и др.]. - Выдан 27.11.2012.

Свидетельства о государственной регистрации программ для ЭВМ

15. Свидетельство о государственной регистрации программы для ЭВМ № 2014614274. Мультиформатный синтезатор логико-алгебраических спецификаций для виртуализированных облачных грид-систем / М. Е. Федосин, С. А. Зинкин, А. А. Жиркин. - Зарег. в Реестре программ для ЭВМ 21.04.2014.

16. Свидетельство о государственной регистрации программы для ЭВМ № 2014614272. Интерпретатор асинхронных предикатных сетей с поддержкой параллельного выполнения компонент облачных и грид-систем / М. Е. Федосин, С. А. Зинкин, С. А. Елисеенко. — Зарег. в Реестре программ для ЭВМ 21.04.2014.

17. Свидетельство о государственной регистрации программы для ЭВМ № 2014614273. Программа для управления распределенными процессами и ресурсами в облачной грид-системе / М. Е. Федосин, С. А. Зинкин, А. А. Чубарь. - Зарег. в Реестре программ для ЭВМ 21.04.2014.

Патент на полезную модель

Научное издание

Федосин Михаил Евгеньевич

ВИРТУАЛИЗАЦИЯ МНОГОКОМПОНЕНТНОЙ СИСТЕМНОЙ АРХИТЕКТУРЫ ПРЕДМЕТНО-ОРИЕНТИРОВАННОЙ ОБЛАЧНОЙ ВЫЧИСЛИТЕЛЬНОЙ СРЕДЫ

Специальность 05.13.15 - Вычислительные машины, комплексы и компьютерные сети

Редактор Е. П. Мухина Технический редактор Р. Б. Бердникова Компьютерная верстка Р. Б. Бердниковой

Распоряжение № 5/43-2014 от 24.04.2014. Подписано в печать 28.04.2014. Формат 60х841/16. Усл. печ. л. 1,17. Заказ № 362. Тираж 100.

Издательство ПГУ. 440026, Пенза, Красная, 40. Тел./факс: (8412) 56-47-33; e-mail: iic@pnzgu.ru

Текст работы Федосин, Михаил Евгеньевич, диссертация по теме Вычислительные машины и системы

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Пензенский государственный университет»

На правах рукописи

04201459540 ФЕДОСИН Михаил Евгеньевич

УДК 519.687

ВИРТУАЛИЗАЦИЯ МНОГОКОМПОНЕНТНОЙ СИСТЕМНОЙ АРХИТЕКТУРЫ ПРЕДМЕТНО-ОРИЕНТИРОВАННОЙ ОБЛАЧНОЙ

ВЫЧИСЛИТЕЛЬНОЙ СРЕДЫ

ДИССЕРТАЦИЯ на соискание ученой степени кандидата технических наук

Специальность 05.13.15 - Вычислительные машины, комплексы

и компьютерные сети

Научный руководитель: доктор технических наук, доцент С. А. Зинкин

ПЕНЗА 2014

Оглавление

Введение.................................................................................................................7

Глава 1. Анализ современного состояния информационных технологий в области высокопроизводительных вычислений........................................................14

1.1 Анализ современного состояния предметной области - доступа к технологиям высокопроизводительных вычислений............................................14

1.2 Анализ структуры вычислительного кластера.......................................16

1.2.1 Преимущества кластерной архитектуры.........................................17

1.2.2 Требования к кластерной архитектуре.............................................18

1.3 Технология «грид»....................................................................................21

1.4 Облачные вычисления..............................................................................23

1.4.1 Особенности использования кластерных систем в промышленности и образовании.........................................................................24

1.4.2 Свойства облачных вычислений.......................................................24

1.4.3 Сервисные модели..............................................................................26

1.5 Концепция виртуальных предметно-ориентированных информационно-вычислительных веб-лабораторий.............................................28

1.5.1 Возможности веб-лаборатории.........................................................29

1.5.2 Устройство веб-лаборатории............................................................32

1.5.3 Особенности реализации программной части................................33

1.6 Выводы по главе........................................................................................35

Глава 2. Формализованное проектирование функциональной и виртуализированной системной архитектуры предметно-ориентированной облачной среды (ПООС)...............................................................................................38

2.1 Обоснование и выбор формализмов для поведенческого

моделирования и последующего проектирования ПООС на основе формализованных спецификаций............................................................................38

2.1.1 Формализованные спецификации ПООС на основе систем алгоритмических алгебр.......................................................................................40

2.1.2 Доопределение формализованных спецификаций ПООС на основе аппарата эволюционирующих алгебраических систем.....................................42

2.1.3 Основные этапы проектирования ПООС........................................48

2.2 Методики автоматизированного абстрактного и структурного проектирования системной и функциональной архитектур ПООС на основе логико-алгебраических моделей..............................................................................50

2.2.1 Методика проектирования функциональной архитектуры ПООС на абстрактном уровне..........................................................................................51

2.2.2 Методика проектирования системной виртуализированной архитектуры ПООС на прикладном уровне.......................................................52

2.3 Функциональная архитектура ПООС......................................................53

2.3.1 Структура программно-аппаратного комплекса.............................53

2.3.2 Математическое описание функциональной архитектуры ПООС59

2.3.3 Группы и проекты..............................................................................64

2.3.4 Логико-алгебраические модели функционирования ПООС.........68

2.4 Структура грид-подсистемы....................................................................71

2.5 Архитектуры компонентов системы аккаунтинга.................................72

2.5.1 Архитектура сервера системы аккаунтинга....................................72

2.5.2 Архитектура клиента системы аккаунтинга....................................81

2.5.3. Архитектура сервера подсистемы распределения заданий..........82

2.5.4 Архитектура сервера подсистемы управления заданиями............89

2.6 Основные результаты и выводы..............................................................92

Глава 3. Логико-алгебраические модели представления знаний о структурных, логических и причинно-следственных связях между компонентами и ресурсами виртуализированной предметно-ориентированной облачной среды 94

3.1 Эволюционирующие многоосновные алгебраические системы для

сценариев работы системы.......................................................................................94

3.2 Получение доступа к прикладному программному обеспечению в ПООС..........................................................................................................................96

3.2.1 Запуск приложения в ПООС.............................................................97

3.2.2 Загрузка задания на вычислительный ресурс...............................101

3.3 Мониторинг состояния задания.............................................................106

3.3.1 Мониторинг задания с помощью веб-браузера.............................107

3.3.2 Мониторинг задания из контейнера...............................................108

3.3.3 Общие действия................................................................................110

3.4 Завершение выполнения задания..........................................................112

3.5 Завершение работы приложения...........................................................115

3.6 Верификация логико-алгебраических моделей...................................120

3.7 Основные результаты и выводы............................................................121

Глава 4. Проектирование виртуализированной системной архитектуры предметно-ориентированной облачной среды на прикладном уровне и практические рекомендации по организации работы системы..............................123

4.1 Выявление и реализация параллелизма при работе алгоритмических модулей.....................................................................................................................123

4.1.1 Пример построения распределенной системы логического

управления (супервизора) для ПООС с параллельным выполнением операций ...............................................................................................................................124

4.1.2 Анализ производительности работы системы с учетом параллельного и асинхронного выполнения компонентов.............................131

4.2 Компоненты и интерфейсы ПООС........................................................133

4.2.1 Веб-ядро............................................................................................134

4.2.2 Система аккаунтинга.......................................................................136

4.2.3 Контейнер виртуальной машины...................................................138

4.2.4 Подсистемы распределения и управления заданиями.................139

4.3 Развертывание системы..........................................................................140

4.3.1 Серверная часть................................................................................141

4.3.2 Клиент................................................................................................146

4.3.3 Образ контейнера.............................................................................147

4.3.4 Вычислительная часть.....................................................................149

4.4 Реализация референсной архитектуры ПООС в области приборостроения.....................................................................................................151

4.5 Установка прикладного программного обеспечения..........................153

4.5.1 Особенности хранения приложений в ПООС...............................154

4.5.2 Автоматическая установка приложения........................................155

4.5.3 Установка в ручном режиме...........................................................156

4.6 Подключение внешних вычислительных ресурсов.............................157

4.6.1 Установка на стороне ресурса........................................................157

4.6.2 Установка на стороне ПООС..........................................................158

4.7 Разработка прикладного программного обеспечения средствами ПООС........................................................................................................................159

4.7.1 Средства разработки, предоставляемые ПООС............................159

4.7.2 Особенности работы системы аккаунтинга при разработке приложений..........................................................................................................161

4.8 Основные результаты и выводы............................................................162

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

Список используемых сокращений.................................................................166

Список использованных источников..............................................................167

Приложение А. Описание принципов построения базы данных системы нтинга, характеристики ее состава и объема..................................................180

ПООС.............................................................................................

Приложение Д. Акты о внедрении результатов работы

187 192

Введение

Актуальность темы исследований.

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

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

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

обеспечения в единую вычислительную среду, доступ к которой предоставляется через Интернет.

Существенный вклад в исследование облачных вычислений внесли ученые R. Buyya, N. Antonopoulos, D. Avresky, S. Ahson, B. Sosinsky, K. Hwang, G. Fox, J. Dongarra, В.П. Потапов, В. В. Губарев. Изучением предметно-ориентированных облачных сред для прикладных научных исследований занимаются M. McLennan и G. Klimeck. Грид-системам и связанным с ними технологиям распределенных вычислений посвящены работы В.В. Воеводина, Вл.В. Воеводина, A. Tanenbaum, M. van Steen, N. Preve, A. Abbas, I. Foster и A. Mantri. Формализации параллельных вычислений в распределенных системах посвящены работы Н.П. Вашкевича, В.А. Горбатова, В.Е. Котова, В.П. Кулагина, В.В. Топоркова.

Существуют различные сервисные модели облачных вычислений; в данной работе рассматривается модель SaaS - программное обеспечение как услуга (англ. Software-as-a-Service) и модель PaaS - платформа как услуга (англ. Platform-as-a-Service).

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

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

Реализуемый функционал таких программно-аппаратных комплексов определяется набором установленных в них прикладных приложений и зависит от

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

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

Для достижения поставленной цели необходимо решить следующие основные задачи:

1) провести анализ современных принципов построения архитектур облачных сред и смежных с ними систем;

2) разработать методики проектирования функциональной и системной архитектур на абстрактном и прикладном уровнях;

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

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

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

6) реализовать и протестировать прототип ПООС в одной из актуальных предметных областей.

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

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

Научная новизна заключается в следующем:

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

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

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

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

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

Практическая значимость работы заключается в следующем:

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

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

3) реализована, протестирована и внедре