Методы и средства отказоустойчивости

Лекция № 13

Надежность программ (окончание)

Fault tolerance – быстрое (полу)автоматическое восстановление системы после отказа. Идеал - это восстановление в латентном периоде отказа, когда отказал элемент, но еще не система и отказ еще никак не проявился вовне. Из-за иерархического строения систем (система N уровня является элементом N+1 уровня) уровней отказоустойчивости (ОУ) может быть тоже несколько. Два общих принципа ОУ:

· Средства ОУ – общие для аппаратных и программных отказов; часто даже не производится детальная диагностика, где именно произошел отказ

· ОУ всегда достигается путем введения избыточности, т.е. резервирования

Фазы управления ОУ:

  • Контроль исправности – обнаружение отказавших элементов
  • Оценка повреждения при обнаружении неисправности
  • Восстановление путем задействования резервов

Контроль: фоновый прогон тестов аппаратуры или программ; контрольные суммы кодов (в т.ч. контроль четности), дублирование аппаратуры / данных со сравнением – все это приводит к избыточности. Оценка размера области, содержащей ошибки, - в пространстве (область памяти, компоненты, устройства) или во времени, поскольку точный момент повреждения может быть неизвестен.

Виды резервирования для контроля и восстановления

1. Структурное: аппаратная избыточность – дублирование, троирование, многократное резервирование – горячий и холодный резервы.

Простое дублирование – средство контроля (рис. 13-2, а). Мажоритарная схема – троирование (рис. 13-2, б): однократная ошибка маскируется.

Рис 13-1. Некоторые варианты структурного резервирования

Горячий означает постоянно включенный и работающий резерв; холодный – включается на замену отказавшего модуля. NB: Бортовой вычислитель космичекого корабля Аполлон – троирован, у Шаттла – четверирован. Вопросы 1, 2.

2. Информационное: избыточность в представлении данных:

а) избыточное кодирование

- коды с обнаружением ошибки (четность, циклическая сумма) Вопрос 3.

- коды с исправлением ошибки (код Хэмминга, циклический код)

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

3. Программное (program diversity):аналог структурного, но модули не аппаратные, а программные. Вопрос 4.

4. Временн о е: повторение вычислений, начиная с некоторого запомненного прошлого состояния – контрольной точки (checkpoint) или, иначе, точки восстановления (restore or recovery point). Возврат к точке восстановления называется откатом (rollback). Такой точкой является, в частности, резервная копия (backup copy) файла. Например, Word может создавать ее автоматически.

Вопросы 5 - 7.

Поддержка ОУ требует затрат памяти и дополнительного кода. Например, ПО электронных АТС фирмы AT&T на 60% состоит из программ ОУ. Временн о е резервирование, для возможности отката, требует либо периодического запоминания точки восстановления, либо запоминания проделанных действий, начиная с некоторого момента. Последнее в современных базах данных и файловых системах называется журнализацией событий; в системном журнале запоминаются все транзакции – последовательности операций при обработке одного запроса (журнал – аналог стека Undo/Redo в Word’е). A для того, чтобы противодействовать отказам во время выполнения транзакции, она делается атомарной (т.е, неделимой). Атомарная транзакция или выполняется корректно, или вовсе не выполняется.

Три примера отказоустойчивых программно-аппаратных систем


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: