Научная статья на тему 'Применение ненадёжных тестов для самодиагностики модульных вычислительных систем при кратных отказах'

Применение ненадёжных тестов для самодиагностики модульных вычислительных систем при кратных отказах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
194
53
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛИ САМОДИАГНОСТИРОВАНИЯ / МОДУЛЬНЫЕ СИСТЕМЫ / КРАТНЫЕ ОТКАЗЫ / НЕНАДЁЖНЫЕ ТЕСТЫ / SELF-DIAGNOSING / MODULAR COMPUTING SYSTEMS / MULTIPLE FAULTS / UNRELIABLE TESTS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Димитриев Юрий Константинович, Задорожный Анатолий Филиппович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Димитриев Юрий Константинович, Задорожный Анатолий Филиппович

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

Self-diagnosing of modular computing systems (CS) is investigated on the system level at the presence of multiple faults and with the use of unreliable tests. Dependence of self-diagnosing efficiency on properties of the unreliable tests is studied by the method of imitation-statistical simulation. We compare the self-diagnosing efficiency for CS using the unreliable tests corresponding to the known PMC-model and the unreliable tests suggested by the authors, and state conditions under which the use of the last tests is more effective

Текст научной работы на тему «Применение ненадёжных тестов для самодиагностики модульных вычислительных систем при кратных отказах»

2010 Математические основы надёжности вычислительных и управляющих систем №2(8)

МАТЕМАТИЧЕСКИЕ ОСНОВЫ НАДЁЖНОСТИ ВЫЧИСЛИТЕЛЬНЫХ И УПРАВЛЯЮЩИХ СИСТЕМ

УДК 681.3.012+681.3-192

ПРИМЕНЕНИЕ НЕНАДЁЖНЫХ ТЕСТОВ ДЛЯ САМОДИАГНОСТИКИ МОДУЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ ПРИ КРАТНЫХ ОТКАЗАХ

Ю. К. Димитриев*, А. Ф. Задорожный**

* Институт физики полупроводников СО РАН, г. Новосибирск, Россия;

**Новосибирский архитектурно-строительный университет, г. Новосибирск, Россия

E-mail: dimi@isp.nsc.ru, 3af@ngs.ru

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

Ключевые слова: модели самодиагностирования, модульные системы, кратные отказы, ненадёжные тесты.

Введение

Исследуется возможность децентрализованной диагностики модульных вычислительных систем в условиях кратных отказов. Модули с точки зрения диагностики являются неделимыми единицами системы. Их функциональные характеристики позволяют им в одиночку осуществить полную проверку других (соседних) модулей и оценить их исправность. При этом состояние ВС определяется сопоставлением результатов тестирования, полученных разными модулями (самодиагностика ВС). Кратность неисправностей есть предельно допустимое число неисправных модулей, при котором ещё существует возможность определения состояния ВС.

При децентрализованном диагностировании каждый модуль ВС определяет своё состояние независимо от других модулей, сопоставляя исходы тестирования, полученные от некоторого подмножества других модулей.

В качестве диагностической модели системы используется известная теоретикографовая модель, предложенная в работе [1]: диагностической моделью ВС служит

орграф О = (V, Е), в котором множество вершин V = {1, 2,... , N} представляет модули ВС, а множество дуг Е = {(г,]) : г,] € V} — тесты над ними. Для г,] € V дуга (г,]) существует, если и только если модуль г может проверить модуль ]. Вершины графа имеют отметки х, значения которых определяют состояние модулей: х(г) = 0 при исправности и х(г) = 1 при неисправности модуля г. Исходы тестов над модулями (тест прошёл / тест не прошёл) соответствуют двоичным весам дуг графа. Совокупность вершин Гк, Гк С V, имеющих единичные значения меток х, составляет образ неисправностей системы, а совокупность значений весов а (г,]), (г,]) € Е, дуг графа образует его синдром Б к. При заданной кратности неисправностей £ допустимое множество Г(£) состояний системы составляют все возможные сочетания из г неисправных модулей, где г = 1, 2,..., £. Каждый образ неисправностей мощности г может порождать 2Г синдромов.

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

В каждом конкретном случае результат тестирования зависит от состояния тестирующего и тестируемого модулей. Поэтому тест будем описывать четверкой булевых переменных (адд, адь, аьд, аьь), каждая из которых представляет возможное значение исхода тестирования в зависимости от технического состояния модулей: адд — оба модуля исправны, адь — тестирующий модуль исправен, а тестируемый неисправен, и т. д. При этом исход а(г,]) теста принимаем равным нулю, если модуль г считает исправным модуль ], и единице — в противном случае. Для рассматриваемой модели принято, что диагностический тест, выполняемый исправным модулем, является полным (т. е. обнаруживает все допустимые неисправности тестируемого модуля) и корректным (т. е. правильно идентифицирует состояние тестируемого модуля). Когда тест выполняется неисправным модулем, он утрачивает полноту или корректность, вследствие чего получаемая тестирующим модулем оценка может не соответствовать фактическому состоянию тестируемого модуля. Говорят, что такой тест является ненадёжным.

Таким образом, исходы тестирования, соответствующие модели ПМЧ, можно описать четвёркой (0,1,а,а). Полнота и корректность теста, выполняемого исправным модулем, определяют детерминированность двух первых элементов четвёрки. Ненадёжность теста, выполняемого неисправным модулем, выражается использованием знака а для третьего и четвертого элементов четвёрки.

Исходы ненадёжного теста могут быть детерминированными или случайными (недетерминированными). Если принять во внимание сущность теста, то можно сделать определённые упрощающие предположения об условиях непрохождения теста. Например, если для тестирования используется сравнение результатов одного и того же пользовательского задания, назначенного на соседние модули, и если эти задания достаточно сложны, то маловероятно, что два неисправных модуля выполнят задание с одинаковым результатом. Тесты такого рода, описываемые четвёркой (0,1,а, 1), использованы в модели Барси, Грандони и Маестрини (БГМ) [2]. Детерминированность элемента аьь означает, что переход неисправных модулей в одно и то же состояние (в смысле теории автоматов) относится к категории недопустимых состояний системы. В литературе [3] рассматриваются и другие модели, отличающиеся условиями детерминированности исхода ненадёжного теста.

Существующие методы системного диагностирования делят на вероятностные и детерминистические. Обзор методов системного диагностирования можно найти в работе [4]. Цель алгоритмов вероятностного диагностирования состоит в попытке обес-

печить корректное диагностирование с высокой вероятностью для произвольных от-казовых состояний (образов неисправностей) системы Гк С V и любых порождаемых ими исходов тестирования (синдромов). Это значит, что создаваемый диагностический образ может оказаться либо некорректным (исправные модули идентифицируются как неисправные и наоборот), либо неполным (состояние некоторых модулей остаётся неопределенным). Преимущества вероятностного подхода — простота и скорость алгоритма диагностирования, отсутствие ограничивающих допущений на структуру системы и класс допустимых неисправностей.

Детерминистические методы, базирующиеся на теоретико-графовых моделях, не принимают во внимание случайность образов неисправностей и порождаемых ими синдромов. Они гарантируют корректную и полную диагностику для любого образа неисправностей Гк из ограниченного класса допустимых неисправностей Г (£) и для каждого синдрома Б к, совместного с ним, при условии соблюдения определенных априорных требований к структуре тестовых связей и к поведению неисправных модулей. Возможность корректной идентификации состояния системы достигается ценой усложнения структуры системы и алгоритмов диагностирования.

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

В работе [6] показано, что если вероятность неисправности одинакова для всех модулей системы, то необходимые и достаточные условия р—£-диагностируемости совпадают с условиями £-диагностируемости, выведенными для ПМЧ- и БГМ-модели.

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

1. Свойства ненадёжного теста

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

Исход недетерминированного ненадёжного теста в литературе описывается как величина, не имеющая числового значения. Введём в качестве численной меры полноты и корректности теста, выполняемого неисправным модулем, значения р(0) и р(1) —вероятности получения исхода теста а(г,]) = 0 и а(г,]) = 1 соответственно; р(0) + р(1) = 1. Учитывая последнее равенство, в дальнейшем для характеристики надёжности теста используем значение р(1). В литературе подробно исследованы две граничные (в смысле достигаемой кратности неисправностей) модели. Они отличаются предположением о детерминированности исхода ненадёжного теста. Модель ПМЧ [1] описывается четвёркой (0,1,а,а). Недетерминированное значение элементов четвёрки, относящихся к описанию свойств ненадёжного теста, молчаливо предполагает, что исходы ненадёжного теста имеют произвольное и равновероятное значение, то есть р(0) = р(1) = 0,5. При таком предположении кратность допустимых неисправностей вычислительной системы не превышает значения £ ^ |_(^ — 1)/2], где N — число модулей в системе, а |_х] —наибольшее целое, не превышающее величины х. Модель БГМ [2] описывается четвёркой (0,1, а, 1). Здесь предполагается, что для исправного тестируемого модуля р(0) = р(1) = 0,5, а для неисправного тестируемого модуля р(1) = 1. При таком предположении кратность допустимых неисправностей системы увеличивается до значения £ = N — 2.

Приведённые результаты иллюстрируют зависимость диагностических свойств системы от вероятностных свойств ненадёжного теста.

Исход ненадёжного теста может зависеть или не зависеть от технического состояния проверяемого модуля. В модели ПМЧ эти значения не зависят от состояния тестируемого модуля, а в модели БГМ — зависят. По соотношению между р(0) и р(1) ненадёжные тесты делим на девять классов, перечисленных в табл. 1. В каждом классе выделяем подклассы в соответствии с численными значениями вероятностей р(0) и р(1) в диапазоне 1 ^ р(0) ^ 0, 1 ^ р(1) ^ 0 при нормирующем условии р(0) + р(1) = 1. Численные значения р(0) и р(1) определяются при проектировании средств тестирования ВС.

Таблица 1

Классы ненадёжных тестов

Номер класса Проверяемый модуль исправен Проверяемый модуль неисправен

1 Р(0) = Р(1) Р(0) = Р(1)

2 Р(0) >Р(1) Р(0) = Р(1)

3 Р(0) <Р(1) Р(0) = Р(1)

4 Р(0) = Р(1) Р(0) >Р(1)

5 Р(0) >Р(1) Р(0) >Р(1)

6 Р(0) <Р(1) Р(0) >Р(1)

7 Р(0) = Р(1) Р(0) <Р(1)

8 Р(0) >Р(1) Р(0) <Р(1)

9 Р(0) <Р(1) Р(0) <Р(1)

В приведённой классификации модель БГМ соответствует классу 7, а модель ПМЧ — классу 1.

Очевидно, что наилучшим является класс 8, для которого вероятность исхода, соответствующего фактическому состоянию проверяемого модуля, больше вероятности исхода, не соответствующего фактическому состоянию проверяемого модуля. Аналогично, наихудшим классом является класс 6. Особый случай составляют классы 1,

5 и 9. Для класса 1, описывающего модель ПМЧ, исход ненадёжного теста не зависит от фактического состояния проверяемой вершины. Для классов 5 и 9 существуют подклассы с исходами ненадёжного теста, которые как зависят, так и не зависят от фактического состояния проверяемой вершины.

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

Исходя из необходимости обеспечивать высокие надёжность и полезность ВС, для ненадёжного теста с независимыми исходами имеет смысл добиваться значения р(1) > 0,5. В самом деле, для смежных модулей г и ] исход а(г,^') = 1 означает, что {г,^} П Гг = 0. Поэтому для поддержания высокого уровня полезности системы предпочтительнее приостановить всякое взаимодействие между указанными модулями (даже ценой приостановки работы исправного модуля ], попавшего под подозрение), нежели подвергнуть систему риску разрушительного воздействия со стороны неиден-тифицированного неисправного модуля г, как могло бы быть, если принять р(1) < 0,5. Кроме того, если иметь в виду сложность тестового воздействия и многоэлементность ответной реакции со стороны тестируемого модуля, то становится очевидным, что единичный исход ненадёжного теста более естественен и более вероятен, чем нулевой. В этом отношении достижение для ненадёжного теста условия р(0) ^ 0,5 потребовало бы применения специальных средств. Следовательно, наиболее простым в реализации является класс 9 с независимыми исходами ненадёжного теста. Эта модель занимает промежуточное положение между моделью (0,1, а, а) и моделями (0,1,1,1), (0,1,1, а), (0,1, а, 1).

Существующие модели исходов ненадёжного тестирования молчаливо предполагают, что для каждого допустимого образа неисправностей Гг Е Г (£) все порождаемые им синдромы Бк равновероятны. Введение численной меры для исхода ненадёжного теста позволяет построить более адекватную реальности функцию распределения для множества синдромов, порождаемых заданным образом неисправностей. Введение численной меры для исхода ненадёжного теста позволяет также поставить новую задачу — задачу синтеза теста с заданной надёжностью.

Указанные соображения послужили основанием для сравнения эффективности систем диагностирования с ненадёжными тестами классов 1 и 9. Для класса 9 выбрано р(1) = 0,75 независимо от фактического состояния тестируемого модуля. Эффективность использования ненадёжных тестов классов 1 и 9 изучается методом имитационно-статистического моделирования на примере децентрализованного алгоритма са-модиагностирования «СЧЁТ», описанного в работе [7]. Этот алгоритм соответствует свойству живучести вычислительной системы, при котором она сохраняет работоспособность в условиях действующего на неё потока отказов отдельных модулей и их восстановления.

2. Алгоритм диагностирования

В качестве диагностического графа ВС используется её рабочий граф, заданный использованием системы по назначению. Он представляет собой диаграмму Кэ-ли некоторой конечной абелевой группы Г. Дуги в диаграмме Кэли имеют отметки $о,$1,... ,$га-1 образующих группы. Описанные графы названы КАИС-графами (графы для представления конечных абелевых изотропных и симметричных структур) [8]. Благодаря свойству симметричности представляемой структуры каждая вершина диагностического графа инцидентна 2п дугам с метками образующих и обратными им.

Рассматриваемые ВС являются ^-диагностируемыми с ремонтом, т. е. для них существует последовательность выполнения множества всех возможных тестов и ремонт выявленных неисправных модулей, которая позволяет идентифицировать все неисправности, первоначально присутствовавшие в системе, при условии, что число их не превышает £.

Правильное определение состояния ВС возможно, если оно осуществляется заведомо исправными модулями, составляющими (диагностическое) ядро системы. Алгоритм, описанный в работе [7], реализует известный метод раскрутки, при котором на каждом шаге исправность одних модулей определяется другими, исправность которых установлена на предыдущих шагах. Функциональные характеристики модулей ВС таковы, что любой из них можно использовать в качестве ядра. Если £ < N, то задачу определения состояния ВС можно уточнить: по результатам взаимной проверки идентифицировать хотя бы один заведомо исправный модуль. Выявленные им исправные модули включаются в состав наращиваемого ядра ВС.

В работе [7] установлено, что для диагностического графа, обладающего свойством симметричности, преобразование

У*' Е V [((О') Е Е) Л (а(г') = 1) ^ Е = Е — {(г'), (',г)}]

порождает граф 00 = (^, Е0), в котором отметки х вершин каждой его компоненты связности совпадают. Предложено выбирать в качестве £ такое наибольшее £*, при котором для любого Гк, |Гк | ^ £*, и любого порождаемого Гк синдрома в 00 ещё существует хотя бы одна компонента связности порядка не менее (£* + 1). С учетом предположения о допустимой кратности неисправностей в такую компоненту входят вершины, представляющие исправные модули, которые, следовательно, могут использоваться как ядро ВС. Для некоторых из исследованных групп-графов диагностической структуры ВС значения £*/N приведены в табл. 2.

Таблица 2

Кратность неисправностей

N 20 25 30 37 40 50 60 70 80 90

£* 4 8 8 8 12 12 16 16 16 20

**/ЛГ 0,200 0,320 0,2667 0,217 0,300 0,240 0,267 0,229 0,200 0,222

0,047 0,038 0,031 0,031 0,024 0,019 0,015 0,013 0,012 0,010

Для упрощения изложения терминология ВС распространена на представляющий её граф. Поэтому в дальнейшем допускаем выражения «состояние графа» вместо «состояние системы», «исправная (неисправная) вершина» вместо «исправный (неисправный) модуль», «исход теста (г,')» вместо «вес дуги (г,')» и т.п.

Алгоритм самодиагностирования состоит из двух этапов. На первом этапе осуществляется построение 00. При этом последовательно строятся компоненты связности и определяются их порядки до тех пор, пока не будет получена компонента связности порядка (£* + 1). Каждая компонента связности 00к получает номер к вершины, инициировавшей её формирование (корневая вершина). Обозначим 00 часть графа 00, построенную к текущему шагу алгоритма. Если вершина г включена в компоненту связности 00к, то очередная включаемая в неё вершина ищется среди вершин, смежных с нею в графе О — 00. Вершина ', смежная с вершиной г, включается в компоненту связности 00к, если а (г,') = 0. Формирование компоненты продолжается до тех пор,

пока порядок её не станет равным (£* + 1) или пока не будут испытаны все вершины графа 0—00, смежные с нею. Если порядок сформированной компоненты менее (£* + 1), то процесс формирования компонент связности повторяется для вершин из 0 — 00. Для выбора очередной корневой вершины используется описанный в [7] алгоритм обхода КАИС-графа по остовному контуру.

На втором этапе, после выделения диагностического ядра, осуществляется определение состояния всех вершин, не воше дших в диагностическое ядро. При этом сначала с помощью найденных исправных вершин устанавливается состояние других вершин из компоненты связности, которая имеет порядок (£* + 1), а затем — состояние вершин из других компонент связности.

Рассмотрим процесс формирования компоненты связности более подробно. Пусть 00к = (У0к, Е0к), 00к Е 00, — формируемая компонента связности, а г — очередная тестирующая вершина этой компоненты. Множество п(г) вершин, смежных с г в графе 0, разделяем на непересекающиеся подмножества Уд (г) и Vв(г) прямого и обратного направлений тестирования соответственно. К множеству VD(г), 0 ^ |УЪ(г)| ^ 2п, вершин прямого направления тестирования относим смежные с г вершины из 0 — 00. Множество Ув(г) вершин обратного направления тестирования составляет одна вершина, а именно та принадлежащая 00к вершина ', из которой вершина г включена в эту компоненту. Соответственно сказанному, тесты над вершинами из Уд (г) называем прямыми, а над вершинами из Ув(г) —обратными. Принято, что обратный тест для вершины г осуществляется после выполнения всех прямых тестов.

Пусть в компоненте связности 00к = (У0к, Е0к) вершина г — очередная тестирующая вершина и Уд = У0к \ {г}. В работе [7] установлены следующие свойства структуры компоненты связности:

1) в формируемой компоненте связности для всякого к Е Уд существует простой путь из вершины к в вершину г;

