Научная статья на тему 'АЛГОРИТМЫ ПЛАНИРОВАНИЯ ВЫЧИСЛЕНИЙ С УЧЕТОМ ИЗБЫТОЧНОСТИ И НЕОПРЕДЕЛЕННОСТИ'

АЛГОРИТМЫ ПЛАНИРОВАНИЯ ВЫЧИСЛЕНИЙ С УЧЕТОМ ИЗБЫТОЧНОСТИ И НЕОПРЕДЕЛЕННОСТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
53
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛЕНИЯ / НАУЧНЫЕ ПРИЛОЖЕНИЯ / СХЕМА РЕШЕНИЯ ЗАДАЧИ / ПЛАНИРОВАНИЕ ВЫЧИСЛЕНИЙ / ИЗБЫТОЧНОСТЬ / НЕОПРЕДЕЛЕННОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Феоктистов А.Г., Костромин Р.О., Горский С.А., Бычков И.В., Черных А.Н.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Феоктистов А.Г., Костромин Р.О., Горский С.А., Бычков И.В., Черных А.Н.

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

REDUNDANCY AND UNCERTAINTY-BASED ALGORITHMS FOR COMPUTATION PLANNING

Nowadays, the development and use of workflow-based applications (distributed applied software packages) are some of the key challenges in terms of preparing and carrying out large-scale scientific experiments in distributed environments with heterogeneous computing resources. The environment resources can be represented by clusters of personal computers, supercomputers, and private or public cloud platforms and differ in their computational characteristics. Moreover, the composition and characteristics of resources change in dynamics. Therefore, computations planning and resource allocation in the considered environments are important problems. In this regard, we propose new algorithms for computation planning taking into account redundancy and uncertainty in such distributed applied software packages. Compared to other algorithms of a similar purpose, the proposed algorithms use evaluations of workflow execution makespan obtained in the process of continuous integration, delivery, and deployment of applied software. The proposed algorithms provide the construction of redundant problem-solving schemes that allow us to adapt them to the dynamic characteristics of computational resources and improve distributed computing reliability. The algorithms are based on a theory of conceptual modeling computational processes. We demonstrate the process of constructing problem-solving schemes on model examples. In addition, we show the utility in using redundancy for increasing the distributed computing reliability In comparison with some traditional meta-schedulers.

Текст научной работы на тему «АЛГОРИТМЫ ПЛАНИРОВАНИЯ ВЫЧИСЛЕНИЙ С УЧЕТОМ ИЗБЫТОЧНОСТИ И НЕОПРЕДЕЛЕННОСТИ»

DOI: 10.15514/ISPRAS-2022-34(1)-9

Алгоритмы планирования вычислений с учетом избыточности и неопределенности

1 А.Г. Феоктистов, ORCID: 0000-0002-9127-6162 <agf65@icc.ru> 1 Р.О. Костромин, ORCID: 0000-0001-8406-8106 <kostromin@icc.ru> 1 С.А. Горский, ORCID: 0000-0003-0177-9741 <gorsky@icc.ru> 1 И.В. Бычков, ORCID: 0000-0002-1765-0769 <bychkov@icc.ru> 2Д4 А.Н. Черных, ORCID: 0000-0001-5029-5212 <chernykh@cicese.mx> 1,5 О.Ю. Башарина, ORCID: 0000-0002-7151-782X <basharinaolga@mail.ru> 1 Институт динамики систем и теории управления им. В.М. Матросова СО РАН, 664033, Россия, Иркутск, ул. Лермонтова, 134, а/я 29 2 Центр научных исследований и высшего образования Мексика, 22860, Нижняя Калифорния, Энсенада, ш. Тихуана-Энсенада, 3918 3Южно-Уральский государственный университет, 454080, Россия, Челябинск, проспект Ленина, 76 4 Институт системного программирования им. В.П. Иванникова РАН, 109004, Россия, Москва, ул. А. Солженицына, 25 5 Иркутский государственный университет, 664003, Иркутск, ул. Карла Маркса, 1, Россия

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

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

Для цитирования: Феоктистов А.Г., Костромин Р.О., Горский С.А., Бычков И.В., Черных А.Н., Башарина О.Ю. Алгоритмы планирования вычислений с учетом избыточности и неопределенности. Труды ИСП РАН, том 34, вып. 1, 2022 г., стр. 123-140. DOI: 10.15514/ISPRAS-2022-34(1)-9

Благодарности: Исследование выполнено при поддержке РФФИ, проект № 19-07-00097-а. Имитационная модель среды разработана при частичной поддержке Министерства науки и высшего образования Российской Федерации, проект «Технологии разработки и анализа предметно -ориентированных интеллектуальных систем группового управления в недетерминированных распределенных средах».

Redundancy and Uncertainty-Based Algorithms for Computation

Planning

1 A.G. Feoktistov, ORCID: 0000-0002-9127-6162 <agf@icc.ru> 1 R.O. Kostromin, ORCID: 0000-0001-8406-8106 <kostromin@icc.ru> 1 S.A. Gorsky, ORCID: 0000-0003-0177-9741 <gorsky@jcc.ru> 1 I.V. Bychkov, ORCID: 0000-0002-1765-0769 <bychkov@icc.ru> 2Д4A.N. Tchernykh, ORCID: 0000-0001-5029-5212 <chernykh@cicese.mx> 1,5 O.Yu. Basharina, ORCID: 0000-0002-7151-782X<basharinaolga@mail.ru>

1 Matrosov Institute for System Dynamics and Control Theory of the Siberian Branch of the RAS, 134, Lermontov st., Irkutsk, postbox 292, 664033, Russia 2 Centro de Investigación Científica y de Educación Superior, 3918, Ensenada-Tijuana Highway, Ensenada, 22860, Mexico 3 South Ural State University, Chelyabinsk, 76, Lenin prospekt, Chelyabinsk, 454080, Russia 4 Ivannikov Institute for System Programming of the Russian Academy of Sciences, 25, Alexander Solzhenitsyn st., Moscow, 109004, Russia 5 Irkutsk State University, 1, KarlMarks St., Irkutsk, 664003, Russia

