Научная статья на тему 'Обеспечение отказоустойчивости алгоритмов'

Обеспечение отказоустойчивости алгоритмов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
63
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Обеспечение отказоустойчивости алгоритмов»

Обеспечение отказоустойчивости алгоритмов

Абу Знейт Рушди Салим Х. (rushdi_zneit@hotmail.com)

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ

Проблема отказоустойчивости схем, устройств и систем изучается уже давно. Она особенно актуальна в тех случаях, когда ремонт и восстановление технического состояния объекта затруднены или вообще невозможны. Самым распространенным методом обеспечения отказоустойчивости считается введение и использование структурной избыточности. Очень популярным является троирование объектов с мажоритарным органом для выбора «2 из 3» правильного результата. В статье рассматривается алгоритмический восстанавливающий орган, в котором используются операции сравнения и учитывается последовательный характер обработки данных. Последнее обстоятельство позволяет внести изменения в анализ отказоустойчивости алгоритмов, так как не все сравниваемые результаты вычислений равноправны.

При разработке методов обеспечения отказоустойчивости алгоритмов следует принимать во внимание их модульную структуру. Поэтому отказоустойчивость алгоритмов рассматривается на уровне их вычислительных модулей. Каждый модуль характеризуется входным набором данных Пех и выходным набором данных Оеых. Последний может сравниваться с аналогичными наборами других модулей. Если указанные наборы относятся к модулю М!, то в обозначениях появляется соответствующий индекс: В1ех, В1еых.

Отказы при реализации алгоритмов приводят к появлению ошибок в Вгеых. Ошибочный набор данных в отказоустойчивых алгоритмах не должен быть пропущен в следующую обработку. Поэтому разрабатываются избыточные структуры алгоритмов, в которых используется троирование вычислительных модулей [1,2,3]. Будем модули с тройным резервированием называть ТМР-модулями.

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

а) хранения программ ;

б) вызова программ на исполнение;

в) выполнения программ.

Для обнаружения ошибок и блокирования неправильного выходного набора данных используется структурная избыточность для организации ТМР-модулей. Если считать, что за время выполнения выбранного набора из к одинаковых модулей ТМР-системы возникает I отказов, приводящих к ошибкам в г выходных наборах, то они могут быть блокированы, если выполняется следующее неравенство:

к > 2 +1

Для этого должен быть построен восстанавливающий орган. Возможная схема алгоритма восстановления правильного результата при однократном отказе ^ = 1) показана на рис.1.

Рис. 1. Схема алгоритма восстанавливающего органа для t=1

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

состоит из двух условий и двух присвоений. Целесообразно считать набор данных .О1

ведущим, так как при отсутствии отказов именно он будет выходом ТМР-модуля. Набор

2 1 данных О будем считать резервным, так как при ошибках в ведущем наборе О именно

2 3

О продолжит обработку. А набор данных О будем считать только голосующим, так как

он никогда не используется для последующий обработки. Его функция состоит в

определении ошибок в ведущем или резервном модуле.

Схема алгоритма ТМР-модуля для борьбы с одиночными отказами за счет использования трех одинаковых модулей М1М2№3 показана на рис.2. Хранение, вызов и

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

С

начало

D1 D2

D

с

конец

3

Пых=м/DJ

1

