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

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

CC BY
203
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛЕНИЯ / МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ / ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА / DISTRIBUTED COMPUTING / MODULAR PROGRAMMING / TOOLKITS

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

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

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

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

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

Toolkits for developing distributed software packages

We address the actual problem related to developing distributed software packages (applications) for solving large scientific and applied tasks in heterogeneous distributed computing environments. We propose a new approach based on an integration of the conceptual and modular programming.

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

2. Белый О.В., Малыгин И.Г., Еналеев А.К., Савушкин С.А., Цыганов В.В. Экспертиза и разработка крупномасштабных железнодорожных проектов / Ренессанс железных дорог: фундаментальные научные исследования и прорывные инновации: колл. моногр. Объединенного ученого совета ОАО «РЖД». - Ногинск: Аналитика Родис, 2015. С. 165-182.

3. Цыганов В.В. Клиентоориентированность и каталогизация услуг в управлении крупномасштабной организацией / Труды межд. конф. «Информационные технологии и технологии управления в промышленности, науке и образовании». - Гурзуф: ИНИТ. 2016. С.3-9.

4. Цыганов В.В., Савушкин С.А., Горбунов В.Г. Принципы каталогизации услуг крупномасштабной организации / Труды межд. конф. «Информационные технологии и технологии управления в промышленности, науке и образовании». - Гурзуф: ИНИТ. 2016. С.19-28.

5. Цыганов В. В., Бородин В. А., Савушкин С. А., Лемешкова А. В. Методика каталогизации услуг компании / Труды межд. конф. «Информационные технологии и технологии управления в промышленности, науке и образовании». - Гурзуф: ИНИТ, 2016. С. 31-39.

6. Цыганов В.В., Савушкин С.А., Лемешкова А.В. Методика каталогизации, стандартизации и контроля услуг холдинга ОАО «РЖД» // Транспорт России: проблемы и перспективы -2016: Материалы международной научно-практической конференции. 29-30 ноября 2016 г. -СПб.: ИПТ РАН. 2016. Т. 1. С.102-106. 400 с.

7. Савушкин С.А. Организация каталога услуг транспортной компании // Транспорт России: проблемы и перспективы - 2016. Материалы международной научно-практической конференции. 29-30 ноября 2016г. СПб.: ИПТ РАН, 2016. Т. 1. С.111-115. 400 с.

8. Цыганов В.В., Бородин В.А., Савушкин С.А. Адаптивное управление транспортной компанией на основе клиентоориентированности // ИТНОУ. 2017. № 3. С3-10.

9. Цыганов В.В., Савушкин С.А., Горбунов В.Г. Контроль качества услуг в клиентоориен-тированном управлении компанией // ИТНОУ. 2017. № 3. С. 10-19.

Principles of construction of the automated service catalog

Sergey Alexandrovich Savushkin, PhD (Math), Senior Scientist, Leading Researcher, Institute of Transport Problems named NS Solomenko RAS

Vladimir Grigorievich Gorbunov, deputy. Director General of the Experimental Plant for Scientific Instrument Engineering of the Russian Academy of Sciences

Alesya Valeryevna Lemiashkova, junior researcher, Institute for Transport Problems named after N.S. Solomenko of the Russian Academy of Sciences

The principles of construction are developed, the structure is described and the basic functional requirements to the automated system on the catalog management of services (automated catalog) are formulated. The main constituents of the information component and the main functions of the software component of the automated catalog of services are described.

Keywords: system, management, service, catalog, structure, information, client, software, quality control

УДК 004.4+519.6

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

Феоктистов Александр Геннадьевич, канд. техн. наук, доц., ст. науч. сотр.,

e-mail: agf65@yandex.ru, Сидоров Иван Александрович, канд. техн. наук, науч. сотр.,

e-mail: yvan. sidorov@gmail.com, Горский Сергей Алексеевич, канд. техн. наук, науч. сотр., e-mail: gorskysergey@mail.ru, Институт динамики систем и теории управления им. В.М. Матросова СО РАН,

http://www.idstu.irk.ru

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

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

Работа выполнена при частичной финансовой поддержке РФФИ, проекты № 15-29-07955-офи_м и № 16-07-00931-а, а также Совета по грантам Президента Российской Федерации, государственная поддержка ведущих научных школ Российской Федерации (НШ-8081.2016.9).