Abstract. Nowadays, the development and use of workflow-based applications (distributed applied software packages) are some of the key challenges in terms of preparing and carrying out large-scale scientific experiments in distributed environments with heterogeneous computing resources. The environment resources can be represented by clusters of personal computers, supercomputers, and private or public cloud platforms and differ in their computational characteristics. Moreover, the composition and characteristics of resources change in dynamics. Therefore, computations planning and resource allocation in the considered environments are important problems. In this regard, we propose new algorithms for computation planning taking into account redundancy and uncertainty in such distributed applied software packages. Compared to other algorithms of a similar purpose, the proposed algorithms use evaluations of workflow execution makespan obtained in the process of continuous integration, delivery, and deployment of applied software. The proposed algorithms provide the construction of redundant problem-solving schemes that allow us to adapt them to the dynamic characteristics of computational resources and improve distributed computing reliability. The algorithms are based on a theory of conceptual modeling computational processes. We demonstrate the process of constructing problem-solving schemes on model examples. In addition, we show the utility in using redundancy for increasing the distributed computing reliability In comparison with some traditional meta-schedulers.

Keywords: distributed computing; scientific applications; workflow; computation planning; redundancy; uncertainty

For citation: Feoktistov A.G., Kostromin R.O., Gorsky S.A., Bychkov I.V., Tchernykh A.N., Basharina O.Yu. Redundancy and Uncertainty-Based Algorithms for Computation Planning. Trudy ISP RAN/Proc. ISP RAS, vol. 34, issue 1, 2022, pp. 123-140 (in Russian). DOI: 10.15514/ISPRAS-2022-34(1)-9

Acknowledgements. The study is supported by the Russian Foundation of Basic Research, project no. 19-07-00097. Developing the simulation model of the computing environment was supported in part by the Ministry of Science and Higher Education of the Russian Federation, project «Technologies for the development and analysis of subject-oriented intelligent group control systems in non-deterministic distributed environments».

1. Введение

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

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

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

В рамках проблемы управления распределенными вычислениями выделяются две взаимосвязанные задачи [2]:

• планирование вычислений (построение схемы решения задачи, определяющей порядок выполнения модулей пакета);

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

Статья посвящена вопросам, относящимся к решению первой задачи. Разработка и применение подхода к решению второй задачи детально рассмотрены в [3]. Средства для решения обеих задач реализуются в рамках инструментального комплекса Orlando Tools (ОТ) [4].

2. Обзор связанных работ

Автоматическое планирование взаимодействия компонентов научного рабочего процесса является сложной задачей, поскольку трудно определить их функциональность и семантику используемых ими данных [5]. В частности, необходимы разработка и применение специальных средств описания и использования алгоритмических и схемных знаний о предметной области научного рабочего процесса. Например, в качестве фундаментальной основы представления таких знаний может быть задействовано концептуальное моделирование [6].

Поэтому в системах поддержки научных рабочих процессов (workflow) наиболее распространены подходы, основанные на процедурной форме построения таких процессов [7]. Среди них Askalon [8], Condor DAGMan [9], GridAnt [10], GridWay [11], Kepler [12], Taverna [13], Triana [14] и UNICORE [15]. Наиболее популярными из них являются следующие подходы:

• применение универсальных языков разметки, таких, как XML [16], и также их расширений (например, XML Process Definition Language [17] для описания рабочих процессов, относящихся к любым сферам деятельности, и Business Process Modeling Language [18] для описания рабочих процессов различного типа);

• использование специальных форматов описания заданий по выполнению научных рабочих процессов (например, форматы заданий в Condor DAGMan и GridWay);

• графическое представление научных рабочих процессов в виде ориентированных циклических или ациклических графов (например, сети Петри [19] и UML диаграммы [20]).

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

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

В этой связи наиболее продвинутые системы поддержки научных рабочих процессов (например, OT и Pegasus [21]) включают средства автоматического планирования взаимодействия компонентов приложений. Такие системы более предпочтительны для рабочих процессов, которые характеризуются большим числом своих компонентов и взаимосвязей между ними [22].

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

В сравнении с ними системы Askalon, Condor DAGMan, GridWay, Kepler, Pegasus и Triana ориентированы на абстрактные научные рабочие процессы. Компоненты таких научных рабочих процессов не связаны с конкретными источниками данных, прикладным ПО и ресурсами. Они могут запускаться на ресурсах, назначаемых для их выполнения статически или динамически локальными менеджерами ресурсов или метапланировщиками среды. Дополнительным преимуществом систем OT и Taverna является то, что они поддерживают оба типа научных рабочих процессов. Это обеспечивает гибкость в выборе средств построения научных рабочих процессов.

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

Работа [23] посвящена дедуктивному методу синтеза программ. Этот метод используется на статическом этапе построения программы для композиционного программирования в целом. Вопросы, связанные с избыточностью и неопределенностью, а также назначением ресурсов, требуют дополнительного развития.

Новый подход к построению параллельных асинхронных абстрактных программ требуемой длины представлен в [24]. Система булевых ограничений используется в качестве постановки задачи. В том числе учитываются ограничения на число доступных процессоров однородных узлов вычислительной среды и модельные временные задержки при выполнении модулей абстрактной программы.

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

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

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

3. Модель

Структура модели. Представим вычислительную модель РППП следующей структурой:

