Разработка отказоустойчивой операционной системы реального времени для вычислительных систем с максимальным рангом отказоустойчивости
Категория реферата: Рефераты по информатике, программированию
Теги реферата: курсовые работы бесплатно, украинские рефераты
Добавил(а) на сайт: Silin.
Предыдущая страница реферата | 4 5 6 7 8 9 10 11 12 13 14 | Следующая страница реферата
5. Времени для выполнения всех необходимых действий должно хватать с запасом 20-30% с учетом производительности аппаратной платформы.
С учетом этого факта (достаточности ресурса производительности)
диспетчеризация вычислений сводится к поддержке следующих процедур:
. синхронизация вычислений - по циклам выдачи управляющих сигналов
(команд), задаваемых таймером ведущего узла (с меньшим номером среди активных узлов);
. полная обработка функциональной задачи в пределах одного цикла;
. использование сторожевого таймера во всех активных узлах сети как средства защиты от зацикливания (зависания) вычислительного процесса;
. разделение цикла работы системы на следующие периоды: ввод данных, решение ФЗ, обмен функциональными данными (ФД), обмен результатами голосования ФД, обмен предварительными выводами о состоянии системы, принятие консолидированного решения (КР) о состоянии системы, реконфигурация системы при обнаружении в рамках КР отказа части системы.
В дальнейшем этот перечень требований к ОСРВ будет продолжен и детализирован.
Рассмотрим общую концепцию работы такой системы. После получения
результатов расчета на очередном цикле, система должна получить информацию
о своем состоянии, для чего осуществляется обмен результатами с остальными
ПЭ системы. При этом следует отметить, что обмен результатами счета со
всеми узлами ВС в некоторой мере избыточен, так как для выявления
некорректного результата достаточно двух верных (в предположении об
ординарности потока отказов). Таким образом, протокол голосования может
быть построен так, что результаты счета отдельного ПЭ в ВС троируются, т.е.
могут не присутствовать в некоторых узлах системы.
Во время сравнения ПЭ делает вывод о нормальном или неправильном
функционировании доступной ей подсистемы и выявляет ее причину.
Результатами сравнения ПЭ обменивается со всеми узлами системы, и они
принимают консолидированное решение об отказе того или иного элемента или
делают заключение о нормальной работе системы.
В случае обнаружения отказа, на выход выдаются результаты, признанные
верными при голосовании. Отказавшему элементу предоставляется возможность
«исправиться» в течение следующих трех циклов. При этом сбойному ПЭ
передается контекст верно функционирующей задачи. Тройная попытка
самоустранить сбой этого узла, должна практически исключать возможность
отключения работоспособного ресурса системы. Если сбои в этом элементе
повторились, система считает элемент отказавшим, после чего производится
подключение к работе резервного ПЭ (если он предусмотрен изначальной
топологией сети) с передачей текущего контекста функциональных задач. При
отказе связей передача данных производится через транзитные связи. Если
элемент утратил все свои связи (линки), то он изолируется на логическом
или, если это возможно – на физическом уровне (отключение питания).
В настоящее время существуют различные ОСРВ, призванные решать задачи организации вычислений в системах РВ. Однако ни одна из них не удовлетворяет поставленным требованиям в полной мере. Поэтому встает вопрос о необходимости расширения существующих ОСРВ или разработки новой ОС, удовлетворяющей им. Поскольку создание ОС с удобными средствами создания и отладки прикладного программного обеспечения - длительный и трудоемкий процесс, единственным выходом является доработка существующих ОС.
В качестве основного подхода к обеспечению отказоустойчивости
предлагается использовать избыточность аппаратных и программных компонент
системы. Данный подход предполагает решение следующих вопросов:
. дополнение ОС высокоуровневыми функциями обмена. Используемые в большинстве ОС стандартные средства обмена данными, определенные стандартом POSIX (каналы, сигналы, разделяемая память, семафоры), имеют ограниченные возможности при взаимодействии процессов, не имеющих родственных связей. Организация межпроцессного взаимодействия с помощью механизма сокетов неудобна из-за необходимости привязки к конкретной сетевой информации (IP- адрес узла, номер порта приложения) и своей ориентированностью на модель клиент-сервер.
. введение приоритета для передаваемых сообщений. Важность сообщений, передаваемых по сети, неодинакова. Например, сообщения об отказе какой- либо компоненты системы должны иметь наивысший приоритет для того, чтобы оповестить узлы сети в кратчайшие сроки.
. выбор и реализация механизма голосования. При этом механизм передачи/приема данных и голосования должен быть по возможности скрыт от прикладного программиста.
Такая концепция построения операционной системы предусматривает наличие специальных средств обеспечения быстрого реагирования на отказ и реконфигурации системы. Ими являются модуль маршрутизации, обеспечивающий оптимальные маршруты для передачи функциональной и системной информации как на начальном этапе инициализации системы, так и в процессе ее функционирования при отказе тех или иных элементов и при подключении резервных, модуль реконфигурации, служащий для перестройки системных таблиц при отказах и восстановлении работоспособности системы, модуль межпроцессорного обмена, для передачи информационных и системных пакетов данных. Рассмотрим их структуру и назначение подробнее.
2.4.1. Описание системных таблиц
Основная информация о функционировании операционной системы на данном
ПЭ размещена в системных таблицах.
Граф информационной связности процессорных элементов задаётся в виде модифицированной матрицы связности. Отличие от стандартной матрицы связности заключается в том, что в рамках одной строки, описывающей связность данного ПЭ с другими, используется число «-1» в случае, если этот процессорный элемент не связан с ПЭ, задаваемом столбцом, и номер канала связи (линка) по которому осуществляется эта связность в противном случае, причем нумерацию линков для удобства можно начинать c m+1 узла, то есть для узла m связь с узлом m+1 будет осуществляться линком с наименьшим номером.
Таблица 2.1
Пример таблицы связности для полносвязной сети ПЭ
|№/№ |1 |2 |3 |4 |… |N |
|1 |-1 |0 |1 |2 |… |N-2 |
|2 |N-2 |-1 |0 |1 |… |N-3 |
|3 |N-3 |N-2 |-1 |1 |… |N-4 |
|4 |N-4 |N-3 |N-2 |-1 |… |N-5 |
|… |… |… |… |… |… |… |
|N |0 |1 |2 |3 |… |-1 |
В дополнение к таблице связности, должна существовать таблица
рассылки, в которой каждому ПЭ сопоставлен номер канала связи, по которому
надо передать пакет дальше, чтобы он в конечном счете дошёл до адресата.
Для полносвязной сети такая информация может показаться избыточной, однако
если сеть неполносвязная или в ней произошли отказы связей, то таблица
рассылки, формируемая на этапе инициализации и реконфигурации системы, позволит экономить время при обмене информацией или результатами
голосования на каждом цикле. Составлением таблиц рассылки занимается модуль
маршрутизации, структура и алгоритм работы которого будет рассмотрена ниже.
Приведем пример таблиц рассылки. Для наглядности возьмем сеть из четырех ПЭ, представленную на рисунке 2.1.
[pic]
Рис. 2.1. Пример неполносвязной сети
Цифры в окружностях – номера процессорных элементов, вне – номера линков
(физических каналов связи). Таким образом таблица связности имеет вид
(таблица 2.2).
Таблица 2.2
Таблица связности для примера на рисунке 2.1
|№/№ |1 |2 |3 |4 |
|1 |-1 |0 |-1 |1 |
|2 |1 |-1 |0 |-1 |
|3 |1 |-1 |-1 |0 |
|4 |0 |-1 |1 |-1 |
Таблицы рассылки для каждого ПЭ могут иметь вид (см. Таблицу 2.3, 2.4, 2.5,
2.6).
Таблица 2.3
Рекомендуем скачать другие рефераты по теме: российская федерация реферат, изложение.
Предыдущая страница реферата | 4 5 6 7 8 9 10 11 12 13 14 | Следующая страница реферата