Введение

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

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

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

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

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

Системы управления потоками работ (workflow), которым, например, относятся Askalon, GWES, Taverna, Triana, Weka4WS и другие средства [5], обладают большей

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

Концептуальная модель ГРВС

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

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

В инструментальных комплексах, рассматриваемых в данной работе, применяется концептуальная модель ГРВС [7], позволяющая отобразить взаимосвязанное представление следующих слоев знаний:

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

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

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

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

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

Инструментальные комплексы

В инструментальном комплексе DISCOMP [8] исполняемые в пакетном режиме модули формируют функциональное наполнение пакета. Различные языки программирования могут быть использованы для их разработки. В качестве модулей может выступать унаследованное программное обеспечение. Модули могут размещаться в узлах среды или вызываться удаленно, например, в виде сервисов. Возможно применение уникального (не тиражируемого) программного обеспечения. Модули используют файлы для обмена данными.

Системная часть пакета включает мультиагентные, платформо-независимые компоненты инструментального комплекса DISCOMP. Эти компоненты (агенты) могут функционировать под управлением различных операционных систем и используются

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

Решение задачи выполняется в режиме интерпретации и, как правило, требует динамического управления процессом вычислений. Схема решения задачи строится в параллельно-ярусной форме на основе процедурной постановки задачи: «зная описание модели предметной области M выполнить qi, q2, ..., qk», где qi, q2, ..., qk - это множество модулей, участвующих в решении задачи. Такая постановка задачи предполагает проведение дополнительного информационного планирования процессов передачи данных между модулями.

DISCOMP поддерживает виртуализацию ресурсов ГРВС. Если программно-аппаратные ресурсы какого-либо узла среды не соответствуют требованиям модуля схемы решения задачи, то для выполнения такого модуля может быть запущена виртуальная машина. Интерпретатор схемы решения задачи получает данные о состоянии вычислительных процессов и ресурсов, необходимые при обработке событий, от специализированной системы метамониторинга [9]. Данная система осуществляет также выявление, диагностику и частичное устранение отказов программно-аппаратного обеспечения в узлах среды, обеспечивая тем самым поддержку ее отказоустойчивости.

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

Инструментальный комплекс Orlando [10] предоставляет пользователям графический интерфейс для описания предметной области РППП и постановок задач, которые могут формулироваться как в процедурной форме, так и в непроцедурной форме «зная M вычислить yi, y2, ..., ym по Xi, Х2, ..., Xn», где Xi, Х2, ..., Xn и yi, y2, ym - ЭТО соответственно множества исходных и целевых параметров задачи. В последнем случае производится автоматический синтез схемы решения задачи (абстрактной программы). Схема решения задачи, сформированная на основе ее процедурной постановки, может включать управляющие конструкции ветвления, цикла и рекурсии. Графическое описание предметной области РППП и постановок задач автоматически транслируется во внутреннее представление в терминах языка XML.

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

Важной особенностью Orlando является комплексирование разрабатываемых пакетов.

Представленные в работе ИК применяются в ЦКП «Иркутский суперкомпьютерный центр СО РАН» [ii] в качестве сред параллельного программирования. Они были использованы для анализа состояния биоресурсов озера Байкал [i2], исследования

направлений развития топливно-энергетического комплекса Вьетнама с позиции обеспечения энергетической безопасности [13], оптимизации функционирования логистического складского комплекса промышленного масштаба ООО «Иркутский хладокомбинат» [14] и решения ряда других важных задач [15].

Заключение

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

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

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

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

Литература

1. Foster I., Kesselman C. Globus: A Metacomputing Infrastructure Toolkit // Intl. J. of High Performance Comp. Applications. 1997. Vol. 11, N 2. P. 115-128.

2. Workflow Management in Condor / P. Couvares et al. // Workflows for e-Science. - London: Springer, 2007. 471 р.

3. Anderson D. Boinc: A System for Public-Resource Computing and Storage // Proc. of the 5th IEEE/ACM Int. Workshop on Grid Computing. - IEEE, 2004. P. 4-10.

4. Воеводин В.В. Решение больших задач в распределенных вычислительных средах // Автоматика и телемеханика. 2007. № 5. С. 32-45.

5. Talia D. Workflow Systems for Science: Concepts and Tools // ISRN Softw. Eng. 2013. Vol. 2013. Article ID 404525. 15 p.

