ISSN 0236-235X (P)
ISSN 2311-2735 (E)
4

09 Сентября 2024

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


Хайтин Е.С. () - , Литвачук О.С. () - , Анисимов И.Е. () -
Ключевое слово:
Ключевое слово:


     

Для автоматизации научных исследований и ответственных технологических процессов применяются двухмашинные комплексы типа управляющего вычислительного комплекса, функционально распределенного, повышенной надежности (УВК ФРН) СМ 1420.21, СМ 1420.22. Данные комплексы обеспечивают круглосуточное надежное функционирование средств ВТ в течение длительного времени с гибкой перестройкой их конфигурации в зависимости от конкретных условий применения и ситуаций, возникающих в процессе управления.

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

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

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

На рисунке представлена структура подсистемы синхронизации, в состав которой входят;

подпрограмма синхронизации и организации контрольных точек в пользовательских задачах (CONTPT);

·         восстановление синхронизации для пользовательских задач (TRN);

·         вывод сообщений подпрограммы CONTPT (PRINT);

·         перевод пользовательской задачи в основной режим (SLI);

·         сброс состояния пользовательской задачи (CLSTAT);

·         оповещение о резервировании (BELL).

При более подробном рассмотрении работы подсистемы синхронизации пользовательских задач видно, что пользовательская задача с контрольными точками запускается в обоих субкомплексах. В основном субкомплексе задача работает в полном объеме, выполняя все функции. В резервном субкомплексе, в зависимости от выбора пользователя, задача находится в состоянии ПРИОСТАНОВА режима блокирования или работает с пропуском критических участков.

 

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

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

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

Контрольную точку определяют:

·         номер;

·         адрес критического участка;

·         адрес пропуска критического участка;

·         допустимое время рассогласования между основной и резервной задачами в этой контрольной точке;

·         количество элементов данных, передаваемых в этой контрольной точке;

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

Второе обращение к подпрограмме CONTPT служит для подтверждения успешного выполнения критического участка (подтверждение контрольной точки).

В резервной ЭВМ задача принимает данные из основной задачи по асинхронному системному прерыванию (AST).

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

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

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

Если резервная задача находится в состоянии ПРИОСТАНОВА, то после выполнения основной задачи ее необходимо завершить вручную; при этом из подпрограммы CONTPT запускается задача CLSTAT. В случае пропуска критических участков цри работе резервной задачи, она синхронизируется с основной , т.е. при выходе на очередную контрольную точку резервная задача проверяет, вышла ли на контрольную точку основная задача. Если нет , то резервная задача ждет сообщения от основной о выходе на контрольную точку. При выходе основной и резервной задач на разные контрольные точки (что не исключается при наличии ветвлений алгоритма) происходит синхронизация резервной задачи с основной.

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

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

Сначала задача TRN запускается в резервном субкомплексе и устанавливает флаг "восстановление резерва", затем запускаются пользовательские задачи, которые переходят в состояние ПРЙОСТАНОВА.

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

Задача TRN переписывает рабочую область основной пользовательской задачи в резервную и снимает задачу с ОСТАНОВА в каждом субкомплексе. Вслед за этим идет передача данных в контрольной точке, и синхронизация восстанавливается. Восстановление резерва по всем задачам происходит автоматически. В случае возникновения ошибки при передаче рабочей области какой-либо задачи возможна повторная попытка восстановления резерва.

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

1.   Отраслевой каталог/ Государственная система промышленных приборов и средств автоматизации.Средства вычислительной техники. Система малых ЭВМ. Управляющие вычислительные комплексы повышенной надежности УВК ФРН (СМ 1420.21, СМ 1420.22). М.: ЦНИИТЭИПРИБОРОСТРОЕНИК, 1986.

2.   Сборник научных трудов. Вопросы создания единых технико-программных комплексов для АСУ ТП. М.: ИНЭУМ, 1987// Плахов Л.М., Хайтин Е.С. , Московский А.Н. Перспективные структуры двухмашинных комплексов повышенной надежности на базе средств СМ ЭВМ. Мильман АЛ., Молодцов А.А., Трилесник Е.Ё., Хайтин Е.С. Структура базового программного обеспечения единого технико-программного комплекса для АСУ ТП атомных электростанций.



http://swsys.ru/index.php?id=1411&lang=.docs&page=article


Perhaps, you might be interested in the following articles of similar topics: