Научная статья на тему 'Микросервисы как фундаментальная основа распределенного сборочного программирования'

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

CC BY
537
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛЕНИЯ / ВЫЧИСЛИТЕЛЬНАЯ МОДЕЛЬ / МИКРОСЕРВИСЫ / МУЛЬТИАГЕНТНАЯ СИСТЕМА / ДЕЦЕНТРАЛИЗОВАННОЕ УПРАВЛЕНИЕ / DISTRIBUTED COMPUTING / COMPUTATIONAL MODEL / MICROSERVICES / MULTI-AGENT SYSTEM / DECENTRALIZED CONTROL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Опарин Геннадий Анатольевич, Богданова Вера Геннадьевна, Пашинин Антон Алексеевич

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Опарин Геннадий Анатольевич, Богданова Вера Геннадьевна, Пашинин Антон Алексеевич

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

Microservices as a fundamental basis for distributed aggregate programming

The questions of microservice approach for design and support the functioning of distributed computational problems solvers are considered.

Текст научной работы на тему «Микросервисы как фундаментальная основа распределенного сборочного программирования»

Литература

1. Приказ Министерства промышленности и торговли РФ и Министерства экономического развития РФ. № 1032/397 [Электронный ресурс]. - Режим доступа: http://base.garant.ru/55172357 (дата обращения 15.12.2017)

2. Методика [Электронный ресурс]. - Режим доступа: http://mkb-electron.ru/wp-content/uploads/2016/02/Методика.pdf (дата обращения 15.12.2017)

3. Постановление правительства № 719 [Электронный ресурс]. - Режим доступа: http://www.garant.ru/products/ipo/prime/doc/56621185/ (дата обращения 15.12.2017)

4. Постановление правительства. № 925 [Электронный ресурс]. - Режим доступа: http://www.garant.ru/products/ipo/prime/doc/71392106/

(дата обращения 15.12.2017)

5. Постановление правительства № 968 [Электронный ресурс]. - Режим доступа: http://www.garant.ru/products/ipo/prime/doc/71400660/ (дата обращения 15.12.2017)

6. Реестр телекоммуникационного оборудования российского происхождения [Электронный ресурс]. - Режим доступа: http://mkb-electron.ru/prisvoenie-telekommunikacionnomu-oborudo-vaniyu-statusa-oborudovaniya-rossijskogo-proisxozhdeniya/ (дата обращения 15.12.2017)

В данной статье использовались материалы презентации «Телекоммуникационное оборудование российского происхождения» на научно-технической конференции «Современное состояние и перспективы развития транспортных сетей связи специального назначения» 2017г.- доклад Апполоновой С. А. (Ассоциация производителей электронной аппаратуры и приборов).

Import substitution. The status of TERO

Oleg Novikov, Head of sales department, FSUE EZAN (Chernogolovka)

To ensure the economic, technological and information security requires a systematic and complex support of the Russian manufacturers of telecommunications equipment. Features of the status of telecommunication equipment of Russian origin (TERO). Keywords: Status of TERO

УДК 004.421+004.4'2+004.771

МИКРОСЕРВИСЫ КАК ФУНДАМЕНТАЛЬНАЯ ОСНОВА РАСПРЕДЕЛЕННОГО СБОРОЧНОГО ПРОГРАММИРОВАНИЯ

Геннадий Анатольевич Опарин, д-р техн. наук, проф., гл. науч. сотр.

E-mail: [email protected] Вера Геннадьевна Богданова, канд. техн. наук, ст. науч. сотр.,

E-mail: [email protected] , мл. науч. сотр., E-mail: [email protected] Институт динамики систем и теории управления им. В.М. Матросова СО РАН,

http://www.idstu.irk.ru

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

Ключевые слова: распределенные вычисления, вычислительная модель, микросервисы, мультиагентная система, децентрализованное управление.

Работа подготовлена при поддержке Программы Президиума РАН№27 «Фундаментальные проблемы решения сложных практических задач с помощью суперкомпьютеров»