Пых=М(Ф

1

Dx=м3(ф

1

ВО

3

[D = BO(D' ,D2 ,D3 )

L \ 2ЫХ' 2ЫХ 2 ЫХ /

Рис. 2. Схема алгоритма ТМР-модуля

Оценим характеристики ТМР-модуля. Вероятность ошибки определяется по формуле, учитывающей работу ТМР-модуля по исправлению ошибок:

Р0 = Рво +(1 - 2Рво Í)2PÍ - PM ),

где: Рво - вероятность ошибки восстанавливающего органа;

Рм - вероятность ошибки одного модуля.

Предполагается, что все три модуля имеют одинаковую надежность. Тогда выигрыш в надежности ТМР-модуля по сравнению с одним модулем будет определяться следующим отношением:

Рм Рм

г _ м __^м_

Ро Рео +(1 2Ре0 )2 Рм )

Выигрыш отсутствует, если г = 1. При г > 1 выигрыш составляет г раз . При г < 1 получается проигрыш ^ раз.

В табл.1 и на рис.3 показана зависимость выигрыша от вероятностей ошибок в модуле Рм и в восстанавливающем органе Рео.

Из расчетных данных можно сделать следующие выводы.

1 . Выигрыш гарантируется при вероятности ошибки модуля большей 0.5.

2. При уменьшении вероятности ошибки восстанавливающего органа выигрыш появляется при меньших. вероятностях ошибки модуля.

3. Для каждого значения вероятности ошибок восстанавливающего органа существует предельное значение вероятности ошибки модуля, при котором проигрыш превращается в выигрыш.

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

Рассмотрим эти выводы с позицией сложности вычислительных модулей. Чем сложнее модуль, тем больше времени требуется на его выполнение. Следовательно, вероятность ошибки модуля увеличивается. В то же время, сложность восстанавливающего органа, состоящею из четырех операций (см. Рис.1), остается неизменной и относительно модуля небольшой. Поэтому в табл. 1 приведены расчеты для вероятности ошибки модуля Рм вплоть до значения 0.9. Сложность восстанавливающего органа невелика он состоит из четырех операций (см. рис.1). Наиболее ответственны две операции сравнения. При больших наборах данных эти операции внося существенный вклад в вероятность ошибки восстановления Рео . Но она, тем не менее, меньше, чем Рм . Вот почему в табл.1 приведены

расчеты для вероятности ошибки восстановления Рео вплоть до значения 0.45. А это в свою

очередь означает, что согласно выводу 3 целесообразно применение ТМР-модулей всякий раз, когда ненадежность восстанавливающего органа почти вдвое меньше ненадежности модуля. Наоборот, применение ТМР-модуля для простых модулей, когда вероятность ошибок модуля невелика и приближается к вероятности ошибок восстанавливающего

органа, может не дать выигрыша и даже привести к проигрышу. Например, при Рм = 0.3 и

Рво = 0.3 получаем проигрыш в 1.2 раза.

Таким образом, целесообразность применение ТМР-модуля должна оцениваться на основе предварительного анализа, который учитывает вероятность ошибок в вычислениях и восстановлении.

Таблица 1 .

'—-----Рво Рм -""""-—....___ 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45

0.1 1.49 0.87 0.61 0.47 0.39 0.33 0.28 0.25 0.22

0.2 1.74 1.27 1.00 0.82 0.70 0.61 0.54 0.48 0.44

0.3 1.60 1.35 1.17 1.03 0.92 0.83 0.76 0.70 0.64

0.4 1.43 1.31 1.22 1.13 1.06 0.99 0.94 0.89 0.84

0.5 1.29 1.25 1.21 1.18 1.14 1.11 1.08 1.05 1.03

0.6 1.19 1.19 1.19 1.19 1.20 1.20 1.20 1.20 1.20

0.7 1.12 1.15 1.17 1.20 1.23 1.26 1.29 1.33 1.36

0.8 1.08 1.12 1.16 1.21 1.26 1.32 1.38 1.45 1.52

0.9 1.06 1.11 1.16 1.23 1.29 1.37 1.46 1.56 1.67

1,80 1,60 1,40 1,20 1,00 0,80 0,60 0,40 0,20 0,00

0,1

и-г 0,9

°,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 Рво

Рм

г

Рис. 3. Зависимость выигрыша от применения ТМР-модуля от вероятностей ошибок в модуле и восстанавливающем органе

Литература

1. Данько Ю.П. Методы и средства обеспечения эффективности механизмов отказоустойчивости вычислительных систем. М.: ИТМиВТ. 1990, -52 с.

2. Gilles Muller, Michel Banatre, Nadine Peyrouze, Bruno Rochat. Lessons from FTM: An Experiment in the Design & Implementation of Low-Cost Fault-Tolerant System // IEEE Transaction on Reliability, Vol. 45, No. 2, 1996 JUN. -pp. 332-340.

3. Hagbae Kim, Kang G. Shin Sequencing Tasks to Minimize the Effects of Near-Coincident Faults in TMR Controller Computers //IEEE Transaction on Computers. Vol. 45, No. 11, Nov. 1996, -pp.1331-1337.

i Надоели баннеры? Вы всегда можете отключить рекламу.