2) в компоненте связности, закончившей своё формирование (порядок компоненты не более £*), все дуги являются симметрическими.

Рассмотрим вершины г,' Е У0к, смежные в компоненте связности 00к. Выделим три правила, использование которых позволяет по исходу одного теста определять состояние целой группы вершин (так называемые групповые тесты).

1. Если выполняется а(г,') = а(',г) = 0, то обе вершины исправны или обе неисправны.

2. Если вершина ' неисправна и а(г,') = 0, то вершина г также неисправна.

3. Если выполняется а(г,') = 0 и а(',г) = 1, то вершина г неисправна независимо от состояния вершины '.

Нетрудно видеть, что правила 1 и 2 являются транзитивными.

Из транзитивности правила 1 следует, что в компоненте связности 00к, закончившей своё формирование, все вершины имеют одинаковое состояние. Это позволяет определять состояние всех её вершин по исходу единственного теста, выполняемого из любой вершины диагностического ядра над смежной с ней вершиной из 00к.

Рассмотрим формируемую компоненту связности 00к, если её порядок не более £*. Пусть неисправность вершины ' этой компоненты установлена в процессе её обратного тестирования из вершины гЕУ0к. В таком случае для вершины ' выполняется свойство (1) структуры, и вследствие транзитивности правила 2 тест (г,') идентифицирует неисправность всех вершин из {' } и Ув ('). Таким образом достигается возможность «раннего», т. е. до выявления диагностического ядра, обнаружения неисправных вершин.

Аналогично осуществляется «ранняя» идентификация неисправных вершин из {'} и Ув(') для компоненты связности порядка (£* + 1), когда выполняется обратный тест (г,') из очередной идентифицированной исправной вершины г этой компоненты. Заметим, что если для выполняемого обратного теста получено а(г, ') = 0, то состояние исправности устанавливается для вершины ' и для вершин, связанных с нею цепями из симметричных дуг согласно правилу 1.

Подводя итог сказанному, финальные состояния (состояние исправности или неисправности) для вершин графа могут быть установлены в любой из последовательно выполняемых фаз диагностирования: фаза 1 — от начала выполнения алгоритма до идентификации первой исправной вершины; фаза 2 — от идентификации первой исправной вершины г до завершения идентификации финального состояния всех вершин компоненты связности, в которую входит вершина г; фаза 3 — от завершения фазы 2 до завершения идентификации финального состояния для всех вершин графа.

Эффективность диагностирования ВС изучается методом имитационно-статистического моделирования функционирования системы при использовании децентрализованной реализации алгоритма «СЧЁТ». Корректность, полнота и конечность этого алгоритма показаны в работе [7].

Алгоритм «СЧЁТ» является полным в том смысле, что он обеспечивает определение финального состояния для любого допустимого образа неисправностей и любого порождаемого им синдрома. Образ неисправностей и порождаемый им синдром — случайные события. Законы распределения этих событий задают среду для выполнения алгоритма самодиагностирования. Изучение поведения алгоритма самодиагностиро-вания в такой среде позволяет достичь двух целей:

1. Определить условия и границы практического применения рассматриваемого подхода к самодиагностированию.

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

Параметрами, задающими условия выполнения алгоритма самодиагностирования, являются структура диагностического графа 0 = (У, Е) и мощность г образа неисправностей. Для исследуемого диагностического графа 0 = (У, Е) порядка N = |У | параметр г пробегает значения от 1 до £*.

Для каждой пары 0 и г проводится В опытов, в ходе которых собираются необходимые статистические данные. В каждом опыте неисправные вершины, составляющие образ неисправностей Гк С У, порождаемый этим образом синдром Б к и вершина, которая соответствует модулю, инициирующему диагностирование системы, выбираются по жребию.

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

В качестве основных интегральных характеристик эффективности диагностики используются следующие показатели.

1. Вектор-коэффициент К1 = {К1г}, г Е {1, 2,... ,£*}, относительных расходов на определение состояния ВС (служит мерой полноты использования тестов над системой). Его координатами являются величины К1г = Мг(Т1)/ |Е|, где Мг(Т1) —среднее

число тестов, необходимых для определения состояния ВС, когда ^к| = г. Для рассматриваемых диагностических графов |Е| = 2п^ (в рассматриваемом случае п = 2). Значение | Е| соответствует общему числу тестов над модулями системы.

2. Вектор-коэффициент К2 = {К2г} (служит для оценки относительных накладных расходов на выделение диагностического ядра). Его координатами являются величины К2г = (Мг(Т2) — £*)/£*. Здесь Мг(Т2) — среднее число тестов, необходимых для идентификации первой исправной вершины, когда |Гк| = г, а кратность неисправностей £* совпадает с минимальным числом тестов, выполнение которых необходимо для идентификации первой исправной вершины.

Очевидно, что чем меньше значения К1г и К2г, тем эффективнее алгоритм само-диагностирования.

Для оценки условий практической полноты алгоритма применяются вектор-коэффициенты, координатами которых являются значения характеристик событий, связанных с формированием компонент связности и возможностью идентификации состояния их вершин. Эти события характеризуются средними значениями, которые рассчитываются по множеству всех В опытов, а также условными средними значениями, которые рассчитываются по множеству В(д) С В опытов, в которых анализируемое событие д случается. Завершение формирования компонент связности характеризуют показатели 3-6.

3. Вектор-коэффициент К3 = {К3г} относительного покрытия образа неисправностей мощности г. Координатами К3 являются величины К3г = Мг(Ар)/г, где Мг (Ар) —среднее число событий Ар, т. е. среднее число неисправных вершин г Е Гк, которые были включены во все сформированные в фазе 1 компоненты связности. Средние значения координат К3 рассчитываются на множестве всех В опытов.

4. Вектор-коэффициент К4 = {К4г} эффективности обратного тестирования с координатами К4г = (Мг(А1) + Мг(А2))/г, где МгН(А1) и МгН(А2) —среднее число событий А1 и А2 соответственно. События А1 и А2 состоят в идентификации неисправных вершин по результатам обратного тестирования соответственно в ходе выполнения фазы 1 и 2 диагностирования.

5. Вектор-коэффициент К5, координатами которого служат значения условного среднего числа К5г = М5г (А1) событий А1. Значения М5г (А1) рассчитываются на множестве В(А1) опытов, в которых событие А1 имеет место.

6. Вектор-коэффициент К6, координатами которого служат значения условного среднего числа К6г = М6г (Т6) тестов до первого события А1. Значения М6г (Т6) рассчитываются на множестве В(А1) опытов, в которых событие А1 происходит.

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

Эффективность использования ненадёжных тестов класса 9 изучается на примере групп-графа с двумя образующими д0 и ^1, заданного определяющими отношениями $0° = I, ^2 = ^0, где I — единичный элемент группы; порядок группы N = 30.

В ходе моделирования выявлена монотонность убывания значений координат анализируемых вектор-коэффициентов при росте N. Поэтому численные значения, полученные для N = 30, для масштабируемых ВС могут рассматриваться как оценки снизу для эффективности использования тестов класса 9.

3. Обсуждение результатов

Введённые показатели эффективности алгоритма «СЧЁТ» представляют собой монотонно возрастающие функции от г и монотонно убывающие функции от N.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Говоря в общем, полученные результаты моделирования подтверждают ожидаемое изменение характера самодиагностирования, связанное с изменением вероятности исхода ненадёжного теста. Для образа неисправностей Гк заданной мощности г переход от тестов класса 1 к тестам класса 9 вызывает увеличение числа компонент связности, образуемых в первой фазе самодиагностирования, и уменьшение их порядков, а также уменьшение числа неисправных вершин, включённых в компоненту связности порядка (£* + 1). Следствием этого является ожидаемое падение эффективности обратного и группового тестирования.

Относительно зависимости численных значений показателей алгоритма от используемого класса ненадёжных тестов можно отметить следующее.

1. Результаты имитационно-статистического моделирования показали, что предлагаемый алгоритм самодиагностирования обладает высокой эффективностью, которая увеличивается с ростом N. Число тестов, необходимых для идентификации финального состояния вершин графа в исследованном диапазоне изменения N, не превосходит величины 0,4 |Е|.

Значения координат вектор-коэффициента К1 для классов 1 и 9 при N = 30 приведены в табл. 3. Наблюдаемый незначительный рост относительных расходов на определение состояния ВС для класса 9 связан с уменьшением вероятности использования группового тестирования.

Таблица 3

Координаты вектор-коэффициента Кі

г 1 2 3 4 5 6 7 8

Класс 1 0,311 0,314 0,317 0,320 0,324 0,329 0,333 0,339

Класс 9 0,312 0,314 0,318 0,321 0,326 0,331 0,336 0,343

2. В исследованном диапазоне значений 90 ^ ^ 13 и і* ^ г ^ 1 координаты

вектор-коэффициента К2 для тестов класса 1 находятся в диапазоне от 0,1 до 0,5 при N =13 и от 0,01 до 0,3 при N = 90.

Увеличение вероятности исхода а(і,^') = 1 для ненадежного теста класса 9 при г ^ і* практически не сказывается на величине относительных накладных расходов на выделение ядра. Значения координат вектор-коэффициента К2 для классов 1 и 9 при N = 30 приведены в табл. 4.

Таблица 4 Координаты вектор-коэффициента К2

г 1 2 3 4 5 6 7 8

Класс 1 0,035 0,08 0,145 0,18 0,24 0,30 0,39 0,48

Класс 9 0,041 0,09 0,148 0,20 0,27 0,34 0,42 0,52

3. Для тестов класса 1 координаты К3 находятся в диапазоне от 0,077 до 0,092 для N = 13 ив диапазоне от 0,011 до 0,013 для N = 90. При этом значения координат вектор-коэффициента К4 меньше соответствующих значений К3 менее чем на 7 процентов для N =13 и менее чем на 4 процента — для N = 90. Разность значений К3 и

К4 указывает на долю тех неисправных вершин в компонентах связности, сформированных в фазах 1 и 2, состояние которых определяется в фазе 3 с помощью групповых тестов из исправных вершин. Вклад в значение координат вектор-коэффициента К3 определяется отношением Мг (А1) : Мг (А2) : Мг (А3) = 10-3 : 1 : 1-1, то есть основной вклад в значение координат этого вектор-коэффициента вносит вхождение неисправных вершин в компоненту связности порядка (£* + 1). В фазе 3 алгоритма определяется не менее 0,9г неисправных вершин.

Для тестов класса 9 значения координат вектор-коэффициента К3 относительного покрытия образа неисправностей остаются на уровне тестов класса 1, а значения координат вектор-коэффициента К4 эффективности использования обратного тестирования уменьшаются. В табл. 5 приведены значения координат вектор-коэффициентов К3 и К4 для N = 30.

Таблица 5

Координаты вектор-коэффициентов Кз и К4

г 1 2 3 4 5 6 7 8

К3, класс 1 0,0338 0,0341 0,0362 0,0373 0,0383 0,0400 0,0415 0,0439

К3, класс 9 0,0338 0,0348 0,0348 0,0369 0,0378 0,0900 0,0400 0,0421

К4, класс 1 0,0311 0,0321 0,0335 0,0348 0,0355 0,0380 0,0391 0,0408

К4, класс 9 0,0228 0,0233 0,0233 0,0250 0,0255 0,0265 0,02720 0,0290

4. Событие А1 характеризуется вектор-коэффициентами, координатами которых являются вероятность, с которой оно случается, среднее число неисправных вершин, идентифицируемых в фазе 1 самодиагностирования, и среднее число тестов до первого события А1. Указанные средние значения рассчитываются как по исходам всех В опытов, так и по исходам В(А1) тех опытов, в которых событие А1 случается. Эти показатели позволяют уточнить обстоятельства, при которых событие А1 происходит.

4.1. Анализ значений координат К3 показывает, что для тестов класса 1 событие А1 является достаточно редким. В рассмотренном диапазоне значений N наибольшая величина вероятности события А1, равная 0,0139, достигается при N = 22 и г = 7.

4.2. Установлено, что в классе 1 ненадёжных тестов при любом N для г = £*/2 среднее число событий А1 составляет приблизительно 10-4. Наибольшее среднее число неисправных вершин, идентифицируемых в фазе 1, рассчитанное на множестве всех В опытов, составило величину 0,018. Это значение найдено для N = 40 и г = 12.

4.3. Вектор-коэффициент К5 характеризует эффективность обратного тестирования в фазе 1. Для класса 1 ненадёжных тестов в исследованном диапазоне параметров координаты К5 находятся в диапазоне между 1 и 1,34 вершинами. По итогам моделирования можно принять, что в исследованном диапазоне параметров для любого N при г = £*/2 условное среднее число неисправных вершин, идентифицируемых в фазе 1 алгоритма, равно 1,2 (заметим, что условное среднее число выполненных для этого тестов составляет величину 6,125).

4.4. Структуру формируемой компоненты связности, в которой по исходу обратного тестирования идентифицируются вошедшие в неё неисправные вершины, характеризует вектор-коэффициент К6. Анализ показал, что в классе 1 ненадёжных тестов координаты этого вектор-коэффициента находятся в диапазоне от 5,5 до 7,0; при этом наименьшее возможное количество тестов до события А1 при г ^ 2 и п = 2 равно 5 (заметим, что при г =1 событие А1 не происходит). Указанные значения среднего числа тестов до события А1 означают, что в фазе 1 идентификация неисправной вершины

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

4.5. Для класса 9 ненадёжных тестов вероятность события А1 идентификации неисправных вершин в фазе 1 самодиагностирования уменьшается по сравнению с тестами класса 1. Средний размер компоненты связности, финальное состояние вершин которой идентифицируется в фазе 1 алгоритма, также уменьшается, а само событие идентификации неисправных вершин случается позднее, чем для тестов класса 1.

В табл. 6 приведены значения координат вектор-коэффициентов К5 и К6 для N = 30.

Таблица 6 Координаты вектор-коэффициентов К5 и Кб

г 2 3 4 5 6 7 8

К5, класс 1 1,005 1,047 1,080 1,098 1,171 1,181 1,273

К5, класс 9 1,000 1,008 1,041 1,064 1,108 1,130 1,175

Кб, класс 1 5,320 5,750 5,890 6,050 6,050 6,290 6,512

Кб, класс 9 6,120 6,290 6,290 6,580 6,030 6,720 6,830

5. Полученные при моделировании данные показывают, что значения координат р(А2) вектор-коэффициента вероятности идентификации неисправной вершины в фазе 2 самодиагностирования образуют функцию, близкую к линейной.

5.1 Для класса 1 ненадёжных тестов аппроксимирующая функция для зависимости р(А2) от значений г имеет вид у = кмг, где км —величина р(А2), найденная для заданного N при г =1. Максимальная относительная погрешность коэффициента км при аппроксимации методом наименьших квадратов составляет не более 1%. Значения км приведены в табл. 2.

При использовании ненадёжных тестов класса 9 вероятность идентификации неисправных вершин в фазе 2 сохраняет линейный характер, но значение км уменьшается. Так, для N = 30 получено к^ = 0,023, а для N = 90 имеем к^ = 0,0084.

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

Моделирование показало, что для класса 1 ненадёжных тестов среднее число неисправных вершин, идентифицируемых в фазе 2 самодиагностирования, находится в диапазоне от 1,07 до 1,72 при N =13 и от 1,005 до 1,2 при N = 90.

Для класса 9 ненадёжных тестов среднее число неисправных вершин, идентифицируемых в фазе 2, уменьшается. В табл. 7 приведены значения этого показателя для N = 30.

Таблица 7

Среднее число неисправных вершин, идентифицируемых в фазе 2

г 1 2 3 4 5 6 7 8

Класс 1 0,031 0,062 0,100 0,140 0,170 0,220 0,270 0,310

Класс 9 0,023 0,048 0,069 0,100 0,125 0,150 0,175 0,200

Анализ показателей, характеризующих структуру компоненты связности порядка (і* + 1), показал, что структура этой компоненты в большинстве случаев является цепью. Вероятность, что эта компонента связности имеет структуру дерева, равна 0,015.

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

6. Событие, состоящее в том, что в фазе 1 самодиагностирования потребуется формирование нескольких компонент связности, является достаточно редким. Для исследованных диагностических графов при использовании тестов класса 1 наибольшее значение вероятности, что в фазе 1 самодиагностирования потребуется формирование нескольких компонент связности, составляет 0,0425 (при N = 25, г = 8), а среднее число компонент связности равно 1,0485. Для любого графа исследованной области значение 0,01 вероятности формирования в фазе 1 более одной компоненты связности достигается при г = N/2. (Заметим, что минимальное число формируемых компонент связности равно 1, что соответствует случаю, когда порядок первой компоненты равен (£* + 1).)

При переходе от класса 1 к классу 9 ненадёжных тестов событие перехода к формированию новой компоненты связности становится чаще, а среднее расстояние передачи метки «Начальная вершина компоненты» уменьшается. В табл. 8 для случая N = 30 приведены значения координат вектор-коэффициента К7, характеризующего среднее число событий, когда в фазе 1 формируется более одной компоненты связности, и вектор-коэффициента К8, характеризующего среднее число формируемых компонент связности.

Таблица 8

Координаты К7 и К8

г 1 2 3 4 5 6 7 8

К7, класс 1 0,002 0,004 0,007 0,011 0,015 0,018 0,023 0,033

К7, класс 9 0,002 0,004 0,007 0,012 0,016 0,018 0,022 0,034

К8, класс 1 0,010 0,021 0,035 0,050 0,063 0,080 0,100 0,180

К8, класс 9 0,010 0,021 0,035 0,051 0,0631 0,081 0,101 0,181

Типичный сценарий самодиагностирования выглядит следующим образом. В большинстве случаев первая же формируемая компонента связности имеет порядок (£* + 1) вершин и структуру простой цепи. В тех случаях, когда формирование компоненты начинается с неисправной вершины, компонента связности может приобретать структуру дерева, ветви которого исходят из начальной вершины и состоят из неисправных вершин. Таким образом, в фазе 2 алгоритма число выполняемых обратных тестов близко порядку компоненты связности. Если в ходе диагностирования образуется несколько компонент связности, то эти компоненты связности в типичном случае состоят из одной-двух вершин, а число образуемых компонент также исчисляется единицами. Следовательно, эффективность использования групповых свойств тестов в фазах 1 и 3 алгоритма невелика. Начальные вершины последовательно формируемых компонент связности в типичном случае оказываются смежными в диагностическом графе. Возможность идентификации неисправной вершины по исходу обратного тестирования в фазе 1 алгоритма имеет малую вероятность.

Итак, полученные при моделировании результаты показывают, что значительная часть сложности полного и корректного алгоритма самодиагностирования «СЧЁТ» связана с обработкой событий, имеющих малую вероятность. Это даёт возможность в случае использования ненадёжных тестов класса 1 упростить алгоритм, сохранив за ним свойство практически полного. Так, с небольшой потерей эффективности можно

отказаться от: 1) использования алгоритма формирования остовного цикла для диагностического графа; 2) хранения структуры компонент связности, если финальное состояние их вершин не идентифицировано в фазе 1 алгоритма.