Введение. В своей фундаментальной работе [1] А.П. Ершов определил сборочное программирование как метод, который решает задачу многократного и быстрого применения в процессе создания программы заранее изготовленных деталей, роль которых играют программные модули. К наиболее важным особенностям сборочного программирования относятся ориентация на класс задач и наличие вычислительной модели (базы

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

постановкой задачи на модели КВ. Вы/ .як числительная модель представляется в 1 ' ЕЯ к А/ {) | виде совокупности значащих величин

® функциональных отношений между Опарин Г.А. -гг

ними. Каждое функциональное отношение реализуется программным модулем, который вычисляет значения выходных параметров модуля по заданным значениям входных параметров. Таким образом, вычислительная модель определяет правила применения и сочетания модулей в процессе автоматического решения задачи Т = (А0,В0).

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

1. Прикладные программные модули реализованы в виде вычислительных микросервисов, установленных в узлах распределенной вычислительной среды (РВС). Микросервисы - это архитектурный стиль, который в последние годы приобретает все большую популярность [2, 3]. Использование микросервисов позволяет оперировать свойствами модульности в совершенно новых условиях организации распределенных вычислений, когда межмодульное взаимодействие обеспечивается только через механизм передачи сообщений.

2. Разработчик микросервиса делегирует выполнение всех необходимых действий, связанных с решением задачи Тна модели КВ, программному агенту, связанному с узлом установки сервиса.

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

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

Экспериментальная реализация процесса распределенного сборочного программирования выполняется с использованием разработанных авторами инструментальных

Богданова В.Г.

средств HPCSOMAS (High Performance Service-Oriented Multi-Agent System), автоматизирующей разработку мультиагентных систем (МАС) управления на уровне приложения.

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

HPCSOMAS Framework (версия 1.0) [4] является программной платформой, предназначенной для создания и поддержки функционирования сервис-ориентированных приложений пользователя в распределенной вычислительной среде на основе мультиагентного подхода. Такие приложения представляют собой набор агентов, реализованных в виде автономных независимых сервисов, предназначенных для выполнения системных функций (аутентификации, пользовательского запроса, генерации задания и т.п.) и функций, соответствующих назначению прикладных модулей приложения. Сервисы при дальнейшем изложении будут называться соответственно системными и вычислительными. Системные сервисы используются для организации управления вычислительными сервисами, установленными на узлы РВС и отвечающими за выполнение прикладного модуля. Сервисы реализованы на основе архитектурного стиля REST и взаимодействуют между собой с помощью протокола HTTP. В современном представлении сервис-ориентированной архитектуры такие сервисы распределенной программной системы называют микросервисами.

В состав HPCSOMAS Framework входят следующие компоненты:

• Прикладной программный интерфейс (HPCSOMAS API) для создания миксерви-сов программным путем;

• Стандартный набор конфигурируемых системных микросервисов;

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

• Инструментальные средства Agent Based Class Service Wizard (ABCSW) [5] для автоматизации процессов создания и конфигурирования агентов и для разработки сервис-ориентированного приложения на основе пакета прикладных программ;

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

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

Архитектура МАС, созданных на основе такого взаимодействия, приведена нами ранее в [4, 5]. Основными агентами таких МАС являются пользовательский агент (веб-интерфейс), представляющий клиентскую часть платформы; серверная программа-агент (HPCSOMAS агент) и вычислительные агенты (вычислительные микросервисы). Децентрализованное управление применяется на уровне HPCSOMAS агентов, взаимодействующих при распределении вычислительных ресурсов для приложения пользователя. В работах [4, 5, 7-10] описано создание с помощью HPCSOMAS Framework композитных сервис-ориентированных приложений для решения задач параметрического синтеза стабилизирующей обратной связи для управляемых динамических систем, имитационного моделирования складской логистики и задач булевой выполнимости.

Дальнейшее развитие HPCSOMAS Framework (версия 2.0) состояло в разработке базовых классов для реализации вычислительных агентов на основе дискретно-событийной поведенческой модели в виде детерминированного конечного автомата. Модель динамики функционирования вычислительных агентов нового типа приведена в [11]. При

непроцедурной постановке задачи Т = (А0, В0) на модели КВ [6] управление осуществляется самоорганизующейся мультиагентной системой, в которую входят только вычислительные микросервисы, созданные на основе таких классов. Схема создания вычислительных микросервисов приведена на рис. 1.

Рис. 1. Схема создания микросервисов с помощью HPCSOMAS Framework 2.0.

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

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

В HPCSOMAS Framework 2.0 в отличие от предыдущей версии, в которой информация об интеграции с вычислительными ресурсами была доступна только HPCSOMAS агенту, для пользовательского агента создается база данных, в которой запоминаются статические связи между вычислительными сервисами и узлами РВС. Поэтому способы интеграции с вычислительными ресурсами, описанные в [5], дополнены возможностью установки на узел РВС непосредственно вычислительного микросервиса.

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

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

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

1. Разработана технология автоматизации процесса распределенного сборочного решения прикладных задач.

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

Литература

1. Ершов А.П. Научные основы доказательного программирования // Вестник Академии наук СССР. 1984. № 10. С. 9-19.

2. Dragoni N, Giallorenzo S., Lafuente A.L., Mazzara M., Montesi F., Mustafin R., Safina L. Microservices: Yesterday, Today, and Tomorrow // Springer International Publishing. 2017. P. 195-216. https://doi.org/10.1007/978-3-319-67425-4_12.

3. Ньюмен С. Создание сервисов. - СПб.: Питер, 2016. 304 с.

4. Bychkov I.V., Oparin GA, Bogdanova V.G., Pashinin A.A., Gorsky SA. Automation Development Framework of Scalable Scientific Web Applications Based on Subject Domain Knowledge // Lecture Notes in Computer Science. 2017. V. 10421. P. 278-288.

5. Пашинин А А, Колосов А.Д. Инструментарий разработки сервисов для решения булевых уравнений // Информационные технологии в науке, образовании и управлении: труды межд. конф. IT + S&E16 (Гурзуф, 01.10-15.10.2016 г) / под. ред. проф. Е.Л. Глориозова. - М.: ИНИТ, 2016. Осенняя сессия. С. 64-72.

6. Bychkov I, Oparin G., Tchernykh A, Feoktistov A, Bogdanova V., Gorsky S. Conceptual Model of Problem-Oriented Heterogeneous Distributed Computing Environment with Multi-Agent Management // Procedia Computer Science, 2017. V. 103. P. 162-167.

7. Богданова В.Г., Пашинин А.А. Web- сервис для проведения экспериментов с имитационными моделями систем массового обслуживания // Фундаментальные исследования. 2017. № 10 (часть 2). C. 177-182.

8. Bychkov I, Oparin G., Feoktistov A, Bogdanova V., Sidorov I. The Service-Oriented Multiagent Approach to High-Performance Scientific Computing // Lecture Notes in Computer Science. 2017. V. 10187. P.261-268.

9. Oparin G., Feoktistov A., Bogdanova V., Sidorov I. Automation of multi-agent control for complex dynamic systems in heterogeneous computational network // AIP Conference Proceedings. Vol. 1798. Issue 1. 020117 (2017); http://doi.org/10.1063/L4972709.

10.Oparin G. A, Bogdanova V. G., Gorsky S. A., Pashinin A. A. Service-oriented application for parallel solving the Parametric Synthesis Feedback problem of controlled dynamic systems. 2017. 40th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, Croatia, 2017. P. 353-358; doi: 10.23919/MIPRO.2017.7973448.

11.Бычков ИВ, Опарин Г.А, Богданова В.Г, Пашинин А А. Интеллектуализация децентрализованного управления распределенными вычислениями // Вестник компьютерных и информационных технологий. 2017. № 10. С. 35-42. DOI: 10.14489/vkit.2017.10. P. 035-042.

Microservices as a fundamental basis for distributed aggregate programming

Oparin Gennady Anatoljevich, Ph.D. of technics, professor, chief researcher, e-mail: [email protected]

Bogdanova Vera Gennadjevna, PhD of technics, senior research, e-mail: [email protected],

Pashinin Anton Alekseevich, Junior researcher, e-mail: [email protected]

Matrosov Institute for System Dynamics and Control Theory of SB RAS, http://www.idstu.irk.ru

The questions of microservice approach for design and support the functioning of distributed computational problems solvers are considered.

Keywords: distributed computing, computational model, microservices, multi-agent system, decentralized control.

УДК 004.75

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

Виктор Васильевич Топорков, д-р техн. наук, проф., зав. кафедрой E-mail: [email protected] Дмитрий Михайлович Емельянов, канд. техн. наук, доц.

E-mail: [email protected] Национальный исследовательский университет «МЭИ»

http://www.mpei.ru Анна Станиславовна Топоркова, канд. техн. наук, доц.

Национальный исследовательский университет Высшая школа экономики

E-mail: [email protected] http://www.hse.ru

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

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

Работа выполнена при поддержке РФФИ (проекты 18-07-00456, 18-07-00534), Совета по грантам Президента Российской Федерации для поддержки молодых российских ученых (МК-2297.2017.9), Минобрнауки России, государственное задание (проект 2.9606.2017/8.9).

Введение

Одной из важнейших проблем организации распределенных вычислений является эффективное использование ресурсов с соблюдением соглашений о качестве сервиса. Традиционно в распределенных вычислениях выделяют и, как правило, разделяют планирование на уровне приложений (application-level scheduling) и планирование потоков независимых заданий (job-flow scheduling). В грид первый подход ассоциируется с брокер-ориентированной моделью, а второй - с использованием метапланировщиков в рамках виртуальных организаций (ВО). Многочисленные исследования связаны с планированием «портфеля задач» (bag-of-tasks), относительно простых и слабо связанных между собой. Брокеры ресурсов адаптируются к особенностям приложений с учетом их структуры, в то время как политика ВО регламентирует взаимодействие между ключевыми стейкхолдерами (пользователями, администраторами и владельцами ресурсов), например, на основе экономических моделей. Тем не менее, в рамках обоих подходов необходимо учитывать конкуренцию потоков независимых заданий, которая приводит к снижению уровня доступности разделяемых ресурсов. При этом даже в ВО предпочтения стейкхолдеров могут быть противоречивыми.

Важнейший класс структурированных заданий, состоящих из связанных задач, представляют научные приложения типа «поток работ» (workflow). Примеры таких проектов - Montage, Epigenomics, CyberShake, SIPHT, LIGO. Каждое из заданий задействует значительные разнородные и, зачастую, неотчуждаемые от владельцев, ресурсы, используемые также и локальными заданиями. Модель планирования задания - бесконтурный орграф (DAG), вершины которого соответствуют задачам, а дуги - информационным и

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