Научная статья на тему 'Самодиагностирование возникающих отказов и их устранение в цифровых системах с реконфигурацией'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ведешенков В. А.

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

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

SYSTEM-LEVEL SELF-DIAGNOSIS OF ARISING FAULTS AND THEIR ELIMINATION IN RECONFIGURABLE SYSTEMS

The paper offers a system-level method for self-diagnosis (SD) and elimination of arising faults of the components (modules and communication lines) of reconfigurable systems. The method assumes stable multiple faults of a limited number of components where a single fault may arise during the SD process. In order to detect such faults and to provide the correct diagnosis, the SD process is started two or more times, and the last two diagnoses are compared. The moving redundancy technique is used to eliminate the failed components by on-line reconfiguration. A case study of the SD method implementation for a single fault during the SD process and the reconfiguring of a 2-fault-tolerant system is also included.

Текст научной работы на тему «Самодиагностирование возникающих отказов и их устранение в цифровых системах с реконфигурацией»

П адежность и техническая диагностика

УДК 681.518.54;004.3.001.4

САМ0ДИАГН0СТИР0ВАНИЕ ВОЗНИКАЮЩИХ ОТКАЗОВ И ИХ УСТРАНЕНИЕ В ЦИФРОВЫХ СИСТЕМАХ С РЕКОНФИГУРАЦИЕЙ

В. А. Ведешенков Институт проблем управления им. В. А. Трапезникова, г. Москва

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

ВВЕДЕНИЕ

Многопроцессорные вычислительные системы (МВС) широко применяются в автоматизированных системах управления различными объектами. Необходимая отказоустойчивость МВС часто достигается с помощью стратегии динамической избыточности, включающей в себя этапы контроля работоспособности системы, идентификации отказавшего компонента, реконфигурации для его замены исправным компонентом из числа резервных, восстановления функционирования системы [1, 2]. Методы синтеза графа структуры отказоустойчивых систем, предложенные в работе [2], позволяют построить граф с заданной степенью т отказоустойчивости (т-ОУ граф) для целевого (исходного неизбыточного) графа достаточно общего вида. Применение инвариантно-группового подхода приводит к получению структур т-ОУ графов регулярного вида, что упрощает процедуры их диагностирования и реконфигурации. Но работ по диагностированию отказавших компонентов и реконфигурации в отказоустойчивых системах немного [3—6], причем в работе [6] основное внимание было уделено разработке метода СД устойчивых отказов компонентов цифровых систем с реконфигурацией.

В настоящей статье при тех же предпосылках об объекте исследуются особенности СД тех компо-

нентов, которые отказывают во время процесса СД. Результаты взаимного тестирования отдельных частей системы (модулей), как и в работе [6], описываются с помощью модели Барси—Грандо-ни—Маестрини (сокращенно, модели БГМ) [7]. Суммарный результат проверки модулей системы образует двоичный вектор 5, который называется реальным синдромом [7, 8]. Поскольку в данной работе тестовая информация будет представляться в табличном виде, то в дальнейшем будем говорить

об обработке табличной информации.

Ниже представлен метод СД возникающих отказов цифровых систем с реконфигурацией, опирающийся на принцип расширяющихся областей, который состоит в том, что выполнение необходимых процедур начинается с исправного модуля и последовательно передается другим модулям, исправность которых подтверждена предшествующими проверками. Основой применения этого принципа служит следующая гипотеза модели БГМ: нулевой результат, выдаваемый проверяющим модулем (МПщ), подтверждает исправность проверенного им модуля, поэтому для идентификации исправных модулей достаточно 0-путей единичной длины (в терминологии работы [9]). Добавим, что начальный модуль СД не является фиксированным, а определяется по результатам работы системы контроля [10].

СВЕДЕНИЯ ОБ ОБЪЕКТЕ ДИАГНОСТИРОВАНИЯ

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

я-вершинного целевого графа *° и заданной степени р отказоустойчивости искомый объемлющий граф *5+ р. Наличие гамильтонова цикла в

целевом графе *° является необходимым условием существования отказоустойчивого графа *5 + р.

Граф *5+ р р-отказоустойчивой (ОУ) системы содержит (я + р) вершин, из которых я вер шин соответствуют рабочим модулям, а оставшиеся р вершин — резервные. Он симметричен относительно (я + р) поворотов (сдвигов) вокруг центра графа на угол = 360о/(я + р), т. е. при повороте

на угол каждая вершина вместе с инцидентны-

ми ей дугами совмещается с соседней вершиной и инцидентными ей дугами. Такая симметрия графа

*5+р обеспечивает замену отказавшей вершины и инцидентных ей дуг на исправную вершину и инцидентные ей дуги путем поворота на соответствующий угол, кратный й^.

Обозначим символом су (са) максимальное число отказавших вершин (внешних дуг) р-ОУ графа *5+р, которые могут быть исключены из состава работающей системы путем смены рабочей конфигурации (РК); тогда справедливо соотношение

су + са < р. (1)

Соотношение су < р при са = 0 очевидно, так

как, по определению, граф *5+ р является р-ОУ относительно отказов р е го вершин. Для устранения отказавшей внешней дуги, соединяющей соседние вершины гамильтонова цикла, необходимо вывести из состава РК (и не использовать в последующих РК) хотя бы одну из этих вер шин, т. е., по существу, считать ее отказавшей. Таким образом, для устранения са отказавших внешних дуг нужно исключить са вершин, если эти дуги не имеют общих вершин. Неравенство в соотношении (1) учитывает влияние возможных отказов внутренних дуг, которые могут понизить оценки для чисел су и са.

Для примера на рис. 1 показан исходный целевой граф *0 : внешние дуги образуют гамильтонов

-V I О

9 )

I з

2

Рис. 2. Диагностический граф рабочей конфигурации № 8 2-ОУ системы

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

Каждая из конфигураций (структур) исправной р-ОУ системы, представленной графом *5+ р, включает в себя я рабочих и р резервных модулей (вершин графа). Для упрощения будем считать, что исходная РК содержит я смежных рабочих вершин, номера которых совпадают с номерами целевого графа, а добавленные (резервные) вершины также являются смежными. Последовательно сдвигая (я + р) вершин на одну позицию, напри-

мер, против часовой стрелки, получим остальные (п + т — 1) РК.

Для последующих действий представим информацию о графе *5+ т в виде таблицы, которую назовем первичной [5]. В ее левом столбце запишем номера (п + т) РК, в следующих (п + т) столбцах — составы этих РК, а затем — номера дуг, соответствующие номерам дуг исходной РК (т. е. номерам дуг целевого графа). Пример первичной таблицы, построенной для графа *5°, представлен в табл. 1. Она содержит восемь столбцов для номеров рабочих вершин, два столбца — для резервных вершин и пять столбцов — для номеров дуг целевого графа (подробнее о составе этих дуг — при обсуждении примера).

По мере функционирования т-ОУ системы и накопления в ней отказавших компонентов для их устранения из состава работающей системы целесообразно использовать РК с мен ьшим числом резервных вершин. Для систематического перебора таких РК нужна совокупность вторичных таблиц первого, второго, ..., т-го уровней, по структуре подобных первичной таблице, но содержащих меньше на одну, две, ..., т резервных вершин [5].

ПОСТАНОВКА ЗАДАЧИ

Пусть анализируемая т-ОУ система представлена диагностическим графом *5+т, п вершин которого представляют п рабочих модулей (процессоров) системы, а т оставшихся вершин — резервные и (или) отказавшие модули. По построению, граф *5 + т — симметричный и однородный, но не обязательно полный.

Будем считать, что допускаются устойчивые кратные отказы ограниченного числа вершин и дуг. В отличие от работы [6] предполагается, что во время выполнения СД может возникнуть одиноч-

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

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

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

МЕТОД САМОДИАГНОСТИРОВАНИЯ ОТКАЗАВШИХ КОМПОНЕНТОВ

Модель БГМ и связанные с ней правила дешифрации результатов тестирования предполагают, что в процессе тестирования компонента его техническое состояние (исправное или неисправное) остается неизменным. Однако эта предпосылка может и не выполняться во время процесса СД. Но если отказ компонента возникнет в процессе СД, то одни МПщ будут тестировать его в исправном состоянии, а другие — в неисправном состоянии. Тогда дешифрация результатов тестирования может дать неправильный диагноз. Для обнаружения отказов, возникающих в процессе СД, и получения правильного диагноза будем дву-и более кратно запускать процесс СД и сравнивать результаты двух соседних запусков. Совпадение результатов первого и второго запусков свидетельствует о том, что неисправности компонентов, подозреваемых в отказе, имели место до первого запуска, а потому не привели к расхождению полу-

1

Первичная таблица

№№ п/п Номера рабочих вершин Резервные вершины Номера дуг

1 2 3 4 5 6 7 8 9 1° 11 12 13 14 15

° 0 1 3 2 6 7 5 4* 8 9 4—0 0—2 3—7 6—4 5—1*

1 1 3 2 6 7 5 4* 8 9 0 8—1 1—6 2—5 7—8 4—3

2 3 2 6 7 5 4* 8 9 0 1 9—3 3—7 6—4 5—9 8—2

3 2 6 7 5 4* 8 9 0 1 3 0—2 2—5 7—8 4—0 9—6

4 6 7 5 4* 8 9 0 1 3 2 1—6 6—4 5—9 8—1 0—7

5 7 5 4* 8 9 0 1 3 2 6 3—7 7—8 4—0 9—3 1—5*

6 5 4* 8 9 0 1 3 2 6 7 2—5 5—9 8—1 0—2 3—4

7 4* 8 9 0 1 3 2 6 7 5 6—4 4—0 9—3 1—6 2—8

8 8 9 0 1 3 2 6 7 5 4* 7—8 8—1 0—2 3—7 6—9

9 9 0 1 3 2 6 7 5 4* 8 5—9 9—3 1—6 2—5 7—0

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

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

Как и в работе [6], будем представлять информацию о составе выбранной РК № ^ системы в виде таблицы . Она состоит из п строк , ..., Т., ..., 7п^, в каждой из которых для модуля т. (у = ,

..., п^, где 0 < /^, ..., п^ < п + т — 1) записаны номера

Таблица сост;

модулей-преемников ти, р2, ...; в ней также есть поля для записи результатов проверки модулем р. этих преемников г. N1, Г] N2, ... и значений их ранга при ранжировании графа. Пример такой таблицы 760, построенной для РК № 0 (см. табл. 1), показан в табл. 2. Как видно, в каждой из ее восьми строк заполнены только клетки для проверяющего модуля т. и его преемников — ри, ..., тк3.

Для отображения взаимного положения модулей в гамильтоновом цикле будем записывать в строке Tj преемников модуля т. так, что модуль ти является соседом справа модуля т., который, в свою очередь, является соседом справа для своего последнего преемника (модуля ти в рассматриваемом примере). Для РК № 0 выбран такой гамильтонов цикл: 0 о 1 о 3 о 2 о 6 о 7 о 5 о 4 о 0, именно в таком порядке в табл. 2 записаны строки Т..

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

• из таблицы 7^ выделить строку 7п, найти в ней номера преемников ти, т^, ...; проверить их техническое состояние и в клетки Гп N1, Гп N2, ... строки Тп записать результаты проверок в двоичном коде: 0 — исправен, 1 — подозревается в отказе;

• оценить результаты проверок:

— если результаты всех проверок — нулевые (ип, и = 0, ип, к2 = 0, ...), то передать модулю ти управление продолжением процесса контроля;

Табли^а 2

Т6 0 для РК № 0

Символ строки Проверяющий модуль и ранг Преемники т, результаты их проверок и ранг

т. ранг т. Ри N1 ранг тн РИ 0, N2 ранг ти mN 3 0, N3 ранг т^. з

т т0 0 — 1 — — 2 — — 4 — —

'1 1 — 3 — — 5 — — 0 — —

т т 3 3 — 2 — — 7 — — 1 — —

т ' 2 2 — 6 — — 0 — — 3 — —

Т6 6 — 7 — — 4 — — 2 — —

Т7 7 — 5 — — 3 — — 6 — —

Т5 5 — 4 — — 1 — — 7 — —

Т4 4 — 0 — — 6 — — 5 — —

— если среди полученных результатов проверок есть как единичные, так и нулевые (например, гп N.. = 0), то передать одному из модулей с нулевым результатом (модулю т^.) управление для перехода к процессу СД;

— если же проверки всех преемников тп дали единичные результаты, то процесс контроля нужно начать с другого модуля (например, с модуля тп2, находящегося в “середине” гамильтонова цикла).

Модуль ти и каждый из последующих модулей выполняют аналогичные действия. Этот процесс проверок и “хождения” по выбранному циклу заканчивается, когда управление возвращается к начальному модулю тп (тп2). Такой детерминированный путь обхода вершин графа возможен только при исправном состоянии всех компонентов проверяемой РК. Если же на одном из этапов контроля получен единичный результат, свидетельствующий об обнаружении одного или нескольких отказавших компонентов, то процесс контроля прерывается, и диагностический монитор переходит к процессу СД.

На основе информации, полученной в процессе контроля, монитор начинает первый запуск процесса СД с того модуля т., исправность которого подтверждена проверкой, выполненной тем же модулем т/, который первым получил единичный результат при проверке другого преемника — модуля тг Начальный модуль т. (^тп, тп2) должен выполнить следующие действия:

— из таблицы состава 76и, выделить строку Т., переписать ее в промежуточную таблицу 37^ (в индексе символа указан номер . начального МПщ и номер запуска СД);

— в строке 7.. найти номера преемников ти, тк 2, ...; проверить их состояние и в клетки и•. N1, г. N2, ... строки Т. записать результаты проверок;

— по нулевым результатам проверок в строке 7. выделить подмножество номеров исправных преемников {т.} и первому из них передать таблицу 37.1 и функции МПщ на следующем шаге СД.

Если среди преемников т. нет ни одного исправного, то процесс СД не может быть продолжен, и для получения диагностических результатов монитор должен запустить процесс контроля или СД с другого начального модуля.

Очередной исправный модуль ти, получив управление процессом СД, должен выполнить следующие действия (функции МПщ):

1) из таблицы состава 76и, выделить строку 7и, переписать ее в таблицу 37.1, полученную от предшественника т. (т, _ ,);

у и 1

2) в строке 7и найти номера преемников ти, р^2, проверить их состояние и в клетки Ги и, ги N2, ... строки 7и записать результаты проверок;

3) по нулевым результатам проверок в строке 7и выщелить подмножество исправных преемников {#и}, сравнить номера {ти} с номерами модулей в левом столбце 37^:

— если один из номеров подмножества {ти} отсутствует в списке номеров левого столбца 37^ то передать соответствующему модулю (ти + 1) таблицу 37^ и функции МПщ на следующем шаге; при этом модуль ти + 1 вернется к п. 1 процесса СД;

— если два (или больше) номера из подмножества {ти} отсутствуют в списке номеров левого столбца 37.1, то одному из модулей с этими номерами (например, ти) передать таблицу

37.1 и функции МПщ на следующем шаге;

— если все номера {ти} — в списке номеров левого столбца 37.1, то перейти к п. 4;

4) найти кратчайший путь от модуля ти к одному из исправных модулей ти + 1, ти + 2, ..., ти + г1, еще не исполнявших функции МПщ, с помощью процедуры ранжирования (см. работы [6, 10]), передать найденному модулю ти + 1 (ти + 2, ...) таблицу 37.1 и функции МПщ на следующем шаге; если при выполнении процедуры ранжирования выяснится, что все обнаруженные исправные модули исполняли функции МПщ, то это означает, что первый запуск СД завершен.

Если данный запуск СД быт первым, то для подтверждения результатов проверок, накопленных в таблице 37.1, и обнаружения возможных новых отказов диагностический монитор должен выполнить второй запуск СД с модуля ти + г1, на котором закончился первый запуск.

Для совпадения описаний процедур, выполняе-мыгх в первом и втором запусках, модулю ти + г1 присвоим тот же символ т. (начальный модуль второго запуска СД). Тогда модуль т. должен выполнить такие действия:

— образовать новую таблицу 37.2 и переписать в нее из таблицы 37.1 строку 7и + г1 с результатами проверок, полученными модулем ти + г1 в процессе первого запуска СД (в индексе символа данной таблицы указан номер . начального МПщ и номер запуска);

— по нулевым резул ьтатам проверок в строке 7. ({7и + г1) выделить подмножество номеров исправных преемников {т.} и первому из них (например, модулю ти) передать таблицы 37.1, 37.2 и функции МПщ на следующем

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

шаге СД. (В отличие от первого запуска такой исправный преемник всегда существует, так как модуль ти + г1 (=т.) получал управление в первом запуске процесса СД от исправного модуля.)

Очередной исправный МПщ ти, получив управление процессом СД, должен выполнить те же действия, что и в первом запуске, за исключением того, что результаты всех проверок записываются в таблицу 37М2, а не в таблицу 3Т^, содержимое которой сохраняется неизменным на протяжении второго запуска.

В процессе выполнения переходов по цепочке исправных модулей во втором запуске СД рано или поздно выяснится, что все обнаруженные исправные модули уже исполнили функции МПщ, т. е. процедуры второго запуска СД закончены. Тогда модуль ти + г2, у которого во втором запуске совпали списки исправных и проверяющих модулей, должен сравнить содержимое таблиц 37.1 и 372: сначала номера строк, затем результаты проверок ид к, ц.2 ^, ..., записанные в одноименных строках этих таблиц:

— в случае несовпадения — запустить процесс СД в третий (четвертый) раз, используя в качестве начального модуль ти + г2 (ти + й) и в

качестве начальной таблицу 372 (373);

Диагностические

— а при совпадении записей — передать в обратном направлении таблицу 3Т.2 (37.3, 374) каждому из исправных модулей, перечисленных в ее левом столбце.

Для обработки информации из полученной таблицы 372 (373, 37.4) каждый исправный модуль переписывает ее в диагностическую таблицу 7Й№, построенную заранее для РК № ^. В строке "к (к = ^, ..., «^) таблицы 7Й№ для проверяемого модуля тк записаны номера его предшественников (МПщ) тд, т.2, т.3; есть также клетки для записи результатов Цд к, к, Ц3 к его проверки этими модулями и клетки для записи диагностических заключений о состоянии модуля тк и инцидентных ему линий связи, получаемых после обработки результатов Ц.1 к, ц.2 к, Ц-3 к. Для примера в табл. 3 показаны две такие таблицы, построенные для РК № 0 (см. табл. 1), содержащие по восемь строк. Они различаются записями в столбцах, озаглавленных “Результаты проверок” и “Диагностическое заключение”. Эти записи появляются в диагностической таблице после проведения СД.

Нетрудно заметить, что при у = к преемники модуля т., показанные в строке 7 табл. 2, совпадают с предшественниками модуля тк, приведенными в левой части строки "к табл. 3, а и 3, б. Это

Таблица 3

таблицы для РК № О

Символ Предшественики тк Проверяемый Результаты проверок Диагностическое заключение

строки тл ту2 т.3 модуль тк иАк иАк ■% ау'1,к ау'2,к а/3,*

а. Диагностическая таблица Т"0 для таблицы С53

"о 1 2 4 0 0 0 - 0 0 0 -

"1 3 5 0 1 0 1 0 0 0 1 0

"3 2 7 1 3 0 0 0 0 0 0 0

"2 6 0 3 2 0 0 0 0 0 0 0

"б 7 4 2 6 0 - 0 0 0 - 0

"7 5 3 6 7 0 0 0 0 0 0 0

"5 4 1 7 5 - 1 0 0 - 1 0

"4 0 6 5 4 1 1 1 1 ] ]

б. Диагностическая таблица 7"0 для таблицы СТ31

"о 1 2 4 0 0 0 - 0 0 0 -

"1 3 5 0 1 0 1 0 0 0 1 0

"3 2 7 1 3 0 0 0 0 0 0 0

"2 6 0 3 2 0 0 0 0 0 0 0

"б 7 4 2 6 0 - 0 0 0 - 0

"7 5 3 6 7 0 0 0 0 0 0 0

"5 4 1 7 5 - 1 0 0 - 1 0

"4 0 6 5 4 1 0 1 0 1 0 1

совпадение — не случайно, оно следует из того, что в системе используются двунаправленные связи, поэтому модули тк1, тк2, тк3 — преемники модуля т. — являются также его предшественниками

т-р т^ т,т

Процедура обработки исправным модулем информации из таблицы 37.2 (37..3, 37.4) заключается в следующем:

1) из строк 7, ..., 7и, ..., 7и + и. (/ = 2, 3, 4) таблицы 3Т.-2 (37.3, 3Т.-4) выделить результаты проверок Ц, kl, ..., ии, кl, ..., ии + к1 и записать их в соответствующие клетки строк 7" таблицы 7Й№; в оставшихся клетках этих столбцов сделать прочерки (—), так как результатов этих проверок нет;

2) проанализировать результаты проверок, содержащиеся в строке "к таблицы 7Й^, и записать в клетки 5к, Яд к, я.2 к, ... этой строки символы диагностического заключения, полученные по следующим правилам:

— если в клетках результатов проверок строки "к есть хотя бы один нуль (например, Цд к = 0), то записать 0 в клетки на пересечениях строки "к со столбцами 5к и Яд к;

— если в этой же строке "к есть еще 0 (1), то записать 0 (1) в клетки на пересечениях строки "к со столбцами переменных соответствующих линий;

— если в клетках результатов проверок строки "к записаны только единицы, то записать 1 в клетку на пересечении строки "к со столбцом 5к и записать буквы ] в клетки на пересечениях строки "к со столбцами переменных соответствующих линий;

— в оставшихся клетках этих столбцов сделать прочерки (—).

Теперь расшифровка информации из таблицы

37.2 (37.3, 374) сводится к замене символов 0, 1, (—) и ], записанных в клетках строки "к таблицы 7Й№, на заключения о состояниях модуля тк и инцидентных линий связи согласно правилам: 0 о “модуль исправен”, “линия исправна”; 1 о “модуль (линия) подозревается в отказе”; (—) неопределенное состояние линии связи, потому что соответствующая проверка не выполнялась; ] о неопределенное состояние линии связи, так как отказавший модуль “маскирует” состояние инцидентной линии связи.

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

ПРОЦЕДУРА РЕКОНФИГУРАЦИИ

Обработка результатов проверок из таблицы

37.2 (373, 374) определяет подмножество компонентов в составе РК № м>, подозреваемых в отказе. Процедура реконфигурации т-ОУ системы сводится к нахождению в первичной таблице (или в одной из вторичных таблиц) такой РК № w*, в состав которой не входят компоненты, подозреваемые в отказе: т. е. отказавшая вершина займет место одной из резервных, отказавшая дуга не будет соединять пару смежных рабочих вершин и не будет входить в состав дуг, перечисленных в правой части строки w *.

После нахождения такой работоспособной РК № w* диагностический монитор модифицирует таблицы и 7^, заменив в них номера рабочих

модулей прежней РК № w на соответствующие номера новой РК № w*. Затем он запускает процесс контроля РК № w*. Если контроль РК № w* подтвердит ее работоспособность, то т-ОУ система возвращается к выполнению своих функциональных задач. В противном случае монитор вновь запустит процесс СД для идентификации тех компонентов, отказы которых нарушили работоспособность РК № w *.

ПРИМЕР

Особенности процессов СД и устранения возникающих отказов покажем на примере той же 2-ОУ системы, построенной для целевой системы со структурой трехмерного куба, что и в работе [6]. Рассматривается 3-куб, в вершинах которого расположены процессорные элементы. На рис. 1 они обозначены кружками, в которых указаны их номера. Двукратное применение алгоритмов синтеза

g

[2] к графу 3-куба *0 (см. рис. 1) позволяет построить 2-ОУ граф *50 (см. рис. 2); подробности

применения алгоритмов синтеза к графу *0 можно найти в статье [5]. Первичная таблица РК графа *50 представлена табл. 1. Она состоит из 10-ти строк, соответствующих десяти РК и обозначенных номерами 0, 1; ..., 9; клетки столбцов 1, 2, ..., 8 каждой строки содержат номера рабочих вершин данной РК, клетки столбцов 9 и 10 — номера резервных вершин. В клетках столбцов 12—15 приведены номера дуг, соответствующие номерам четырех внутренних дуг целевого графа *0. Начальная РК № 0 показана в строке 0: рабочие вершины 0, 7, ..., 5, 4, резервные <?, Я рабочие дуги (0—2), (3—7), (6—4), (5—7). В столбце 11 показана дуга (4—0), которая замыкает гамильтонов цикл из рабочих вершин: 0 о 7 о 3 о 2 о 6 о 7 о 5 о 4 о 0.

Дуги между смежными вершинами этого цикла в табл. 1 отдельно не показаны, так как их номера однозначно определяются номерами соседних столбцов: (0—1), (1—3) и т. д. Номера вершин РК, показанные в строках 1—9, получены циклическим сдвигом справа налево номеров вершин предыдущей строки 0, 1, ..., 8. Номера дуг, показанные в клетках столбцов 11—15 каждой строки, получены путем замены номеров рабочих вершин строки 0 номерами вершин, записанными в тех же столбцах очередной РК. Поэтому в столбце 12 дуга (0—2) из строки 0 последовательно заменяется дугой, соединяющей вершины с номерами (1—6), (3—7) и т. д., стоящими в соответствующих столбцах ниже вершин 0 и 2. Таким же образом получены номера других рабочих дуг.

Отметим, что алгоритм $2 оптимального обхода и тестирования вершинных процессорных элементов [11] разработан для проверки работоспособности вершин и дуг неизбыто чного «-куба. Поэтому его применение для проверки 2-ОУ системы, построенной на основе 3-куба, возможно только для отдельных РК, содержащих 8 вершин и 12 дуг. Нетрудно видеть, что 2-ОУ граф *5° (см. рис. 2) содержит большое число таких РК. Поэтому вместо перебора всевозможных РК применим описанный процесс последовательного контроля компонентов РК № 0 и тех РК, в которые переходит система для исключения отказавших компонентов.

Итак, пусть 2-ОУ система работает в начальной РК № 0 (см. табл. 1). Предположим, что между циклами контроля отказала линия связи (5—1) (отмечена знаком * в клетках тех РК табл. 1, в состав которых она входит). Контроль работоспособности 2-ОУ системы начинается с модуля 0, соответствующего начальной вершине выбранного гамильтонова цикла для РК № 0.

По сигналу диагностического монитора начальный модуль т0 выполнит такие действия: из таблицы 760 состава РК № 0 (см. табл. 2) выделит строку 70, найдет в ней номера преемников тк1 ({1), тк2 ({2), тк3 ({4), проверит их состояние и в клетки ц. к 1, ц. к2, ц к3 строки 70 запишет результаты проверок: и0 1 = 0, и0 2 = 0, и0 4 = 0 (см. табл. 4); так как результаты всех проверок — нулевые, то передаст модулю 1 ({тк1) управление для продолжения контроля (здесь и в последующем полужирным шрифтом выделен тот нуль, по которому передается управление следующему МПщ для продолжения контроля или СД).

Модуль 1, получив управление от модуля 0:

— из таблицы 760 выделит строку 71, найдет в ней номера преемников 3, 5, 0, проверит их и в соответствующие клетки строки 71 запишет результаты проверок: и1 3 = 0, и1 5 = 1,

и1 0 = 0 (для сокращения числа таблиц будем записывать результаты проверок, находящиеся в разных модулях, в общую табл. 4);

— оценит результаты проверок и, обнаружив и15 = 1 и и1 3 = 0, передаст модулю 3 управление для перехода к процессу СД.

Начальный модуль 3 первого запуска процесса СД выполнит такие действия:

— из таблицы состава 760 выделит строку 73, перепишет ее в новую таблицу 3731 (в индексе символа таблицы указан номер 3 начального МПщ для первого запуска СД);

— в строке 73 найдет номера преемников 2, 7, 1; проверит их состояние и в соответствующие клетки строки 73 запишет результаты проверок;

— по нулевым результатам проверок в строке 73 выделит номера исправных преемников {Т3 = 2, 7, 1} и первому из них, модулю 2, передаст таблицу 3731 и функции МПщ на следующем шаге СД.

В свою очередь, модуль 2 выполнит такие действия:

1) из таблицы 760 выделит строку 72 и перепишет ее в таблицу 3731 (см. табл. 4);

2) в строке 72 найдет номера преемников 6, 0, 3; проверит их и в соответствующие клетки строки 72 запишет результаты проверок;

3) по нулевым результатам проверок в строке 72 выделит номера исправных преемников {т2 = 6, 0, 3}, сравнит их с номерами 3, 2 в левом столбце таблицы 3731 и обнаружит, что модули 6 и 0 не исполняли функций МПщ, поэтому передаст первому из них (модулю 6) таблицу 3731 с результатами проверок и функции МПщ на следующем шаге СД, при этом модуль 6 вернется к п. 1 процесса СД.

Аналогичные действия в роли МПщ поочередно выполнят модули 6, 7, результаты их проверок своих преемников показаны в строках 7б, 77, табл. 4. Предположим, что после того, как модуль 6 проверил своих преемников и передал таблицу 3731 и управление модулю 7, .модуль 4 отказал. Получив управление от модуля 7, модуль 5, выполняя функции МПщ, проверит своих преемников и обнаружит, что его исправный преемник — модуль 7 уже исполнял функции МПщ. Поэтому модуль 5 перейдет к поиску пути к одному из исправных модулей, еще не исполнявших функции МПщ, с помощью процедуры ранжирования.

Из результатов проверок, записанных в строках 73, ..., 75 таблицы 3731, модуль 5 определит, что функции МПщ не исполняли исправные модули 1 и 0, из таблицы 760 (см. табл. 2) выделит строки 71

и 70, добавит их в таблицу 3731. Затем, выполняя процедуру ранжирования, модуль 5 присвоит ранг 0 модулю 5, ранг 1 модулю 7, затем ранг 2 модулям 3 и 6, ранг 3 модулям 1 и 2. На этом ранжирование будет закончено, так как модуль 1 попал в число ранжированных. (Результаты ранжирования показаны в строках таблицы 3731; в некоторых клетках столбцов, “ранг тк1” и “ранг тк2” стоит знак *, означающий, что соответствующие модули тк1 и тк2 не участвуют в формировании искомого пути, так как они признаны отказавшими из-за единичных результатов их проверок.) Теперь модуль 5 передаст таблицу 3731 и функции МПщ на следующем шаге СД модулю 1 через цепочку модулей: 5 о 7 о 3 о 1.

Модуль 1, получив управление от модуля 5:

1) в строке 71 таблицы 3731 (см. табл. 4) найдет номера преемников 3, 5, 0; проверит их и в соответствующие клетки строки 71 запишет результаты проверок;

2) по нулевым результатам проверок в строке 71 выделит номера исправных преемников {т1 = 3, 0} и передаст таблицу 3731 и функции МПщ на следующем шаге СД модулю 0, который после исполнения функций МПщ обнаружит, что исправных модулей, не исполнявших функции МПщ, нет, поэтому первый запуск СД завершен.

Для подтверждения результатов проверок, накопленных в таблице 3731, и обнаружения возможных новых отказов монитор должен запустить процесс СД второй раз с модуля 0, на котором за-

4

Информация для РК № О

Символ строки Проверяющий модуль Проверяемые модули, результаты их проверок и ранг

т. ранг т. ти и, N1 ранг тн ти N2 ранг ти ти и, N3 ранг ти

Строки с результатами контроля РК № 0

'0 0 - 7 0 - 2 0 - 4 0 -

'1 7 - 3 0 - 5 1 - 0 0 -

Таблица СТ31

'3 3 2 2 0 3 7 0 1 7 0 3

' 2 2 3 6 0 4 0 0 4 3 0 2

?6 6 2 7 0 1 4 0 3 2 0 3

' 7 7 1 5 0 0 3 0 2 6 0 2

75 5 0 4 1 * 7 1 * 7 0 1

'1 7 3 3 0 - 5 1 - 0 0 -

'0 0 - 7 0 - 2 0 - 4 1 -

Таблица С702

'0 0 - 7 0 - 2 0 - 4 1 -

і 7 - 3 0 - 5 1 - 0 0 -

'3 3 - 2 0 - 7 0 - 7 0 -

' 2 2 - 6 0 - 0 0 - 3 0 -

?6 6 - 7 0 - 4 1 - 2 0 -

' 7 7 - 5 0 - 3 0 - 6 0 -

75 5 - 4 1 - 7 1 - 7 0 -

Таблица С753

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

'5 5 - 4 1 - 7 1 - 7 0 -

'7 7 - 5 0 - 3 0 - 6 0 -

'0 6 - 7 0 - 4 1 - 2 0 -

' 2 2 - 6 0 - 0 0 - 3 0 -

'3 3 - 2 0 - 7 0 - 7 0 -

7 - 3 0 - 5 1 - 0 0 -

'0 0 - 7 0 - 2 0 - 4 1 -

кончился первый запуск. В начале второго запуска модуль 0 выполнит такие действия:

— образует новую таблицу 3702 (см. табл. 4) и перепишет в нее из таблицы 3731 строку 70 с результатами проверок, полученными в первом запуске СД (в индексе символа таблицы 3702 указан номер 0 начального МПщ во втором запуске);

— по нулевым результатам проверок в строке 70 выделит номера исправных преемников {Т0 = 7, 2} и передаст первому из них (модулю 7) таблицы 3731, 3702 и функции МПщ на следующем шаге СД.