MDASP = (PAR, О, М, N,Rin, Rout, R, R, PR, NPPF, NPPF', S), (1)

где PAR - множество параметров пакета (обрабатываемых данных), О - множество вычислительных операций над полем параметров, М - множество модулей, являющихся конкретными программными реализациями абстрактных операций, N - множество разнородных ресурсов распределенной вычислительной среды, на которых размещены модули. Каждая операция Oi Е О интерпретируется как абстрактный процесс вычисления множества ее выходных параметров PARfut с PAR по множеству ее входных параметров PAR™ с PAR, PAR™ П PAR°ut = 0.

Связь между параметрами и операциями задается соответственно булевыми матрицами Rin и Rout размерности п0 хпр. Элемент матрицы г™ = 1 (г™ = 0) указывает, что j-й параметр является (не является) входным для i-й операции, i = 1 , п0, j = 1 , пр. Аналогично, элемент матрицы r{jut = 1 (r{jut = 0) указывает, что j-й параметр является (не является) выходным для i-й операции.

Связь между модулями и операциями представлена булевой матрицей R размерности пт х п0. Элемент матрицы fy = 1 (fy = 0) определяет, что i-й модуль реализует (не реализует) j-ю операцию, i = 1, пт, j = 1 , п0. Эта связь имеет тип «один-ко-многим». Поэтому на нее накладывается следующее ограничение целостности:

VjUfjVgj) = 0 fj = Vni™1-íVnk™i+1(rijЛrk]), 3j = A^Jij. (2)

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

Связь между ресурсами и модулями представлена булевой матрицей R размерности пп хпт. Элемент матрицы fy = 1 (fy = 0) определяет, что j-й модуль может быть выполнен на i-м ресурсе, i = 1, пп, j = 1 , пт. Эта связь имеет тип «многие-ко-многим». Она означает, что один модуль может выполняться на разных ресурсах. В тоже самое время, несколько разных модулей могут быть размещены на одном и том же ресурсе.

Схема решения задачи. Для представления схемы решения задачи (ярусно-параллельная форма алгоритма решения задачи) будем использовать булеву матрицу S размерности nt х п0, где nt - это число ярусов схемы. Элемент матрицы Sy = 1 (sy = 0) означает, что j-я операция размещена (не размещена) на ¿-м ярусе схемы, i = 1, nt, j = 1 , п0. Матрица U размерности п0 х п0 представляет сведения о предшествовании операций при выполнении схемы S. Элемент и¿j = 1 (uy = 0) означает, что завершение операции Oj предшествует (не предшествует) выполнению операции ot и PAR1" П PAR°ut Ф 0.

Непроцедурная постановка задачи. Схема S строится по непроцедурной постановке задачи NPPF. В рамках такой постановки задачи задаются множество Sin с PAR исходных параметров, значения которых известны, и множество Sout с PAR целевых параметров, значения которых должны быть вычислены. На основе связи между параметрами и операциями требуется определить множество S° с О операций, которые нужно выполнить, чтобы вычислить значения целевых параметров. Таким образом, непроцедурную постановку задачи NPPF можно определить следующим образом:

NPPF: Sin, Sout ^ 5°?, (3)

где символ '?' означает, что соответствующее множество не определено.

Назначение ресурсов. Как было отмечено выше, в данном контексте понятие схемы решения задачи соответствует абстрактному научному рабочему процессу. Назначение ресурсов для выполнения модулей, реализующих операции схемы S, осуществляется в процессе распределения вычислительных заданий с помощью мультиагентной системы (МАС) в рамках тендера вычислительных работ, детально рассмотренного в [29-31]. Таким образом, в результате проведения вышеупомянутого тендера мы получаем номер ресурса j для каждой i-й операции схемы S. На основе данной привязки определяются оценки времени (E^synch), стоимости (Et:ost) и надежности (£J) выполнения операций схемы решения задачи.

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

Пусть матрица D размерности ns х ns отражает оценки размера данных, передаваемых между операциями, ns - число операций схемы. Элемент матрицы dy > 0 показывает размер данных, передаваемых операцией ot операции Oj. Матрица W размерности nsxns представляет пропускную способность интерконекта между ресурсами, на которых будут запущены модули, реализующие операции. Элемент матрицы Wy > 0 показывает пропускную способность интерконекта между ресурсами с модулями, реализующими операции ot и Oj.

»-.asynch

Оценка Es времени выполнения схемы в асинхронном режиме вычисляется по следующей формуле:

r-,asynch т

Es = max^i,

i=1,ns

ej = ef + e?ml + un + e¡es + e\mr + . ^a^ , (e] + edtr),

VjE1,ns:Uij=1,i*j ^ J

d.

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

е\ (е?) - оценка периода времени т с начала выполнения схемы и до завершения операции 01 (О;);

е? >0 - оценка времени ожидания модуля, реализующего операцию 01 в очереди локального менеджера ресурсов;

егип >0 - оценка времени выполнения модуля до его успешного завершения или отказа;

е\е!! >0 - оценка времени на рестарт модуля в случае возникновения отказа какого-либо типа;

е\>т1 >о и е[тг >0 - экспериментально определяемые оценки времени, необходимого на запуск и завершение виртуальных машин;

0 < с^Ю <1 - коэффициент уменьшения пропускной способности интерконнекта в момент времени £ между ресурсами, связанными с выполнением операций и о^.

Оценка стоимости выполнения задания. Данная оценка определяется по следующей формуле:

где п1>0 - себестоимость единицы процессорного времени ресурса, п* > 0 - торговая наценка, закладываемая провайдером данного ресурса. В частности, для пользователей

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

Оценка надежности. Получение оценки надежности выполнения схемы решения задачи базируется на использовании методов логико-вероятностного анализа, предложенных И.А. Рябининым применительно к исследованию сложных технических систем [33]. Введем следующие обозначения:

• х - это набор булевых переменных (параметров) х^, отражающих события завершения (хц. = 1) или незавершения (х^. = 0) операции 01 на ¡1 -м ресурсе, ¿61 , п0, ¡1 6 1, пг;

• Уь - булева функция, определяющая надежность выполнения i-й операции на -м ресурсе;

• - вероятность выполнения операции 01 на -м ресурсе в момент времени £ (стационарный коэффициент готовности, характеризующий у'£ -й ресурс в произвольный момент времени £ по статистическим результатам его работы).

Функция у^ определяется следующей формулой:

{х^., если 3 к:щк = 1, I Ф к, к 6 1, п0,

х^ Л 21, в противном случае, (4)

= ^А/к:Ш1к=1,1фкУк.

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

Чз = Ли5ц=1Х1к, I61, Щ, (5)

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

РЮ = П1::5и=1Рц() (6)

с помощью соответствующих правил преобразования [34]. Функция (6) вычисляет вероятность (оценку надежности выполнения схемы 5 без резервирования ресурсов в момент времени £ в процессе планирования. Определение вероятности выполнения схемы 5 с резервированием ресурсов рассмотрено в [34]. Однако резервирование зачастую приводит к снижению эффективности использования ресурсов. Поэтому в данной работе предложен подход к определению вероятности выполнения схемы 5 без резервирования дополнительных ресурсов.

Избыточность. В модели (1) может наблюдаться избыточность относительно вычисления одних и тех же параметров разными операциями, т.е. могут существовать такие i и ], что РАЯ°иЬ пРАЩиЬ Ф 0, 1,]б1, щ. Поэтому схема 5 в общем случае может содержать несколько альтернативных сценариев решения задачи.

Модель (1) не имеет избыточности относительно вычисления одних и тех же параметров разными операциями, если выполняется следующее условие:

У?=1(Г]ЧЗ]) = 0, Г, = Ч^^иЛгГ Лг°к?\ В} = . (7)

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

0, 16 1,п0, у 6 1,пр:г1°иЬ = 0,

рги = {] _ __(8)

1 { -;, VI 6 1, п0, ] 6 1, п^г^ = 1.

и

Очевидно, что чем меньше номер операции i, тем больше ее приоритет относительно j-го параметра в (8). Формируемая таким образом вещественная матрица приоритетов РИ может быть изменена в дальнейшем разработчиком или конечным пользователем пакета вручную путем изменения мест параметров и операций в соответствующих списках параметров и операций. Такие изменения осуществляются с учетом экспертного опыта разработчиков и конечных пользователей пакета, обладающих алгоритмическими и схемными знаниями относительно операций пакета.

Новая непроцедурная постановка задачи. Для устранения избыточности мы используем следующую новую постановку задачи:

МРРР':51п,5ои1,РНА,РНь, ^ Б0?, (9)

гдеii,)2,-,h £ 1 , пр.

При планировании на основе такой постановки задачи в модели (1) остаются операции, для которых выполняются условия = 1, rff = 0, где ik = argmmaxpr^, ik £ 1,п0, jk £ 1,пр,

____V=1, I PRk\

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

i = 1, n0, i Ф ik, к = 1,1, I - число параметров, значения которых вычисляются разными операциями.

Эти операции имеют наивысшие приоритеты относительно параметров раг^,раг^,... ,раг^ £ PAR. При этом остальные операции с меньшими приоритетами становятся недопустимыми и временно скрываются в модели (1) в процессе планирования. Тем самым матрицы Sin и Sout специализируются в соответствии с постановкой задачи. Таким образом, обеспечивается выполнение условия (7) и построение схемы с единственным сценарием решения задачи по ее постановке (9).

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

В целом модель (1) является развитием вычислительной модели, представленной в [35]. 4. Алгоритмы планирования вычислений

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

Псевдокод алгоритма A1(0,Sin,Sout,no ^ S,nl) построения схемы c несколькими альтернативными сценариями решения задачи по ее постановке (3) представлен на рис. 1. Предполагается, что для каждой j-й операции из О известны PAR™ и PAR°ut. Булевы переменные Cf и Af используются в качестве флагов. Флаг Cf = 1 (Cf = 0) означает, что схема решения задачи построена (не построена). Флаг Af = 1 (Af = 0) означает, что на очередной итерации планирования, хотя бы одна операция была включена (ни одна операция не была включена) в схему.

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

В общем случае в результате выполнения алгоритма А1 на модели (1), для которой условие (7) не выполняется, мы получим схему с несколькими сценариями решения задачи, которая может также включать ненужные вычисления. С целью обеспечения возможности редукции ненужных вычислений разработан алгоритм A2(0,S,Sout,п0,щ ^ S), псевдокод которого показан на рис. 2. Предполагается, что для каждой j-й операции из О известны PAR1™ и PAR°ut. 130

В процессе работы алгоритма А2 на каждом уровне схемы для каждой ^й операции происходит проверка вычисления ею значений параметров из целевого множества Б°и1:*. Если проверка выполняется, то вспомогательное множество Б1П* объединяется со множеством Р-п входных параметров операции. В противном случае, операция удаляется из схемы решения задачи. После проверки всех операций /'-го уровня схемы объединяется с Б1П* VI > 1.

1 // Инициализация вспомогательных переменных

2 О* = О; Sin* = Sin; Sout* = 0;

3 i = 1;

4 for j = 1..C step 1 do

5 Sij = 0;

6 end do

7 Cf = 0; Af = 0;

8 // Проверка возможности включения операций в схему

9 for j = 1..n0 step 1 do

10 if (о* = 1) A (PAR™ = 0ч PARjn £ Sin*) then

11 Sij = 1; Af = 1; Sout* = Sout* U PAR°ut; o* = 0;

12 end if

13 end do

14 // Проверка достижения целевого множества параметров

15 Sin* = Sin* U Sout*;

16 if Sout £Sin* then

17 // Задача разрешима

18 Cf = 1;

19 end if

20 // Проверка разрешимости задачи для очередной итерации планирования

21 if AfVCf = 0 then

22 // Задача неразрешима

23 return NULL;

24 else

25 if AfVCf = 0 then 2 6 // Схема построена

27 щ = i;

28 return <S,ni >;

29 else

30 // Подготовка данных для очередной итерации планирования

31 SOUt* = 0;

32 i = i + 1;

33 for j = 1..n0 step 1 do

34 st]=0;

35 end do

36 Af = 0;

37 // Переход на очередную итерацию планирования

38 goto 9;

39 end if

40 end if

Рис. 1. Псевдокод алгоритма A1 Fig. 1. Pseudocode of the algorithm A1 На заключительной стадии осуществляется удаление всех i-х строк матрицы S, для которых выполняется условие У"^ s^ = 0, щ = щ— п0, где п0 - это число удаленных строк. Удаление строк выполняется с помощью вспомогательной подпрограммы Delete_rowsQ. Алгоритм A2 имеет вычислительную сложность 0(щ х п0).

1 // Инициализация переменных

2 Sin* = 0; S0Ut*=S0Ut;

3 // Редукция ненужных вычислений

4 for i=nt..1 step —1 do

5 for j = 1.. n0 do

6 if Sy = 1 step 1 then

7 if PAR°ut П Sout* Ф 0 then

