СПОСОБ ДЕЦЕНТРАЛИЗОВАННОГО УПРАВЛЕНИЯ ПРОЦЕССОМ РАСПРЕДЕЛЕННОГО МОДЕЛИРОВАНИЯ И ОБРАБОТКИ ДАННЫХ
METHOD OF DECENTRALISED CONTROL OF PROCESS OF DISTRIBUTED MODELLING AND DATA PROCESSING

Область техники, к которой относится изобретение
Предлагаемый способ децентрализованного управления процессом распределенного моделирования и обработки данных относится к вычислительной технике и может использоваться, в частности, в распределенных вычислительных системах. Он предназначен для организации управления взаимодействием множества клиентских, демонстрационных, комментаторских, издательских модулей в процессе подготовки, проведения, демонстрации, комментирования процессов моделирования и обработки данных.
Уровень техники
Известен способ, реализованный в системе распределенной обработки данных с распределенным управлением (патент РФ №2231113, 7 G06F 15/16), заключающийся в том, что при инициализации процесса моделирования управляющий блок информационной подсистемы интерпретирует запрос на моделирование, определяет, какие системы компьютерного моделирования модулей прикладных программ требуется использовать, передает исходные данные в требуемые модули прикладных программ с использованием модуля связи, а затем работа модулей прикладных программ выполняется асинхронно и не зависит от функционирования информационного модуля, чем реализуется распределенное управление процессом моделирования. Модули прикладных программ в соответствии с алгоритмом работы системы компьютерного моделирования формируют результаты моделирования, результаты в виде отчетов сохраняются в базе данных; после получения результатов моделирования от всех модулей прикладных программ все результаты передаются в блок формирования отчета информационного модуля через модуль связи, где формируется обобщенный отчет о распределенном моделировании. Этот способ принят за прототип.
Указанный способ имеет следующие недостатки.
1) Процесс распределенного моделирования невозможно завершить корректно при выходе из строя блока формирования отчета информационного модуля или одного и более модулей прикладных программ.
2) Выполнение процесса распределенного моделирования возможно только при исправно функционирующем блоке управления, положение которого жестко привязано к конкретной ЭВМ.
Задача, решаемая изобретением, заключается в повышении надежности и отказоустойчивости системы распределенного моделирования.
Раскрытие изобретения
Сущность изобретения заключается в том, что с помощью программно-технических средств через сеть вводят пользовательскую информацию в информационный модуль, назначают этот модуль главным, запускают в нем управляющий процесс, формируют задачу обработки данных или процесса моделирования, разбивают задачу на подзадачи, определяют информационные и аналитические модули, которые будут обрабатывать информацию в соответствии с подзадачами, организуют процесс обработки данных или моделирования, контролируют процесс обработки данных или моделирования, выявляют события отказа информационных и аналитических модулей, корректируют процесс обработки данных или моделирования или повторяют отдельные их этапы, выявляют события отказа управляющего процесса, выбирают новый главный модуль, запускают в нем управляющий процесс, передают ему текущие параметры процесса обработки данных или моделирования, продолжают контроль процесса обработки данных или моделирования до их завершения, формируют отчет о результатах процесса обработки данных или моделирования и передают результаты пользователям.
На фиг.1 приведена структурная схема способа децентрализованного управления распределенной обработкой данных или распределенным моделированием, где обозначены:
1 - модуль организации вычислений (моделирования);
1.1 - блок приема запроса;
1.2 - блок формирования и модификации схемы выполнения задачи обработки данных или моделирования;
1.3 - блок опроса ЭВМ;
1.4 - блок распределения подзадач;
1.5 - блок формирования отчета;
1.6 - блок передачи отчета;
1.7 - база данных схемы выполнения задачи обработки данных или моделирования;
2 - модуль обработки данных или моделирования;
2.1 - блок инициализации включения в процесс обработки данных или моделирования;
2.2 - блок оценки собственной нагрузки;
2.3 - блок формирования и передачи заявки на выполнение подзадачи;
2.4 - блок интерпретации назначения на подзадачу;
2.5 - блок запуска внешнего прикладного процесса;
3 - модуль взаимодействия с агентами;
3.1 - блок посылки флагов;
3.2 - блок приема и интерпретации флагов;
3.3 - блок определения полномочий;
3.4 - блок ведения диалога;
4 - модуль связи.
На фиг.2, 3 приведены соответственно алгоритм распределения запроса на обработку данных или моделирование и алгоритм выбора модуля организации вычислений (моделирования) из множества модулей обработки данных или моделирования.
Пример управления процессом обработки данных или моделирования.
Функционирование начинается, когда пользователь запускает в системе процесс обработки данных или моделирования. Запрос на обработку данных или моделирование в виде пакета через модуль связи 4 передают на произвольную ЭВМ системы в блок приема запроса 1.1. Эту ЭВМ далее определяют как главную для выполнения запроса на обработку данных или моделирование. Из блока приема запроса 1.1 запрос передают блоку формирования и модификации схемы выполнения задачи обработки данных или моделирования 1.2 и оповещают пользователя о том, что его запрос принят к выполнению. В блоке формирования и модификации схемы выполнения задачи обработки данных или моделирования производят разбор поступившего пакета и формирование схемы выполнения задачи обработки данных или моделирования в виде набора подзадач или инструкций по моделированию с исходными данными и схемы формирования конечного результата обработки данных или моделирования по результатам решений частных подзадач. Сформированную схему выполнения задачи обработки данных или моделирования заносят в базу данных схемы выполнения обработки данных или моделирования 1.7, при этом поля результатов решения частных подзадач записей базы данных 1.7 оставляют незаполненными. Через блок приема запроса 1.1 и модуль связи 4 оповещают пользователя о том, что выполнение его запроса началось. Из блока формирования и модификации схемы выполнения задачи обработки данных или моделирования 1.2 в блок распределения подзадач 1.4 передают сигнал оповещения о том, что в базе данных 1.7 появились не распределенные на выполнение подзадачи. С помощью блока распределения подзадач 1.4 инициируют процесс распределения подзадач на выполнение рассылкой по сети широковещательных сообщений с описанием вакантных подзадач через блок опроса ЭВМ 1.3.
Сообщения с описанием вакантных подзадач поступают в блоки инициализации включения в процесс обработки данных или моделирования 2.1 всех работоспособных ЭВМ сети. На основе описания вакантной подзадачи, с учетом результатов работы блока оценки собственной нагрузки 2.2, в блоке формирования и передачи заявки на выполнение подзадачи 2.3 формируют ответ на сообщение с описанием вакантных задач, содержащий имя (адрес) ЭВМ и степень ее загруженности по требуемому в подзадаче ресурсу. Этот ответ через модуль связи 4 и блок 1.3 передают в блок распределения подзадач 1.4 главной ЭВМ.
В течение определенного для конкретной реализации способа управления тайм-аута в блок распределения подзадач 1.4 главной ЭВМ передают ответы блоков 2.3 работоспособных ЭВМ сети и выбирают ЭВМ-исполнителя для каждой вакантной подзадачи из всех работоспособных ЭВМ сети, приславших ответы, по критерию минимальной загруженности. Из главной ЭВМ через блок 1.3 ЭВМ-исполнителю каждой подзадачи через модуль связи 4 и блок инициализации включения в процесс обработки данных или моделирования 2.1 в блок интерпретации назначения на подзадачу 2.4 передают инструкции по обработке данных или моделированию и исходные данные и копию схемы выполнения задачи обработки данных или моделирования заполненными полями приоритета ЭВМ-исполнителей в процессе управления обработкой данных или моделированием (приоритет уменьшается с возрастанием номера ЭВМ-исполнителя в списке исполнителей схемы). Полученную схему выполнения задачи обработки данных или моделирования сохраняют в локальной базе данных 1.7 ЭВМ-исполнителей. В блоке интерпретации назначения на подзадачу 2.4 интерпретируют инструкции выполнения задачи обработки данных или моделирования и инициируют работу блока запуска внешнего прикладного процесса 2.5, который является интерфейсом к конкретному прикладному процессу (системе моделирования) для его запуска, обмена данными с ним и завершения его работы. Подтверждение о начале выполнения подзадачи передают из блока 2.5 через блоки 2.4, 2.1, модуль 4, модуль 1.3 в блок 1.4, в котором заполняют поля таблиц, связанные с информацией об ЭВМ-исполнителе конкретной подзадачи в базе данных схемы выполнения задачи обработки данных или моделирования 1.7. Информацию о занятии ресурса передают из блока 2.4 в блок 2.2 для оценки общей степени загруженности ресурса.
В блоке опроса ЭВМ-организатора 1.3 выполняют периодический опрос ЭВМ-исполнителей, участвующих в выполнения задачи обработки данных или моделирования об их работоспособности посылкой специальных флагов. При этом на основе полученного флага опроса от ЭВМ-организатора выполнения задачи обработки данных или моделирования в блоке приема и интерпретации флагов 3.2 ЭВМ-исполнителя формируют команду блоку посылки флагов 3.1 на посылку флага с подтверждением. В случае неполучения флага подтверждения от блока 3.1 ЭВМ-исполнителя в блоке 1.3 ЭВМ-организатора формируют сигнал оповещения для блока 1.4 о неработоспособности этой ЭВМ-исполнителя. В блоке 1.4 определяют задачу, ЭВМ-исполнитель которой не подтвердил свою работоспособность, как вакантную и выполняют для нее цикл назначения нового исполнителя по алгоритму, описанному выше. Обновленную схему выполнения задачи обработки данных или моделирования из базы 1.7 рассылают ЭВМ-исполнителям. В случае поступления подтверждения работоспособности ЭВМ-исполнителя после выполнения цикла обновления базы 1.7 в блоке 1.4 формируют и через блок 1.3 и модуль 4 передают сигнал оповещения об освобождении от вакансии.
После выполнения частной задачи обработки данных или моделирования результаты через блоки 2.5, 2.4, 2.1 и модуль 4 передают в блок 1.4 и освобождают ресурс на ЭВМ-исполнителе. В блоке 1.4 результат выполнения частной задачи обработки данных или моделирования заносят в схему выполнения задачи обработки данных или моделирования базы данных 1.7, помечают подзадачу как выполненную (не требующую рассмотрения в качестве вакантной ни при каких условиях), создают копии схемы, которые через блок 1.3, модуль 4 передают в блок 2.4 интерпретации назначения на подзадачу ЭВМ-исполнителей, в зависимости от схемы выполнения задачи обработки данных или моделирования определяют как входные данные для решения других подзадач и записывают соответствующие поля базы 1.7. В случае завершения выполнения всех подзадач в блоке 1.4 ЭВМ-организатора формируют для блока 1.2 команду на выполнение завершающих инструкций по обработке пакета пользователя. В блоке 1.2 извлекают из базы данных 1.7 результаты выполнения отдельных подзадач, форматируют их и передают в блок формирования отчета 1.5. В блоке 1.5 формируют итоговый результат обработки данных или моделирования и передают через блок передачи отчета 1.6 и модуль 4 пользователю, после чего освобождают базу 1.7 и процесс управления решением задания пользователя считается завершенным.
Пример восстановления функций ЭВМ-организатора.
В случае выхода из строя ЭВМ-организатора блоки 3.2 ЭВМ-исполнителей не получают вовремя флагов опроса работоспособности. Система управления переходит в фазу выбора нового текущего организатора процесса обработки данных или моделирования. Для этого организуют диалог между ЭВМ-исполнителями. ЭВМ-исполнители ведут диалог блоками ведения диалога 3.4 через модуль 4 с учетом информации, поступающей с блока определения полномочий 3.3.
В блоке 3.3 определяют приоритет ЭВМ на выполнение функций организатора на основе собственного приоритета, приоритетов, сообщаемых другими ЭВМ сети, и времен создания их копий схемы выполнения задачи обработки данных или моделирования. В блоке 3.4 осуществляют формирование управляющих диалоговых сообщений и сигналов оповещения о принятии ЭВМ на себя функций организатора. В результате диалога организатором становится ЭВМ с наиболее поздней версией копии схемы выполнения задачи обработки данных или моделирования и наиболее высоким приоритетом, указанным в этой схеме. Через блок 3.4 оповещают все ЭВМ сети об имени (адресе) новой ЭВМ-организатора и передают команду блоку 1.4 на внесение необходимых изменений в схему обработки данных или моделирования, хранящуюся в базе данных 1.7. Обработка данных или моделирования с новой ЭВМ-организатором продолжается, как описано выше.
Особенностью данного способа управления является возможность его реализации не только в сети ЭВМ, но и в любой другой распределенной системе, решающей широкий круг задач, при возможности реализации в этой системе всех описанных функций управления программными, аппаратными или организационными способами. При этом в системе могут одновременно выполняться произвольное количество процессов вычисления (моделирования), на каждой ЭВМ (или другом объекте распределенной системы) может работать различное количество процессов-организаторов и процессов-исполнителей, количество которых ограничено только возможностями самого объекта.
БИБЛИОГРАФИЧЕСКИЕ ДАННЫЕ
1. Варшавский В.И. Коллективное поведение автоматов. Главная редакция физико-математической литературы изд-ва «Наука», М., 1973 г.
2. Якобовский М.В. Распределенные системы и сети. Учебное пособие. - М.: МГТУ «Станкин», 2000 г.
3. Растригин Л.А. Адаптация сложных систем. Рига: Зинанте. 1981 г.
4. Майкина Э. Алгоритмы оптимизации на сетях и графах. - М.: Мир, 1980 г.
5. Окольнишников В.В. Представление времени в имитационном моделировании. Вычислительные технологии. Том 10, №5, 2005 г.