Исправный модуль 7, а затем модули 3, 2, 6, 7, 5, получив управление процессом СД, выполняют те же действия, что и в первом запуске, но результаты всех проверок записывают в таблицу 3702 (см. табл. 4), а содержимое 3731 передают неизменным на протяжении второго запуска. Модуль 5 обнаружит, что исправных модулей, не исполнявших функции МПщ, больше нет, поэтому второй запуск СД завершен.

Сравнив записи в таблицах 3731 и 3702, модуль 5 определит их различие по результатам проверки модуля 4: в таблице 3731 и6 4 = 0, а в таблице 3702 и6 4 = 1; поэтому монитор запустит процесс СД в третий раз, используя в качестве начального модуль 5 и в качестве начальной таблицу 3702.

Результаты проверок, полученных в третьем запуске СД с модуля 5, показаны в строках 75, ..., 70 таблицы 3753 (в нижней части табл. 4). Особенность третьего запуска: не потребовалась процедура ранжирования, так как управление СД каждый раз передавалось последнему из исправных преемников очередного МПщ. После завершения тер-тьего запуска модуль 0, сравнив таблицы 3702 и 3753, обнаружит их полное совпадение как по номерам строк, так и по результатам проверок в этих строках. Поэтому модуль 0 передаст таблицу 3753 каждому из исправных модулей по цепочке: 0 о 7 о 3 о 2 о 6 о 7 о 5.

Теперь каждый исправный модуль РК № 0 системы выполнит следующую обработку информации из таблицы 3753: из строк 75, ..., 70 выделит результаты проверок и запишет их в клетки строк 7д 0 (см. табл. 3, а); в соответствии с правилами, приведенными в основном тексте статьи, проанализирует результаты проверок, содержащиеся в каждой строке " таблицы 7Й 0, и запишет в клетки як, а. 1 к, Яд к, ... этой же строки символы соответствующего диагностического заключения.

Расшифровка символов, показанных в клетках столбцов “Диагностическое заключение” таблицы 7д0, позволяет прийти к такому диагнозу:

— подозреваются в отказе модуль 4 и линии связи (5—1) и (1—5);

— нет информации о состоянии трех линий, отмеченных прочерками (—): отказавший модуль 4 не использовался в качестве МПщ;

— нет информации о состоянии трех линий, отмеченных символом ] в строке "4, так как отказавший модуль 4 “маскирует” отказы своих входных линий;

— в РК № 0 исправны 7 модулей (0, 1, 2, 3, 5, 6, 7) и 1б линий связи, соответствующих тем клеткам в столбцах Ад к, ..., а.3 к, в которых стоят нули.

Сравнение полученного диагноза с составом заявленной отказовой ситуации показывает, что вместо линии (5—1) подозревается в отказе пара линий: (5—1) и (1—5); причина в том, что логическими методами нельзя различить отказы линий, участвующих в инверсных проверках.

В табл. 3, б показана диагностическая таблица

7'1 0 , построенная для информации из таблицы 3731. Сравнение диагностических заключений, приведенных в табл. 3, а и 3, б, показывает различие записей в строке "4: если в таблице 7Й 0 модуль 4

подозревается в отказе, то в таблице 7'1 0 модуль 4 признан исправным, а подозреваются в отказе линии (0—4) и (5—4). Причина такого диагноза в том, что по результату проверки модуля 4, выполненной модулем 6 до его отказа, он был признан (естественно) исправным, а единичные результаты его последующих проверок модулями 5 и 0 (после отказа) были отнесены к отказам линий (5—4) и (0—4). Таким образом, если бы процесс СД был ограничен одним запуском, то получили бы неправильный диагноз.

Для устранения подозреваемых компонентов: модуля 4 и дуг (5—1), (1—5) диагностический монитор должен перевести 2-ОУ систему из РК № 0 в такую РК, в которую не входят эти компоненты. Обратившись к первичной таблице (см. табл. 1), нетрудно обнаружить, что модуль 4 входит в состав восьми РК — от РК № 0 до РК № 7 — и не входит только в РК № № 8 и 9, где он записан в числе резервных модулей; в эти же РК не входит и дуга (5—1). Для определенности, в качестве следующей выберем РК № 8. На рис. 2 представлен граф РК № 8: рабочие вершины и дуги показаны толстыми линиями, резервная вершина 5 и резервные дуги — тонкими линиями, а неисправная вершина 4 и пара дуг (5—1) и (1—5) — тонкими пунктирными линиями.

После смены РК для РК № 8 получим такой гамильтонов цикл: 8 о 9 о 0 о 1 о 3 о 2 о 6 о о 7 о 8. С учетом этого цикла монитор модифицирует таблицы 760 и 7Й0, заменит номера рабочих модулей в соответствии с подстановкой (89013267)

вместо (01326754) и получит таблицу 768 (табл. 5) и диагностическую таблицу 7Й 8 (табл. 6). Затем монитор запустит процесс контроля РК № 8, который подтвердит ее работоспособность.

Несколько слов об устранении компонентов,

показанных в диагностической таблице 7'10 таблицы для 3731 (см. табл. 3, б). Как видно из первичной табл. 1, есть только три РК: №№ 7, 8 и 9, в состав которых не входят подозреваемые линии (5—1), (1—5), (0—4) и (5—4). Если монитор выберет РК № 8, то функционирование системы совпадет с описанным. Если монитор выберет РК № 7, то контроль признает ее неработоспособной, так как среди рабочих модулей есть отказавший модуль 4, и запустит процесс СД. На основании нового диагноза, который будет правильным, монитор переведет систему в РК № 8.

Несколько иная ситуация будет при переходе в РК № 9: действительно отказавший модуль 4 попадет на место резервной вершины (в столбце 9), и последующий контроль признает РК № 9 работоспособной. Однако, поставив на место резерв-

Таблица сост

ного отказавший модуль 4, мы фактически оставили систему без резерва. Поэтому система продолжит рабочее функционирование до первого отказа любого компонента РК № 9. Таким образом, учет неправильного диагноза приведет к преждевременному и неэффективному расходованию резервных компонентов и снижению времени надежного функционирования системы.

Если бы спустя некоторое время работы в РК № 8 возникли отказы модуля 3 и линии (6—9), то последующие действия системы по организации контроля, СД и реконфигурации можно найти в работе [6]. Здесь же будем считать, что между соседними включениями системы контроля произошел отказ линии (8—1), а затем в процессе первого запуска СД между проверками модуля 1 модулем 3 и модуля 3 модулем 2 произошел отказ линии (2—3) (эти линии показаны на рис. 2 толстым пунктиром).

Итак, по сигналу диагностического монитора модуль 8 начнет контроль работоспособности РК № 8: выполнит действия, аналогичные действиям модуля 0 в РК № 0, но искомую строку 78 возьмет

Таблица 5

Т68 для РК № 8

Символ строки Проверяющий модуль и ранг Преемники т, результаты их проверок и ранг

т. ранг т. тк1 Ъ к1 ранг тк1 тк2 и, к2 ранг тк2 тк3 и, к3 ранг тк3