8 Sln* = Sln* U PAR™;

9 else

10 slj = 0;

11 end if

12 end if

13 end do

14 if i> 1 then

15 £OUt* = £OUt* U • £in* = 0 .

16 end if

17 end do

18 // Удаление i-й строки матрицы S: = 0

19 Delete_rows(S,nl ^ S,nl);

20 return S;

Рис. 2. Псевдокод алгоритма A2 Fig. 2. Pseudocode of the algorithm A2

1 // Инициализация вспомогательных переменных

2 О* = О;

3 // Специализация множества О*

4 for k = 1..l step 1 do

5 ik = argmax pr^;

V=l,\PRk\

6 for i = 1..n0 step 1 do

7 if (rffi = 1)^[Ф ik) then

8 o* =0;

9 end if

10 end do

11 end do

12 // Специализация множеств Rln и Rout

13 Specialize(0*,Rln,Rout ^Rln,R0Ut);

14 // Применение алгоритма A1

15 A1(0*,Sin,Sout,no^S,nl);

16 if S Ф NULL then

17 // Схема построена. Применение алгоритма А2

18 A2(0*,S,Sout,no,nl^S);

19 return S;

20 end if

21 // Задача неразрешима

22 return NULL;

Рис. 3. Псевдокод алгоритма А3 Fig. 3. Pseudocode of the algorithm A3

Для построения схемы с единственным сценарием решения задачи разработан алгоритм Л3 (0,Rin, Rout, Sin, Sout, n0, PRh,PRh,..., PRh, I ^ S, щ). Его псевдокод приведен на рис. 3.

После инициализации вспомогательного множества О* осуществляется его специализация в соответствии с заданными приоритетами операций. Затем специализируются множества Rin и Rout входных и выходных параметров операций с помощью вспомогательной подпрограммы Specialize (). Применяется алгоритм А1. Если схема S построена, то после применения алгоритма А2 алгоритм А3 завершает свою работу. В противном случае задача неразрешима. Разработчик или конечный пользователь РППП могут изменить условия постановки задачи (Sin,S°ut, PRj^PR^,..., PRj) и вновь запустить процесс планирования. Алгоритм А3 имеет вычислительную сложность O(n0 х max{Z, щ}).

5. Пример

В данном разделе мы демонстрируем аспекты планирования вычисления на простом модельном примере. Пусть множества PR, О и М модели (1) заданы следующим образом: PR = {рг1,рг2,ргз,рг4,рг5,рг6}, О = {01,02,0з,04,05,06,07}, М = {т1,т2,тз,т4,т5,т6}. Мы специфицируем операцию следующим образом:

орегаИоп_пате(а set of inputs ^ a set of ouputs ). Таким образом, операции имеют следующие спецификации: o^^ip^ ^ рт2), o2(pr2 ^ рг3), Оз(рг2 ^ ргз), o4(pr2 ^ ргз), о5(ргз ^ pr4), o6(pr4 ^ pr5), 07(pr2 ^ рг6). Операции 02,03 и о4 вычисляют значение одного и того же параметра рг3. Для этих операций автоматически формируется множество PR3 = {1.50,1.00,0.75} их приоритетов относительно параметра рг3. Очевидно, что в модели имеется вычислительная избыточность. Модуль т2 реализует две операции о2 и о7. На практике, это распространенная ситуация, когда в зависимости от качества или структуры значения параметра над ним выполняются концептуально разные операции, реализуемые одной и той же программой. В этом случае, с концептуальной точки зрения, значения выходных параметров могут иметь разный смысл.

Связи между объектами вышеупомянутых множеств представлены матрицами Rin, Rout, УиД:

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