Модели системы самодиагностирования с ненадёжными тестами классов 1 и 9 имеют одно и то же множество допустимых неисправностей и совместных с ними синдромов. Различие состоит только в значениях вероятности образования каждого конкретного синдрома. Естественно поэтому, что алгоритм «СЧЁТ» сохраняет работоспособность для ненадёжных тестов обоих этих классов. Переход от класса 1 к классу 9 сказывается лишь на получаемых численных значениях показателей эффективности алгоритма самодиагностирования.

Наиболее существенным в этом отношении является то, что при использовании тестов класса 9, во-первых, уменьшается вероятность образования компонент связности порядка 2 и более; во-вторых, значительно уменьшается вероятность того, что при а(*> Э) = 0 имеет место Э € Г&.

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

Пусть Goi — компонента связности, имеющая структуру ориентированного восходящего дерева, в котором г — корневая вершина, а Э — лист. Пусть к — вершина диагностического ядра, а вершины г и к смежны в диагностическом графе С. Если а(к, г) = 0, то исход теста имеет групповой характер: все вершины в исправны. Если к — вершина диагностического ядра, а вершины Э и к смежны в диагностическом графе С, то а(к,Э) = 1, и вершина Э неисправна. К вершине Э при этом применимо правило 2 группового тестирования, согласно которому все вершины в С^, входящие в путь из г в Э , неисправны.

