Алгоритмы автоматического восстановления ИС
Лекция 17
Тема: Методы и алгоритмы автоматического восстановления ИС
План
1. Реконфигурация в технических устройствах ИС.
2. Способы восстановления в высоконадежных КС.
3. Модель процесса автоматического восстановления отказоустойчивых КС.
Ключевые слова
Отказоустойчивая система, безотказность, реконфигурация, автоматическое восстановление, интенсивность восстановления, состояния, динамическое резервирование, избыточность, активная отказоустойчивость, модель восстановления.
Реконфигурация и способы восстановления КС.
Рекомендуемые материалы
Среди перечисленные выше методов обеспечения и повышения надежности наиболее перспективными являются использование новых способов восстановления, автоматической реконфигурации и создание отказоустойчивых КС. Рассмотрим эти вопросы.
Реконфигурация КС – изменение состава и способа взаимодействия программных и аппаратных средств системы с целью исключения отказавших программных или аппаратных компонентов. Реконфигурация производится после выявления отказа. Различают статическую и динамическую реконфигурацию.
Статическая реконфигурация системы осуществляется путем отключения неисправных компонентов КС. Динамическая реконфигурация по принципу проведения делится на следующие виды: замещение, дублирование, постепенная «деградация».
После реконфигурации для продолжения нормальной работы системы необходимо её восстановить, восстановление системы происходит на двух уровнях (рис. 1).
1. Аппаратный уровень. Здесь производится восстановление отказавших компонентов КС двумя способами:
· автоматическое восстановление, реализуемое путем реконфигурации системы. При этом предполагается, что в системе имеется ряд запасных блоков, благодаря которым она возвращается в работоспособное состояние;
· ремонт (восстановление вручную). В этом случае отказавший блок отключается от системы и она продолжает работу с меньшей производительностью, либо приостанавливается до возвращения отремонтированного блока в активную часть КС.
2. Программный уровень, здесь осуществляется восстановление информации о состоянии КС, необходимой для продолжения её работы.
Средства восстановления включаются в работу при обнаружении ошибки системой контроля. Способ восстановления зависит от уровня, на котором обнаружена ошибка. В зависимости от нарушений в работе системы можно выделить следующие способы восстановления: маскирование, повторение операции, возврат к контрольной точке, программный рестарт. На рис. 2 приведен алгоритм автоматического восстановления вычислительного процесса после сбоев, где использованы все виды восстановления.
Маскированием называется исправление ошибки с помощью корректирующих кодов или резервирования. Восстановление путем маскирования или повторения операции выполняется в том случае, когда ошибка обнаружена средствами контроля логического уровня и, следовательно, не успела распространиться.
Восстановление путем повторения операции может быть успешным, если ошибка была случайной или перемежающейся и самоустранилась при повторении, т.е. проявилась как сбой. Поскольку длительность случайной ошибки может быть разной, система должна повторять операции несколько раз. Повторение может быть на уровне микрокоманд, команд и операций ввода-вывода.
В тех случаях, когда ошибка обнаруживается средствами функционального или системного уровня, т.е. успела исказить информацию, используется восстановление путем возврата к контрольной точке.
Контрольной точкой называется некоторая точка в вычислительном процессе (программе), для которой сохранены промежуточные результаты вычислений, и к которой в случае ошибки можно вернуться (передать управление). Этот способ восстановления требует по ходу вычислительного процесса формирования контрольных точек (т.е. периодического запоминания промежуточных результатов вычислительного процесса).
Программным рестартом называется повторный запуск вычислительного задания. Этот способ восстановления используется в том случае, когда ошибка обнаружена средствами контроля пользовательского уровня. Маскирование и повторение операции как способы восстановления более предпочтительны, так как обеспечивают ранее обнаружение ошибки и восстановление. Однако они требуют значительных затрат аппаратуры.
Сохранение работоспособности компьютеров при отказах имеет большое значение при эксплуатации систем, работающих в реальном масштабе времени, систем с разделением времени, систем телеобработки, диалоговых систем и др.
Автоматическое восстановление вычислительного процесса при отказах может быть достигнуто путем введения в КС свойств отказоустойчивости.
Рис. 2. Функционирование вычислительного процесса.
Модель процесса автоматического восстановления
отказоустойчивых КС
Автоматическое восстановление в компьютерных системах является новым подходам, обеспечивающим высокую степень надежности, готовности и отказоустойчивости КС.
Ниже предлагается модель, описывающая общие свойства различных процессов восстановления, некоторой гипотетической отказоустойчивой КС. Она включает все возможные процессы восстановления, применяемые в реальных КС. Множество возможных событий в системе обозначим через
S={S1,S2,…,S16}.
Процессы восстановления в пассивных и активных отказоустойчивых КС имеют много общего. Рассмотрим граф на рис. 3.[1,7,10]:
Возникшая в КС ошибка S1 может обнаруживаться либо аппаратными S2, либо программными S3 средствами контроля, либо не обнаруживаться средствами контроля S4. В последнем случае результатом является отказ системы S5.
В зависимости от степени применения пассивной отказоустойчивости в КС ошибка может быть маскирована S6 и вычислительный процесс продолжается без задержки S7. При обнаружении ошибки аппаратными средствами в большинстве систем проводится повторение выполняемой операции в заданное число раз. Если повторение было успешным, т.е. имел место сбой, последствия которого при повторении операции исчезли, вычислительный процесс продолжается S8. Для повторении операции необходимо чтобы аппаратные средства сохранили операнды до окончания контроля над выполненной операцией. Если повторении операции было безуспешным S9, то это говорит об устойчивой ошибке в аппаратуре и поэтому производится автоматическая реконфигурация S10.
Реконфигурация может заключаться либо в замене отказавшей подсистемы (устройства, процессора) за счет резервов, либо в её простом отключении. В последнем случае имеет место постепенная деградация системы. После реконфигурации производится восстановление информации S12. Для этого по ходу вычислительного процесса предусмотрены контрольные точки, в которых состояние системы и вычислительного процесса подвергаются контролю. В случае положительного результата контроля состояние данной программы и данного процессора (промежуточные результаты, содержание регистров и др.) записывается либо в оперативной памяти другого процессора, либо на магнитных лентах или дисках.
В ходе восстановления информации содержание этих дублирующих записей переписывается в тот процессор, который после реконфигурации берет на себя функции отказавшего. Затем, начиная с контрольной точки, вычислительный процесс возобновляется S13.
Аналогичные процедуры проводятся в случае, когда ошибка обнаружена программными средствами. После обнаружения ошибки программными средствами могут быть задействованы тесты S14. Если тесты подтверждают наличие устойчивого отказа S15, то следует реконфигурация S10, возврат к контрольной точке S11, восстановление данных S12 и повторение вычислений S13. Если устойчивого отказа нет S16, то повторяются перечисленные операции без реконфигурации.
Восстановление может оказаться безуспешным также в случае наличия ошибки в программах, разрушения информации в контрольных точках, исчерпания резервов или снижения производительности системы из-за отказов.
Описанный выше процесс может варьироваться в конкретных системах, особенно что касается способов обнаружения отказов. Иногда, например процессоры системы подтверждают свою работоспособность специальными сигналами. По этим сигналам во всех действующих процессорах системы формируется таблицы, показывающие состояние всех других процессоров. На основании этих таблиц обмен с отказавшими процессорами прекращается.
Контрольные вопросы и задания
1. Определите виды ошибок в КС которые можно исправить с помощью маскирования.
2. Дайте определение понятию «реконфигурация».
3. Что такое динамическая и статическая реконфигурация.
Если Вам понравилась эта лекция, то понравится и эта - 17. Эргономика, понятие, принципы, область применения и безопасность труда.
4. Постройте граф состоянии и переходов процесса восстановления в отказоустойчивых КС.
5. Что называется контрольной точкой в вычислительном процессе?
6. Определите понятие «программный рестарт».
7. Какой вид отказа является наиболее жестким в теории надежности?
8. Назовите основные метод автоматического восстановления в КС.
Литература: 1, 2, 3, 5, 10.