1 0 0 0 0 0 0 1 0 0 0 0 010000 0010 00 010000 0010 00 Rin = 01 0 0 0 0, Rout = 001 0 0 0 , U = 001000 000100 000100 0000 10 01000 0] [0 0 0 0 0 1 Рассмотрим случай постановки задачи

NPPF\Sin,S0Ut ^ S0?

где Sin = {prj и Sout = {pr4}.

Стадии планирования вычислений и построения схемы S представлены в табл. 1, где п -номер стадии (нулевая стадия - это подготовка исходных структур данных), х - случайное событие применения операции при выполнении схемы, р1(х)-р7(х) - округленные вероятностные оценки включения операций о1-о7 в схему S, Е - показатель неопределенности процесса планирования, представленный информационной энтропией:

Е = t^1Vi(X)Ei(x),

0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1000 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 [1 0 0 0 0 0 0

R =

100 0 0 00 010 0 001 0010 000 0001000 000 0 100 0 0 0 0 0 1 0J

Ei(x) ={_

0, ifpi(x) = 0,

Iog2pi(x) otherwise,

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

133

алгоритмом A1. Стадии 5-8 выполняются в рамках метода обратной волны, реализуемого алгоритмом А2. На заключительной стадии работы алгоритма А2 удаляются все строки матрицы S, все элементы которых равны 0.

Табл. 1. Планирование на основе NPPF:Sln,S0Ut ^ S0? Table 1. Planning on the base of NPPF: Sln,S0Ut ^ S0?

n S s° Pi P2 Рз p4 Ps Рб P7 E

0 [0 0 0 0 0 0 0] 0 0.14 0.14 0.14 0.14 0.14 0.14 0.14 2.81

1 [1 0 0 0 0 0 0] 0.14 0.14 0.14 0.14 0.14 0.14 0.14 2.78

2 1 0 0 0 0 0 0 0 111 0 0 1 {01,02,0-3,04,07} 0.14 0.14 0.14 0.14 0.14 0.14 0.14 2.78

3 1 0 0 0 0 0 0 0 111 0 0 1 Ш 0 0 0 1 0 0J {01,02,03,04,05,07} 0.14 0.14 0.14 0.14 0.14 0.14 0.14 2.78

r1 0 0 0 0 0 01

4 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 {Oi, 02,03,04,05, 06,07} 0.14 0.14 0.14 0.14 0.14 0.14 0.14 2.78

r1 0 0 0 0 0 01

5 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 {оъ 02,03,04,05,07} 0.16 0.16 0.16 0.16 0.16 - 0.16 2.54

r1 0 0 0 0 0 01

6 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 {Oi, 02,03,04,05,07} 0.20 0.20 0.20 0.20 + - 0.20 2.32

r1 0 0 0 0 0 01

7 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 {Oi, 02,03,04,05} 0.25 0.25 0.25 0.25 + - - 2.00

8 1 0 0 0 0 0 0 0 111 0 0 0 0 0 0 0 1 0 0 {Oi, 02,03,04,05} + 0.33 0.33 0.33 + - - 1.58

В табл. 1 символы '+' и '-' означают соответственно включение операции в схему и ее исключение из кандидатов на включение. В результате построена схема с тремя сценариями решения задачи, определяемыми применением альтернативных операций о2, о3 или о4. Поэтому в схеме остается неопределенность, которая устраняется в дальнейшем в рамках тендера вычислительных работ. Теперь рассмотрим случай постановки задачи

NPPF:Sin,S0Ut,PR3

Стадии планирования вычислений и построения схемы S представлены в табл. 2. Схема S строится с помощью алгоритма А3. В рамках нулевой стадии происходит специализация множества О. Затем из алгоритма А3 вызываются алгоритмы А1 и А2, которые соответственно реализуют методы прямой и обратной волн (этапы 1-4 и 5-8). В результате построена схема с единственным сценарием решения задачи. В этом случае неопределенность полностью устранена.

Табл. 2. Планирование на основе NPPF:Sln,S0Ut,PR3 ^ S0? Table 2. Planning on the base of NPPF: Sln,S0Ut,PR3 ^ S0?

n S S0 Pi P2 P3 P4 P5 Pe P7 E

0 [0 0 0 0 0 0 0] 0 0.20 0.20 - - 0.20 0.20 0.20 2.32

1 [1 0 0 0 0 0 0] {01} 0.20 0.20 - - 0.20 0.20 0.20 2.32

2 1 0 0 0 0 0 0 0 1 0 0 0 0 1 {01,02,07} 0.20 0.20 - - 0.20 0.20 0.20 2.32

г1 0 0 0 0 0 01

3 0 1 0 0 0 0 1 {01,02,05,07} 0.20 0.20 - - 0.20 0.20 0.20 2.32

1-0 0 0 0 1 0 0J

г1 0 0 0 0 0 0

4 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 {Oi, 02,05,0^,07} 0.20 0.20 - - 0.20 0.20 0.20 2.32

г1 0 0 0 0 0 0

5 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 {ои02,05,07} 0.25 0.25 - - 0.25 - 0.25 2.00

г1 0 0 0 0 0 0

6 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 {ои02,05,07} 0.33 0.33 - - + - 0.33 1.58

г1 0 0 0 0 0 0

7 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 {0i,02,05} 1.00 + - - + - - 0.00

г1 0 0 0 0 0 01

8 0 1 0 0 0 0 0 Ш 0 0 0 1 0 0J {0i,02,05} + + - - + - - -

6. Повышение надежности вычислений путем применения схемы с несколькими сценариями решения задач

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

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

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

• Os £ о - множество операций схемы S;

• Ое с Os - множество операций, которые выполнены, пе = 10е1 - число таких операций;

• Ои = Os\Oe - множество операций, выполняющихся или ожидающих своего запуска, пи = Юе1 - число таких операций.

Схема Sr, включающая операции из Ои, является остаточной схемой решения задачи. S™ =

Sín 11(11^! p°kut) и S?ut = Sout n (smu(u)^i1 p^)) - это множества ее входных и выходных параметров, где ik Е l,ng.oik Е Ое. Множество S™ включает промежуточные результаты вычислений.

Для определения остаточной схемы Sr мы используем понятие, введенное А.П. Ершовым [36]. Как правило, остаточная схема может включать несколько сценариев решения проблемы. Мы можем редуцировать схему, удалив избыточные операции относительно операции с выбранным приоритетом. Схемы, полученные таким образом для разных приоритетов операций, являются эквивалентными.

Будем считать, что две схемы и S% являются эквивалентными, если они удовлетворяют следующему условию:

sr £ (s^uiuliiP^)) n (si^uMiiP^)),

где ОЦ Ф 02, Ol, 02 £ Os, 0ik 6 ОЦ, 0к 6 0]2, Sirn1,S!rri2 £ Sin, n1 (п2) - это число операций в множестве Ol (Os2), 0 < к, I < пи.

Таким образом, в отличие от [37], в рамках управления распределенными вычислениями мы переходим от конкретных модулей к абстрактным операциям, используя приоритеты. Кроме того, мы уточняем логику принятия решения при выборе сценария дальнейшего решения задачи (рис. 4).

Рис. 4. Блок-схема выбора сценария Fig. 4. Block diagram for selecting a scenario На этой блок-схеме идентифицируется отказ. Если прерванная операция предыдущего сценария решения задачи не может быть выполнена, то выбирается сценарий с альтернативной операцией с наивысшим приоритетом.

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

Мы сравниваем несколько ключевых характеристик МАС в отношении отказоустойчивости при выполнении схемы решения задачи с двумя традиционными метапланировщиками Condor DAGMan и GridWay. Среди них - поддержка отказоустойчивости в случае отказа ресурсов, системы и прикладного программного обеспечения, а также средняя продолжительность перезапуска. Мы моделируем выполнение потоков заданий, сгенерированных с использованием истории вычислений реальных потоков заданий для широкого спектра практических задач [38]. Мы используем имитационную модель гетерогенной распределенной вычислительной среды [39]. Она была адаптирована к модели (1).

Результаты сравнения представлены в табл. 3. Эксперименты показали, что все сравниваемые системы успешно устраняют проблемы в случае отказов ресурсов или системы. Процент не устраненных отказов этих типов очень низок.

Табл. 3. Результаты сравнения Table 3. Comparison results

Метаплани-ровщик / Meta-scheduler Поддержка отказоустойчивости при отказе ресурса / Fault-tolerance support in case of resource failure Поддержка отказоустойчивости при отказе системы / Fault-tolerance support in case of system failure Поддержка отказоустойчивости при отказе прикладного ПО / Fault-tolerance support in case of applied software failure Средняя продолжительность перезапуска, сек. / Average restart makespan, s

Condor DAGMAn +/- +/- - 8.05

GridWay +/- +/- - 8.11

МАС +/- +/- +/- 6.23

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

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

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

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

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

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

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

[1] Casanova H., Legrand A. et al. Heuristics for scheduling parameter sweep applications in grid environments. In Proc. of the 9th Heterogeneous Computing Workshop, 2000, pp. 349-363.

[2] Casavant T.L., Kuhl J.G. A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems. IEEE Transactions on Software Engineering, vol. 14, issue 2, 1988, pp. 141-154.

[3] Черных А.Н., Бычков И.В. и др. Смягчение неопределенности при разработке научных приложений в интегрированной среде. Труды ИСП РАН, том 33, вып. 1, 2021 г., стр. 151-171 / Tchernykh A., Bychkov I.V. et al. Mitigating Uncertainty in Developing Scientific Applications in Integrated Environment. Trudy ISP RAN/Proc. ISP RAS, vol. 33, issue 1, 2021, pp. 151-172 (in Russian). DOI: 10.15514/ISPRAS-2021-33(1)-11.

[4] Feoktistov A., Gorsky S. et al. Collaborative Development and Use of Scientific Applications in Orlando Tools: Integration, Delivery, and Deployment. Communications in Computer and Information Science, vol. 1087, 2020, pp. 18-32.

[5] Cardoso J, Sheth A. Semantic E-Workflow Composition. Journal of Intelligent Information Systems, vol. 21, issue 3, 2003, pp.191-225.

[6] Mineau G.W., Missaoui R., Godinx R. Conceptual modeling for data and knowledge management. Data & Knowledge Engineering, vol. 33, issue 2, 2000, pp. 137-168.

[7] Yu J., Buyya R. A taxonomy of workflow management systems for grid computing. Journal of Grid computing, vol. 3, issue 3-4, 2005, pp. 171-200.

[8] Fahringer T., Prodan R. et al. ASKALON: a Grid application development and computing environment. In Proc. of The 6th IEEE/ACM International Workshop on Grid Computing, 2005, pp. 1-10.

[9] Tschager T., Schmidt H.A. Condor, DAGwoman: enabling DAGMan-like workflows on non-Condor platforms. In Proc. of the 1st ACM SIGMOD Workshop on Scalable Workflow Execution Engines and Technologies, 2012, article no. 3, pp. 1-6.

[10] Amin K., Laszewski G. et al. GridAnt: a client-controllable grid workflow system. In. Proc. of the 37th Annual Hawaii International Conference on System Science, 2004, pp. 1-10.

[11] Carrion I.M., Huedo E., Llorente I.M. Interoperating Grid infrastructures with the GridWay metascheduler. Concurrency Computation, vol. 27, issue. 9, 2015, pp. 2278-2290.

[12] Barseghian D., Altintas I. et al. Workflows and extensions to the Kepler scientific workflow system to support environmental sensor data access and analysis. Ecological Informatics, vol. 5, issue 1, 2010, pp. 42-50.

[13] Missier P., Soiland-Reyes S. et al. Taverna, Reloaded. Lecture Notes in Computer Science, vol. 6187, 2010, pp. 471-481.

[14] Vahi K., Harvey I. et al. A General Approach to Real-Time Workflow Monitoring. In Proc. of the 2012 SC Companion: High Performance Computing, Networking Storage and Analysis, 2012, pp. 108-118.

[15] Benedyczak K., Bala P. et al. Key aspects of the UNICORE 6 security model. Future Generation Computer Systems, vol. 27, issue 2, 2011, pp. 195-201.

[16] Extensible Markup Language (XML). Available at: https://www.w3.org/XML, accessed 13.07.2021.

[17] XML Process Definition Language. Available at: https://www.w3.org/TR/xmlschema-0, accessed 13.07.2021.

[18] Guizania K., Ghannouchia S.A. An approach for selecting a business process modeling language that best meets the requirements of a modeler. Procedia Computer Science, vol. 181, 2021, pp. 843-851.

[19] Mo'Minov B.B., Eshankulov, K. Modelling Asynchronous Parallel Process with Petri Net. International Journal of Engineering Advanced Technology, vol. 8, issue 5S3, 2019, pp. 400-405.

[20] Unified Modeling Language (UML) Diagrams. Available at: https://www.uml.org, accessed 13.07.2021.

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

[21] Deelman E., Vahi K. et al. Pegasus, a workflow management system for science automation. Future Generation Computer Systems, vol. 46, 2015, pp. 17-35.

[22] Blythe J., Deelman E. et al. The Role of Planning in Grid Computing. In Proc. Of the Thirteenth International Conference on Automated Planning and Scheduling, 2003, pp. 153-163.

[23] Matskin M., Tyugu E. Strategies of structural synthesis of programs and its extensions. Computing and Informatics, vol. 20, issue 1, 2001, pp. 1-26.

[24] Опарин Г.А., Новопашин А.П. Булевы модели и методы планирования параллельных абстрактных программ. Автоматика и телемеханика, вып. 8, 2008 г., стр. 166-175 / Oparin G.A., Novopashin A.P. Boolean models and planning methods for parallel abstract programs. Automation and Remote Control, vol. 69, no. 8, 2008, pp. 1423-1432.

[25] Новосельцев В.Б. Синтез параллельных рекурсивных программ в структурных функциональных моделях. Программирование, том 33, вып. 5, 2007 г., стр. 75-81 / Novoseltsev V.B. Synthesis of parallel recursive programs in structural functional models. Programming and Computer Software, vol. 33, no. 5, pp. 293-298.

[26] Malyshkin V.E., Perepelkin V.A. LuNA fragmented programming system, main functions and peculiarities of run-time subsystem. Lecture Notes in Computer Science, vol. 6873, 2011, pp. 53-61.

[27] Вальковский В.А., Малышкин В.Э. Синтез параллельных программ и систем на вычислительных моделях. Наука. Сибирское отделение, 1988 г., 128 стр. / Valkovsky V.A., Malyshkin V.E. Synthesis of parallel programs and systems on computational models. Nauka. Siberian branch, 1988, 128 p. (in Russian).