7 7 8 8 - 9 - - 1 - - 7 - -

7 79 9 - 0 - - 6 - - 8 - -

70 0 - 1 - - 2 - - 9 - -

71 1 - 3 - - 8 - - 0 - -

7 73 3 - 2 - - 7 - - 1 - -

7 72 2 - 6 - - 0 - - 3 - -

76 6 - 7 - - 9 - - 2 - -

7 7 7 7 - 8 - - 3 - - 6 - -

Таблица 6

Диагностическая таблица Тв 8 для таблицы РТ23

Символ строки Предшественики тк Проверяемый модуль тк Результаты проверок Диагностическое заключение

т-1 ту2 ту3 гУ1,к иУ2,к иУ3,к ■% ву1,к ву2,к ау3,к

"8 9 1 7 8 0 1 0 0 0 1 0

"9 0 6 8 9 0 0 0 0 0 0 0

"0 1 2 9 0 0 0 0 0 0 0 0

"1 3 8 0 1 0 1 0 0 0 1 0

"3 2 7 1 3 1 0 0 0 1 0 0

"2 6 0 3 2 0 0 1 0 0 0 1

"б 7 9 2 6 0 0 0 0 0 0 0

"7 8 3 6 7 0 0 0 0 0 0 0

из таблицы 768 (см. табл. 5) (результаты проверок, выполненных модулем 8, показаны в строке 78 табл. 7); обнаружив и8 1 = 1 и и8 9 = 0, модуль 8 переведет монитор в режим СД.

Начальный модуль 9 первого запуска СД: из таблицы 768 (см. табл. 5) выделит строку 79, перепишет ее в промежуточную таблицу 3791; в строке 79 найдет номера преемников 0, 6, 8; проверит их состояние и в соответствующие клетки строки 79 запишет результаты проверок; затем по нулевым результатам проверок выделит номера исправных преемников {т9 = 0, 6, 8} и первому из них, модулю 0, передаст таблицу 3791 и функции МПщ на

следующем шаге СД (результаты проверок, выполненных модулем 9, показаны в строке 79 таблицы 3791 (см. табл. 7)).

Действия модулей 0, 1, ..., 8 подобны действиям МПщ, ранее описанным в процессе СД в РК № 0, за исключением того, что необходимые строки будут извлекаться из табл. 76 8 (см. табл. 5); а результаты выполненных ими проверок записываться в строки таблицы 3791 (см. табл. 7). Отметим, что после того, как модуль 3 передал таблицу 3791 и функции МПщ модулю 2, отказала линия (2—3), что нашло отражение в результате проверки и2 3 = 1. В конце запуска модуль 8, выполняя функции

Таблица 7

для РК № 8

Символ Проверяющий модуль и ранг Преемники т., результаты их проверок и ранг

т. ранг т. тк1 и, к1 ранг тк1 тк2 и; к2 ранг тк2 тк3 О, к3 ранг тк3

Строки с результатами контроля РК № 8

Т Т8 8 - 9 0 - 1 1 - 7 0 -

Таблица СТ91

Т9 9 - 0 0 - 6 0 - 8 0 -

Т0 0 - 1 0 - 2 0 - 9 0 -

Т01 1 - 3 0 - 8 1 - 0 0 -

Т Т3 3 - 2 0 - 7 0 - 1 0 -

Т Т2 2 - 6 0 - 0 0 - 3 1 -

Т6 6 - 7 0 - 9 0 - 2 0 -

Т Т7 7 - 8 0 - 3 0 - 6 0 -

Т Т8 8 - 9 0 - 1 1 - 7 0 -

Таблица

Т ' 8 8 - 9 0 - 1 1 - 7 0 -

Т Т9 9 - 0 0 - 6 0 - 8 0 -

Т Т0 0 - 1 0 - 2 0 - 9 0 -

Т01 1 - 3 0 - 8 1 - 0 0 -

Т Т3 3 - 2 1 - 7 0 - 1 0 -

Т Т7 7 - 8 0 - 3 0 - 6 0 -

Т6 6 - 7 0 - 9 0 - 2 0 -

Т Т2 2 - 6 0 - 0 0 - 3 1 -

Таблица СТ23

Т Т2 2 - 6 0 - 0 0 - 3 1 -

Т6 6 - 7 0 - 9 0 - 2 0 -

Т Т7 7 - 8 0 - 3 0 - 6 0 -

Т Т8 8 - 9 0 - 1 1 - 7 0 -

Т Т9 9 - 0 0 - 6 0 - 8 0 -

Т Т0 0 - 1 0 - 2 0 - 9 0 -

Т01 1 - 3 0 - 8 1 - 0 0 -

Т Т3 3 - 2 1 - 7 0 - 1 0 -

МПщ, проверит своих преемников и обнаружит, что его исправные преемники (модули 9 и 7) уже исполняли функции МПщ, перейдет к процедуре ранжирования, в начале которой обнаружит, что больше нет исправных модулей для исполнения функций МПщ; таким образом, первый запуск СД завершен.

В начале второго запуска СД модуль 8, на котором закончился первый запуск, образует таблицу 3782 (см. табл. 7), перепишет в нее из таблицы 3791 строку 78 с результатами проверок, полученными в первом запуске СД, по нулевым результатам проверок в строке 78 выделит номера исправных преемников {т8 = 9, 7) и передаст первому из них, модулю 9, таблицы 3Г91, 3782 и функции МПщ на следующем шаге СД.

Исправный модуль 9, а затем модули 0, 7, ..., 6, 2, получив управление процессом СД, выполняют те же действия, что и в первом запуске, но результаты всех проверок записывают в таблицу 3782 (см. табл. 7), а содержимое таблицы 3791 передают неизменным на протяжении второго запуска; номер модуля, которому передаются функции МПщ на следующем шаге, отмечен в таблицу 3782 полужирным нулем в соседней клетке результата проверки. Модуль 2 обнаружит, что исправных модулей, не исполнявших функции МПщ, больше нет, поэтому второй запуск СД завершен.

Сравнив записи в таблицах 3791 и 3782, модуль

2 определит их различие по результатам проверки и3 2: в таблице 37^ и3 2 = 0, а в таблице 3782 и3 2 = 1; поэтому диагностический монитор запустит процесс СД в третий раз, используя в качестве начального модуль 2 и в качестве начальной таблицу 3782.

Результаты проверок, полученных в третьем запуске СД с модуля 2, показаны в строках 72, ..., 73 таблицы 3723 (в нижней части табл. 7). После за-

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

вершения третьего запуска модуль 3, сравнив таблицы 3782 и 3723, обнаружит их полное совпадение и передаст таблицу 3723 каждому из исправных модулей по цепочке 3 о 7 о 0 о 9 о 8 о 7 о 6 о 2.

Затем каждый исправный модуль РК № 8, получив таблицу 3723, выделит из ее строк результаты проверок и запишет их в клетки строк таблицы

