МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Разработка отказоустойчивой операционной системы реального времени для вычислительных систем с максимальным рангом отказоустойчивости

    применяются два принципиально различающихся подхода - восстановление

    решения после отказа системы (или ее компонента) и предотвращение отказа

    системы (отказоустойчивость).

    Восстановление может быть прямым (без возврата к прошлому состоянию)

    и возвратное.

    Прямое восстановление основано на своевременном обнаружении сбоя и

    ликвидации его последствий путем приведения некорректного состояния системы

    в корректное. Такое восстановление возможно только для определенного набора

    заранее предусмотренных сбоев.

    При возвратном восстановлении происходит возврат процесса (или

    системы) из некорректного состояния в некоторое из предшествующих

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

    . Потери производительности, вызванные запоминанием состояний,

    восстановлением запомненного состояния и повторением ранее выполненной

    работы, могут быть слишком высоки.

    . Нет гарантии, что сбой снова не повторится после восстановления.

    . Для некоторых компонентов системы восстановление в предшествующее

    состояние может быть невозможно (торговый автомат).

    Для восстановления состояния в традиционных ЭВМ применяются два

    метода (и их комбинация), основанные на промежуточной фиксации состояния

    либо ведении журнала выполняемых операций. Они различаются объемом

    запоминаемой информацией и временем, требуемым для восстановления.

    Применение подобных методов в распределенных системах наталкивается

    на следующие трудности:

    . Для распределенных систем запоминание согласованного глобального

    состояния является серьезной теоретической проблемой;

    . методы восстановления после отказов для некоторых систем непригодны из-

    за прерывания нормального функционирования и др;

    Чтобы избежать эти неприятности, создают системы, устойчивые к

    отказам. Такие системы либо маскируют отказы, либо ведут себя в случае

    отказа заранее определенным образом.

    По мере того как операционные системы реального времени и встроенные

    компьютеры все чаще используются в критически важных приложениях,

    разработчики создают новые ОС реального времени высокой готовности. Эти

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

    инициируют предупреждения, запускают системную диагностику для того, чтобы

    помочь выявить проблему, или автоматически переключаются на резервную

    систему.

    Обеспечение живучести – это использование специальных средств,

    позволяющих системе продолжать правильное функционирование при

    возникновении отказов ее программных и аппаратных компонентов с

    возможностью деградации качества функционирования [2]. В отличие от

    отказоустойчивости, где с отказом не связано качество работы ВС,

    сравнительно сложные средства обеспечения живучести позволяют более

    рационально расходовать вычислительные ресурсы и увеличивать среднее время

    наработки до наступления фатального отказа. Обеспечение живучести обычно

    включает три основные функции: диагностика возникновения отказа,

    локализация неисправности и перестройка системы. В основе толерантности

    лежит избыточность как аппаратного, так и программного обеспечения. Поэтому

    многопроцессорные системы с присущей им аппаратной избыточностью

    потенциально позволяют создавать не только высокопроизводительные, но и

    высоконадежные системы.

    Другим основополагающим требованием является наличие механизма,

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

    информацией со своими соседями посредством эффективных протоколов, не

    перегружающих сеть широковещательным управляющим трафиком. Каждый

    управляющий агент должен поддерживать таблицу с локальной топологической

    информацией. Кроме того, должен предоставляться механизм, практически в

    реальном времени модифицирующий содержимое базы данных и обеспечивающий

    правильное отображение топологических изменений, вызванных установкой новых

    устройств либо реконфигурацией или отказом существующих узлов сети.

    Для обеспечения защиты вычислительного процесса программными методами

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

    Под временной избыточностью понимается использование части

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

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

    достоверности важных решений по управлению и обработке информации. Она

    заключается в применении нескольких вариантов программ в каждом узле

    системы (так называемое N-версионное программирование).

    Сопоставление результатов независимых решений одного и того же

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

    проверок образует систему голосования, которое является основным

    источником диагностической информации о состоянии аппаратной части системы

    и вычислительного процесса в каждом активном узле системы. Два механизма

    широко используются при обеспечении отказоустойчивости - протоколы

    голосования и протоколы принятия коллективного решения.

    Протоколы голосования служат для маскирования отказов (выбирается

    правильный результат, полученный всеми исправными исполнителями).

    Протоколы принятия коллективного решения подразделяются на два

    класса. Во-первых, протоколы принятия единого решения, в которых все

    исполнители являются исправными и должны либо все принять, либо все не

    принять заранее предусмотренное решение. Примерами такого решения являются

    решение о завершении итерационного цикла при достижении всеми необходимой

    точности, решение о реакции на отказ. Во-вторых, протоколы принятия

    согласованных решений на основе полученных друг от друга данных. При этом

    необходимо всем исправным исполнителям получить достоверные данные от

    остальных исправных исполнителей, а данные от неисправных исполнителей

    проигнорировать

    Однако для систем на последней стадии их деградации (при отказе

    предпоследнего узла сети) на первый план в качестве диагностической

    информации выходят признаки исправности-неисправности, формируемые

    различными программно-аппаратными средствами контроля, такими как:

    . функциональный контроль вычислений с помощью специальных контрольных

    операторов и нескольких версий программ;

    . функциональный контроль входной и выходной информации;

    . контроль входной информации по специальным признакам и контрольным

    суммам;

    . контроль выходной информации по квитанции от приемника - абонента

    системного интерфейса;

    . контрольный тест аппаратуры процессора;

    . контрольные тесты аппаратуры внешнего и внутреннего интерфейсов.

    . встроенные аппаратные средства контроля процессорных элементов и

    контроллеров системного интерфейса.

    Информационная избыточность состоит в дублировании исходных и

    промежуточных данных, обрабатываемых комплексом программ.

    Часто для обнаружения состояния отказа используются тайм-ауты. В

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

    обслуживания. Неблокирующее обслуживание всегда возвращает управление

    немедленно вместе с достоверным кодом возврата (успех или неудача), однако,

    в случае отсутствия данного вида обслуживания, обратившаяся к нему задача

    может попасть в бесконечный цикл опроса. Блокирующее обслуживание избегает

    такого опроса путём исключения вызывающей задачи из процесса

    диспетчеризации до тех пор, пока данный сервис не станет доступным. Если

    этого не произойдет, то задача рискует навсегда остаться заблокированной.

    Механизм же таймаутов позволяет возвращать управление задаче, даже в

    случае, если указанный сервис не предоставляется ей в течение определенного

    периода времени.

    4. Концепция построения и работы системы с рангом

    отказоустойчивости N-1.

    В отказоустойчивых системах, построенных на N процессорных элементах,

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

    функциональных элементов (ПЭ), после возникновения которых система

    продолжает свое функционирование. Введем обозначение - N(m), которое

    означает, что система содержит N узлов (ПЭ) и «держит» m отказов, т.е.

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

    Следует заметить, что системы класса N(0) – относятся к самым

    быстродействующим системам, а N(N-1) – к самым отказоустойчивым.

    В дальнейшем в работе будем рассматривать концепции построения и

    работы именно отказоустойчивых систем класса N(N-1). Данное ограничение

    означает, что в каждом ПЭ системы должен присутствовать весь набор

    функционального программного обеспечения, то есть каждый цикл ПЭ

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

    Таким образом, специализированные операционные системы,

    поддерживающие свойство отказоустойчивости для данного класса ВС, должны

    обладать следующими свойствами:

    1. ОС представляет собой совокупность информационно взаимосвязанных и

    согласовано функционирующих операционных систем каждого отдельного узла

    сети ВС.

    Информационная взаимосвязанность операционных систем узлов между

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

    информации:

    - результатов «голосования» (сравнения) поступающей в данный ПЭ

    функциональной информации;

    - результатов оценки поступившей от других ОС узлов;

    - «результатов голосования» (т.е. «вывод» данного ПЭ о состоянии

    других ПЭ).

    Все операционные системы узла идентичны и отличаются друг от друга

    лишь своим номером и содержанием системных таблиц.

    2. Внутренняя структура распределенной ОСРВ представляет собой

    иерархию уровней в которой каждый уровень использует функциональные

    возможности предыдущего. Добавление или удаление модулей позволяет

    создавать системы различных конфигураций. Кроме того, данный принцип

    построения ОСРВ позволяет осуществлять ее расширение путем добавления новых

    модулей, а расширение с минимальными изменениями подразумевает открытость

    системы.

    3. ОС должна обладать возможностью использования на различных

    аппаратных платформах с минимальными модификациями соответствующих

    программ, то есть обладать свойством переносимости.

    4. ОС должна обладать свойством масштабируемости, что в узком смысле

    означает обеспечение ее настраиваемости на поддержку функционирования

    сетевых ВС различной размерности N (для реальных систем в пределах 3 ( N (

    10). Причем правая граница изменения N (Nmax = 10) выбрана из практических

    соображений построения ВС с высокой степенью связности узлов сети при

    использовании конкретных процессорных модулей количеством линков (L) не

    более шести (L(6). При L=6 семиузловая сеть является полносвязанной и по

    мере увеличения N степень связности узлов сети уменьшается.

    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 |

    Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.