[28] Gorsky S., Kostromin R. et al. Orlando Tools: Supporting High-performance Computing in Distributed Environments. In Proc. of the 6th International Conference on Information Technology and Nanotechnology, 2020, pp. 1-6.

[29] Feoktistov A., Tchernych A. et al. Knowledge Elicitation in Multi-Agent System for Distributed Computing Management. In Proc. of the 40th International Convention on information and communication technology, electronics and microelectronics, 2017, pp. 1350-1355.

[30] Bychkov I., Feoktistov A. et al. Machine Learning in a Multi-Agent System for Distributed Computing Management. In Proc. of the International Conference Information Technology and Nanotechnology. Session Data Science, CEUR-WS Proceedings, vol. 2212, 2018, pp. 89-97.

[31] Feoktistov A., Kostromin R., Tchernykh A. Agent Behavior Model for Distributed Computing Management in the Environment with Virtualized Resources. In Proc. of the 41 st International Convention on information and communication technology, electronics and microelectronics, 2018, pp. 1153-1158.

[32] Feoktistov A.G., Basharina O.Yu. Predicting runtime of computational jobs in distributed computing environment. In Proc. of the 2nd International Workshop on Information, Computation, and Control Systems for Distributed Environments, CEUR-WS Proceedings, 2020, vol. 2638, pp. 109-117.

[33] Ryabinin I.A. Logical probabilistic analysis and its history. International Journal of Risk Assessment and Management, vol. 18, issue 3-4, 2015, pp. 256-265.

[34] Feoktistov A.G., Sidorov I.A. Logical-Probabilistic Analysis of Distributed Computing Reliability. In Proc. of the 39th International Convention on information and communication technology, electronics and microelectronics, 2016, pp. 247-252.

[35] Bychkov I., Oparin G. et al. Conceptual Model of Problem-Oriented Heterogeneous Distributed Computing Environment with Multi-Agent Management. Procedia Computer Science, vol. 103, 2017, pp. 162-167.

[36] Ershov A.P. On Mixed Computation: Informal Account of the Strict and Polyvariant Computation Schemes. In Control Flow and Data Flow: Concepts of Distributed Programming. Springer Study Edition, vol. 14, 1985, pp. 107-120.

[37] Feoktistov A., Kostromin R. et al. Multi-Agent Algorithm for Re-Allocating Grid-Resources and Improving Fault-Tolerance of Problem-Solving Processes. Procedia Computer Science, 2019, vol. 150, pp. 171-178.

[38] Tchernykh A., Feoktistov A. et al. Orlando Tools: Development, Training, and Use of Scalable Applications in Heterogeneous Distributed Computing Environments. Communications in Computer and Information Science, vol. 979, 2019, pp. 265-279.

[39] Bychkov I.V., Oparin G.A. et al. Multiagent control of computational systems on the basis of metamonitoring and imitational simulation. Optoelectronics, Instrumentation and Data Processing, vol. 52, issue 2, 2016, pp. 107-112.

Информация об авторах / Information about authors

Александр Геннадьевич ФЕОКТИСТОВ - кандидат технических наук, доцент, заведующий лабораторией параллельных и распределенных вычислительных систем. Области исследования: распределенные пакеты программ, мультиагентные технологии, имитационное моделирование, складская логистика.

Alexander Gennadevich FEOKTISTOV - Ph.D., Associate Professor, Head of the Laboratory of Parallel and Distributed Computing Systems. Fields of research: distributed software packages, multi-agent technologies, simulation modeling and warehouse logistics

Роман Олегович КОСТРОМИН - кандидат технических наук, младший научный сотрудник. Область исследования: мультиагентные средства управления распределенными вычислениями.

Roman Olegovich KOSTROMIN - Ph.D., Junior Researcher. Field of research: multi-agent tools for distributed computing management.

Сергей Алексеевич ГОРСКИИ - кандидат технических наук, старший научный сотрудник. Сфера научных интересов: параллельные и распределенные вычисления, математическое моделирование и сервис-ориентированное программирование.

Sergei Alexeevich GORSKY - Ph.D., Senior Researcher. Research interests: parallel and distributed computing, mathematical modeling, and service-oriented programming.

Игорь Вячеславович БЫЧКОВ - академик РАН, доктор технических наук, профессор, директор Института динамики систем и теории управления им. В.М. Матросова СО РАН. Области исследования: искусственный интеллект, геоинформационные системы, веб-технологии, математическое моделирование и облачные вычисления. Igor Vyacheslavovich BYCHKOV - Academician of RAS, Ph.D., Professor, Director of the Matrosov Institute for System Dynamics and Control Theory of SB RAS. Fields of research: artificial intelligence, geoinformation systems, web-technologies, mathematical modeling, and cloud computing.

Андрей Николаевич ЧЕРНЫХ получил степень кандидата наук в Институте точной механики и вычислительной техники РАН. Он является профессором Центра научных исследований и высшего образования в Энсенаде, Нижняя Калифорния, Мексика. В научном плане его интересуют многоцелевая оптимизация распределения ресурсов в облачной среде, проблемы безопасности, планирования, эвристики и метаэвристики, интернет вещей и т.д. Andrei Nikolaevitch TCHERNYKH received his PhD degree at the Institute of Precision Mechanics and Computer Engineering of the Russian Academy of Sciences. He is holding a full professor position in computer science at CICESE Research Center, Ensenada, Baja California, Mexico. He is interesting in grid and cloud research addressing multiobjective resource optimization, both, theoretical and experimental, security, uncertainty, scheduling, heuristics and meta-heuristics, adaptive resource allocation, and Internet of Things.

Ольга Юрьевна БАШАРИНА - кандидат технических наук, доцент, научный сотрудник ИДСТУ СО РАН, доцент Иркутского государственного университета, Сфера научных интересов: исследование операций, имитационное моделирование и распределенные вычисления.

Olga Yurevna BASHARINA - Ph.D., Research Officer of ISDCT SB RAS, Associate Professor of the Irkutsk State University. Research interests: operations research, simulation modeling and distributed computing.

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