7" 8 (см. табл. 6); в соответствии с правилами, приведенными в основном тексте статьи, проанализирует их и запишет в клетки 5к, а. 1 к, а.2 к,... каждой строки "к соответствующие символы. Их расшифровка приводит к следующим диагностическим заключениям:

— подозреваются в отказе пары линий связи (7—8) и (8—7),(2—3) и (3-2);

— в РК № 8 исправны все восемь модулей и остальные линии связи, кроме перечисленных.

Сравнение полученного диагноза с составом исходной отказовой ситуации показывает, что вместо линий (2—3) и (8—7) подозреваются в отказе указанные пары линий; причина та же, что и при диагностировании линии (5—7) в РК № 0.

Для исключения подозреваемых компонентов из состава РК диагностический монитор должен перевести 2-ОУ систему в такую РК, в которую не входят эти компоненты, а также ранее отказавшие модуль 4 и линии (5—7), (7—5). Для поиска такой РК целесообразно воспользоваться вторичной таблицей, построенной на основании РК № 8. Такая таблица представлена в табл. 8 и отличается от первичной таблицы (см. табл. 1) тем, что имеет только один столбец (№ 9) для резервной вершины, а столбец 10 закреплен за отказавшим модулем 4. Отметим в клетках табл. 9 подозреваемые компоненты: линию (8—7) знаком *, а другую линию (2—3), связывающую соседние рабочие вершины, знаками (—), стоящими после цифры 3 и перед цифрой 2. Теперь поиск работоспособной РК сводится к нахождению в табл. 8 такой строки,

Таблица 8

Вторичная таблица 1

№№ п/п Номера рабочих вершин Резервная вершина Отказавшая вершина Номера дуг

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

«о 8 9 0 1 5- -2 6 7 5 4 7-8 8-1* 0-2 5-7 6-9

8, 9 0 1 5- -2 6 7 5 8 4 5-9 9-5 1-6 2-5 7-0

8, 0 1 5- -2 6 7 5 8 9 4 8-0 0-2 5 1 6-8 5-1

8, 1 5- -2 6 7 5 8 9 0 4 9-1 1-6 2-5 7-9 8-5

84 5- -2 6 7 5 8 9 0 1 4 0-5 5 7 6-8 5-0 9-2

85 -2 6 7 5 8 9 0 1 5- 4 1-2 2-5 7-9 8-1* 0-6

8б 6 7 5 8 9 0 1 5- -2 4 5-6 6-8 5-0 9-5 1-7

87 7 5 8 9 0 1 5- -2 6 4 2-7 7-9 8-1* 0-2 5-5

88 5 8 9 0 1 5- -2 6 7 4 6-5 5-0 9-5 1-6 2-8

в которую не входят подозреваемые компоненты. Анализ записей табл. 8 показывает, что только одна строка с номером 8б удовлетворяет этим требованиям: в ней модуль 2 оказался в числе резервных, а линия (8—7) не входит в число рабочих.

После смены РК № 8 на РК № 86 получим такой гамильтонов цикл: 6 о 7 о 5 о 8 о 9 о 0 о о 7 о 3 о 6. С учетом этого цикла диагностический монитор модифицирует таблицы 768 и 7"8, заменит номера рабочих модулей в соответствии с подстановкой (67589073) вместо (89073267), модифицирует таблицу состава и диагностическую таблицу, запустит процесс контроля РК № 8б, который подтвердит ее работоспособность.

Для оценки эффективности реконфигурации 2-ОУ системы с целью устранения новых отказов в РК № 8б нужно построить вторичную таблицу на основании строки 8б из табл. 8. (Для сокращения объема статьи она здесь не приводится.) Анализ ее строк показывает, что из восьми РК только четыре работоспособны, но включают в себя одни и те же рабочие вершины и рабочие дуги. Другими словами, все эти РК соответствуют одной и той же неизбыточной восьмивершинной подсистеме, получающейся из 2-ОУ системы после удаления отказавших компонентов: модуля 4 и линий (7—5), (5—7), (8—7), (7—8), (2—3), (3—2). Следовательно, новый отказ любого компонента, входящего в состав РК № 86, приведет к отказу всей системы и потребует вмешательства человека-оператора для устранения накопившихся неисправностей и восстановления работоспособности исходной системы.

Сравнение состава отказавших компонентов данного примера с оценкой (1) позволяет заключить, что отказы внутренних дуг (7—5) и (8—7) не препятствовали устранению отказов модуля 4 и внешней дуги (2—3) и не понизили эту оценку.

ЗАКЛЮЧЕНИЕ

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

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

ЛИТЕРАТУРА

1. квижеяис k. Отказоустойчивость — свойство, обеспечивающее постоянную работоспособность цифровых систем // ТИИЭР. — 1978. — Т. 66. — № 10. — С. 5—25.

2. Харавай 1. Ф. Инвариантно-групповой подход к исследованию N-отказоустойчивых структур // Автоматика и телемеханика. — 2000. — № 1. — С. 144—156.

3. Маей/е Мол'^еи Мг/ .. A graph model for diagnosis

and reconfiguration and its application to a fault-tolerant multiprocessor system // 16-th Int. Conf. on Fault-Tolerant Computing FTCS-16, 1986. — P. 292—297.

4. Редешеяков 5. k. Об использовании избыточных хорд N-отказоустойчивого графа для устранения влияния отказавших компонент // Автоматика и телемеханика. — 2003. — № 4. — С. 158—166.

5. Редешеяков 5. k. Процедура восстановления работоспособности отказоустойчивых цифровых систем с динамической избыточностью // Автоматика и телемеханика. — 2003. — № 5. — С. 167—179.

6. Редешеяков В. k. Самодиагностирование отказов цифровых систем с реконфигу-рацией // Проблемы управления. — 2003. — № 4. — С. 39—51.

7. Pars/' Granrfow" Маейги/ P. A theory of diagnosability of digital systems // IEEE Trans. Comput. — 1976. — Vol. C-25. — № 6. — P. 585—593.

8. PresaraWa ). P., 0eW]e Сй/'еи 5. 7. On the connection assignment problem of diagnosable systems // IEEE Trans. Elec-tr. Comput. — 1967. — Vol. 16. — № 6. — P. 848—854.

9. Лартиеяко Л. Л. Определение технического состояния многопроцессорных вычис-лительных систем путем анализа графа синдромов // Автоматика и телемеханика. — 1999. — № 5. — С. 126-135.

10. Редешеяков 5. k. Организация самодиагностирования технического состояния цифровых систем // Автоматика и телемеханика. — 2003. — № 11. — С. 165—182.

11. Лартиеяко Л. Л. О системном диагностировании вершинных и реберных гипер-кубовых структур многопроцессорных вычислительных систем // Автоматика и телемеханика. — 1996. — № 11. — С. 165—174.

8 (095; 554-75-90

(-ma;7: wa@/P./pM-rvv'.rM □

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