6. A Note on New Trends in Data-Aware Scheduling and Resource Provisioning in Modern HPC Systems / J. Tao et al. // Future Gener. Comp. Sy. 2015. V. 51. October. P. 45-46.

7. Conceptual Model of Problem-Oriented Heterogeneous Distributed Computing Environment with Multi-Agent Management / I. Bychkov // Procedia Comput. Sci. 2017. V. 103. P. 162-167.

8. Методы и средства организации параллельных и распределенных вычислений на основе парадигмы модульного программирования / И.В. Бычков // Вестник Кемеровского государственного университета. 2012. Т. 2. № 4 (52). С. 22-30.

9. Sidorov I.A. Methods and Tools to Increase Fault Tolerance of High-Performance Computing Systems // Proc. of the 39-th Int. Convention on Information and Communication Technology, Electronics and Microelectronics. - Riejka: MIPRO, 2016. P. 242-246.

10.Управление асинхронным вычислительным процессом в ORLANDO TOOLS / С.А. Горский // Вестник компьютерных и информационных технологий. 2011. № 1. С. 44-51.

11.Иркутский суперкомпьютерный центр СО РАН [Электронный ресурс]. - Режим доступа: http://hpc.icc.ru/ (дата обращения: 13.09.2017).

12.Sequencing of the Complete Genome of an Araphid Pennate Diatom Synedra Acus Subsp. Radians from Lake Baikal / Y.P. Galachyants et al. // Doklady Biochemistry and Biophysics. 2015. V. 461. N. 1. P. 84-88.

13.The Approach to Find Rational Energy Development Ways in Terms of Energy Security Requirements / A.V. Edelev et al. // Proc. of the Int. Conf. of Science and Technology: 50-th Anniversary of Electric Power University. - Hanoi, 2016. Р. 548-556.

14.Феоктистов А.Г., Башарина О.Ю. Автоматизация имитационного моделирования сложных систем в распределенной вычислительной среде // Программные продукты и системы. 2015. № 3. C. 75-79.

15.Высокопроизводительные вычислительные ресурсы ИДСТУ СО РАН: Текущее состояние, возможности и перспективы развития / И.В. Бычков и др. // Вычислительные технологии. 2010. Т. 15. № 3. С. 69-81.

Toolkits for developing distributed software packages

Alexander Gennadievich Feoktistov, Ph.D. of Engineering Sciences, Associate Professor, Senior Research Officer, Matrosov Institute for System Dynamics and Control Theory of SB RAS

Ivan Aleksandrovich Sidorov, Ph.D. of Engineering Sciences, Research Officer, Matrosov Institute for System Dynamics and Control Theory of SB RAS

Sergey Alekseevich Gorsky, Ph.D. of Engineering Sciences, Research Officer, Matrosov Institute for System Dynamics and Control Theory of SB RAS

We address the actual problem related to developing distributed software packages (applications) for solving large scientific and applied tasks in heterogeneous distributed computing environments. We propose a new approach based on an integration of the conceptual and modular programming.

Keywords: distributed computing, modular programming, toolkits

УДК 330

ДОРОЖНЫЕ ИГРЫ В КРУПНОМАСШТАБНЫХ ТРАНСПОРТНЫХ СИСТЕМАХ

Владимир Викторович Цыганов, д-р. техн. наук, проф., зав. Отделом

e-mail: bbc@ipu.rssi.ru Институт проблем управления им. В. А. Трапезникова РАН

http://www.ipu.ru

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

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

Быстрые изменения приводят к необходимости решения проблем адаптации и реформирования крупномасштабных транспортных систем с учетом использования инновационных средств и технологий, а также состояния дорог, правил движения и многих других факторов. Для решения этих проблем необходим комплексный теоретический подход к построению и оптимизации иерархических моделей сложных транспортных систем в условиях динамики, неопределенности, и с учетом человеческого фактора. Такой подход характерен для теории активных систем и основанной на ней теории больших транспортных систем [1]. К сожалению, однако, до сих пор исследователи ограничивались решением локальных задач совер-Цыганов В В шенствования крупномасштабных транспортных систем, таких как моделирование транспортных потоков, например, с использованием физических аналогов [2] или методов исследования операций [3]. Вышесказанное определяет актуальность системного анализа и решения указанных проблем с позиций теории активных систем.

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

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