Второе обстоятельство позволяет использовать в качестве диагностического ядра последнюю вершину простой ориентированной цепи, состоящей из к, к < £*, вершин, в которой все дуги имеют вес 0. Здесь решающее правило состоит в том, что в ориентированной цепи исправные вершины не могут предшествовать неисправным, и чем длиннее такая цепь, тем больше вероятность, что конечная её вершина исправна. Для заданной вероятности р(0) в ориентированной цепи, начинающейся неисправной вершиной и содержащей к вершин, вероятность, что последняя вершина окажется неисправной, равна р(0)г-1. К примеру, для выбранного значения р(0) = 0,25 при к = 5 вероятность того, что пятая вершина цепи окажется неисправной, равна р(0)4 = = 0,004. Заметим, что полученное значение вероятности оказаться неисправной для (к + 1)-й вершины цепи позволяет использовать в качестве ядра цепь из пяти вершин при любом значении N.

Заключение

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

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

Проведённые исследования позволяют также поставить новую задачу в области диагностирования систем с кратными отказами — задачу разработки теста с заданными характеристиками надёжности.

ЛИТЕРАТУРА

1. Preparata F. P., Metze G., Chien R. J. On connection assignement problem of diagnosable systems // IEEE Trans. El. Comput. 1967. V. EC-16. No. 12. P. 848-854.

