logo
All_lections

3. Создание отказоустойчивых кс

Отказоустойчивость - это свойство КС сохранять работоспособность при отказах отдельных устройств, блоков, схем.

Известны три основных подхода к созданию отказоустойчивых систем:

‑ простое резервирование;

‑ помехоустойчивое кодирование информации;

‑ создание адаптивных систем.

Любая отказоустойчивая система обладает избыточностью. Одним из наиболее простых и действенных путей создания отказоустойчивых систем является простое резервирование. Простое резервирование основано на использовании устройств, блоков, узлов, схем только в качестве резервных. При отказе основного элемента осуществляется переход на использование резервного. Резервирование осуществляется на различных уровнях: на уровне устройств, на уровне блоков, узлов и т. д. Резервирование отличается также и глубиной. Для целей резервирования могут использоваться один резервный элемент и более. Уровни и глубина резервирования определяют возможности системы парировать отказы, а также аппаратные затраты. Такие системы должны иметь несложные аппаратно-программные средства контроля работоспособности элементов и средства перехода на использование, при необходимости, резервных элементов. Примером резервирования может служить использование «зеркальных» накопителей на жестких магнитных дисках. Недостатком простого резервирования является непроизводительное использование средств, которые применяются только для повышения отказоустойчивости.

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

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

Наиболее совершенными системами, устойчивыми к отказам, являются адаптивные системы.

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

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

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

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

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