2. Barsi F., Grandoni F., Maestrini P. A theory of diagnosability of digital systems // IEEE Trans. Comput. 1976. V. C-25. No. 6. P. 585-589.

3. Радойчевски В. Ц., Шалаев А. Я. Параллельная диагностируемость модульных систем при децентрализованной дешифрации синдрома // Электронное моделирование. 1992. Т. 14. №1. С. 57-63.

4. Lee S. G., Shin K. G. Probabilistic diagnosis of multiprocessor systems // ACM Computing Surveys. March 1994. V. 26. P. 121-139.

5. Maheshwari S. N., Hakimi S. L. On model for diagnosable systems and probabilistic fault diagnosis // IEEE Trans. Comput. 1976. V. C-25. No.3. P. 228-236.

6. Fujiwara H., Kinoshita K. Some extence theorems for probabilistically diagnosable systems // IEEE Trans. Comput. 1978. V. C-27. No. 4. P. 379-384.

7. Димитриев Ю. К. Самодиагностика модульных вычислительных систем. Новосибирск: ВО «Наука», 1993. 293 с. (Гл. 3, п. 3.6.)

8. Корнеев В. В. О макроструктуре однородных вычислительных систем // Вопр. теории и построения вычисл. систем. Новосибирск, 1974. Вып. 60. С. 17-34.

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