Научная статья на тему 'Способ самодиагн0стирования неоднородных цифровых систем'

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

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

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

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

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

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

н

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

УДК 681.518.54;004.3.001.4

СПОСОБ САМОДИАГНОСТИРООАНИЯ НЕОДНОРОДНЫХ ЦИФРОВЫХ СИСТЕМ

В. А. Ведешенков

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

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

ВВЕДЕНИЕ

Любой метод системного диагностирования технического состояния компонентов в цифровых системах (многопроцессорных и многомашинных вычислительных системах (ММВС)) основан на том, что вводится ограничение на максимальное число произвольно расположенных отказавших компонентов, которое позволяет оставшимся исправным модулям получить информацию, достаточную для правильного диагностирования состояния компонентов. Для описания результатов тестирования модулей в данной работе используется модель Барси—Грандони—Маестрини (БГМ) [1], которая предполагает, что модули, на которые разбивается исходная ММВС, однородные и обладают функциональными возможностями, достаточными для реализации диагностических алгоритмов, составными частями которых являются процедуры проверки компонентов системы и сбора результатов этих проверок.

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

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

Далее представлен способ организации контроля и самодиагностирования (СД) состояния компонентов неоднородных цифровых систем, предполагающий на

Рис. 1. Граф неоднородной системы б14 21

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

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

Суммарная оценка результатов выполненных тестов Рр ..., образует двоичный вектор . = г1, ..., г1, который называется реальным синдромом. В большинстве алгоритмов системного диагностирования предполагается (или констатируется), что результаты тестов, образующие реальный синдром ., собираются и обрабатываются (дешифрируются) внешним устройством. По результатам работы этого устройства (результатам диагностирования) обслуживающий персонал заменяет отказавшие компоненты и восстанавливает работоспособность ММВС. В настоящей статье, как и в работах [4, 5], развивается другой подход, основанный на организации самодиагностирования системы, когда необходимые алгоритмы, включая сбор реального синдрома . и его обработку, реализуются на исправных процессорах самой системы.

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

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

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

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

2. СПОСОБ САМОДИАГНОСТИРОВАНИЯ НЕОДНОРОДНЫХ ЦИФРОВЫХ СИСТЕМ

Процесс СД компонентов однородных систем включает в себя [4, 5]:

— исполнение исправным модулем функций проверяющего;

— нахождение пути от одного исправного модуля к другому исправному для передачи ему функций проверяющего модуля;

— обработку результатов выполненных проверок.

Для реализации подобных процедур в неоднородных

системах приведенного типа построим проверяющие и проверяемые подсистемы следующим образом. В проверяющую подсистему 1Е . включим устройство пассивного типа (память и), устройство активного типа (процессор т.) и линию связи . между ними, а в проверяемую подсистему 1 й к включим память ий, процессор тк, линию связи /й _ к между ними, а также линию связи _й, соединяющую процессор т. (из подсистемы 1Е .) и память ий. (Отметим, что номера (Е, у, й, к), записанные в индексах подсистем Ц ., Ц й к, определяют номера Е, й памятей и у, к процессоров, входящих в эти подсистемы.) При объединении различных устройств неоднородной системы 014 21 (см. рис. 1) в подсистемы приведенного состава используем следующий прием: каждую память иЕ (Е = 0, 1, ..., п — 1) объединим с р процессорами т 1, ... , т р, непосредственно связанными с этой памятью иЕ, и образуем проверяющие подсистемы Ц у1, ..., Ц р. В результате таких объединений для рассматриваемой системы получим пр (т. е. 21) подсистем Ц ., различающихся номерами входящих в них устройств памяти и/или процессоров. В табл. 1 для системы 014 21 приведен состав семи (из 21-й возможных) проверяющих подсистем Ц . ()) и 14-ти (из 42-х возможных) проверяемЫХ ими подсистем Ц, й1, к1 (), к!^ Ц, й2, к2 (), к2); (в скобках показаны более компактные символы подсистем, используемые в примере).

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

Таблица состава проверяющих и проверяемых подсистем

Строка 0, ;.(0) Проверяющая подсистема Проверяемые подсистемы и оценки их проверок

)1 Ги А1, И (гл и) 1 А2, ¿2(Мі; ¿2) 0, А2, ¿2 (ГЛ ¿2)

01,2 (0о) 1, (1—2), 2 ()о) (2-3), 3, (3-4), 4 (Мод) (2-7), 7, (7-8), 8 (М0,3)

03,4 (0і) 3, (3— 4), 4 ()1) (4-5), 5, (5-6), 6 (М12) (4-9), 9, (9-10), 10 (М14)

05,6 (7) 5, (5—6), 6 ()2) (6-7), 7, (7-8), 8 (М^) (6-11), 11, (11-12), 12 (М25)

07,8 (03) 7, (7—8), 8 ()3) (8-9), 9, (9-1О), 10 (М^ (8-13), 13, (13-0), 0 (М36)

09,1О (04) 9, (9—1О), 10 ()4) (10-11), 11, (11-12), 12 (М45) (10-1), 1, (1-2), 2 (М40)

011,12 (05) 11, (11—12), 12 ()5) (12-13), 13, (13-0), 0 (М56) (12-3), 3, (3-4), 4 (М51)

013,0 (0б) 13, (13—0), 0 ()6) (0-1), 1, (1-2), 2 (Мб,о) (0-5), 5, (5-6), 6 (Мб,2)

таты выполненного теста р. А к процессор тк записывает в ячейки памяти иА, откуда их, по истечению определенного времени, считывает процессор т, сравнивает с эталонами из собственной памяти и. и формирует оценку N А к. О, если результаты совпали с эталонами, 1 — при несовпадении, в том числе, из-за искажений, внесенных линией Н. _ А. В дальнейшем эти действия кратко будем называть так. подсистема 1Е . проверяет подсистему 1 А к и формирует оценку N А к результатов тестирования. Выполнив тесты для всех сформированных подсистем, получим реальный синдром объединяющий оценки проведенных тестов.

Таким образом, предлагаемый способ СД неоднородных систем основан на объединении разнотипных устройств исходной системы в подсистемы с функциональными возможностями, достаточными для выполнения процедур самоконтроля и других диагностических процедур. Далее описана реализация этого способа, основанная на методе СД для однородных систем из работ [4, 5].

3. ОРГАНИЗАЦИЯ САМОДИАГНОСТИРОВАНИЯ КОМПОНЕНТОВ НЕОДНОРОДНЫХ ЦИФРОВЫХ СИСТЕМ

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

Исходную информацию о составе выбранных проверяющих и проверяемых подсистем представим в виде

таблицы состава 7/, в каждой строке 0 . которой записан состав проверяющей подсистемы 1Е , проверяемых ею подсистем 1 А1 к1, 1 А2 к2, ...; также есть поля для записи оценок проверок этих подсистем N А1 к1, N А2 к2, ...

Пример такой таблицы, построенной для системы б14 21 (см. рис. 1), показан в табл. 1. Номера Е,у, А, к, записанные в клетках этой таблицы, определяют номера памятей и;, иА и процессоров т., тк, участвующих в реализации теста t J а к, а пары чисел в скобках определяют номера линий, связывающих эти памяти и процессоры. Подчеркнем, что структура графа 014 21 позволяет для каждой проверяющей подсистемы построить четыре различных проверяемых подсистемы. Однако в каждой строке табл. 1 показаны только две подсистемы, в составе которых и проверяются линии связи, смежные с процессором каждой проверяющей подсистемы.

Для отображения местонахождения проверяющих подсистем в цикле контроля будем записывать в строке

0 . подсистемы в таком порядке, что именно проверяющая подсистема 1А1 к1, (“ядро” проверяемой подсистемы 1 А1 к1) является в построенном цикле соседней справа для проверяющей подсистемы 1Е .. Например, в строке 0 4 табл. 1 подсистема 13 4 проверяет подсистемы 14 5 6 и 14 9 1О, и в следующей строке 75 6 в качестве проверяющей записана подсистема 15 6 (“ядро” проверяемой подсистемы 14 5 б), являющаяся в цикле контроля соседом справа для подсистемы 13 4.

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

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

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

По сигналу ДМ о начале процесса контроля подсистема 1Е п выполняет следующие действия.

• из таблицы 7/. выделяет строку 0 п, находит в ней индексы (п, А1, к1), (п, А2, к2), ... проверяемых подсистем 1 А1 к1, 1п А2 к2, ...; проверяет эти подсистемы и формирует оценки п, А1, к1, Гп, А2, к2, ..., равные 0, если результаты тестов совпали с эталонами, и равные 1 — при несовпадении, в том числе, из-за искажений, внесенных линиями связи 1, п с подсистемами

п А1, к1, ^и, А2, к2, ”.;

• сформированные оценки записывает в соответствующие клетки строки 0 п, анализирует их.

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

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

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

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

— исполнение исправной подсистемой функций проверяющей;

— нахождение пути передачи управления и информации от одной исправной проверяющей подсистемы к другой;

— обработку результатов выполненных тестов.

На основе информации, полученной в процессе контроля, ДМ запускает процесс СД с той подсистемы 1, , которая первой получила хотя бы одну единичную оценку при проверке состояний связанных с ней подсистем 1 А1 к1, 1 А2 к2, ...; естественно, подсистема 1, . должна быть исправной и проверенной, в частности,

она не может быть начальной подсистемой процесса контроля 1,п (п

Начальная подсистема 1, . (/ ^ п, п2) выполняет следующие действия.

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

— по нулевым оценкам в строке 0 . выделяет подмножество индексов исправных подсистем {м; •} и одной из этих подсистем (первой в строке 0 , если она исправна) передает таблицу ,0 . и управление процессом СД.

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

Очередная исправная подсистема 1, у, получив управление процессом СД, выполняет следующие действия.

1) из таблицы состава 0/ выделяет строку 0 у, переписывает ее в таблицу ,0, полученную от предшественника — подсистемы и, . (1, у _ 1);

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

3) по нулевым оценкам проверок в строке 0 у выделяет подмножество {м, индексов исправных “преем-

ников” — проверенных подсистем, сравнивает индексы из подмножества {qi у} с индексами строк в таблице ,0

— если один индекс (или больше) из подмножества {м, отсутствует в списке индексов строк в таблице ,0. то передает подсистеме с этим индексом таблицу ,0 . и управление СД;

— если список {м, пуст или все индексы {м, — в

списке индексов строк в таблице ,0. то переход к п. 4;

4) находит одну из исправных подсистем 1, у + 1, 1, у + 2, ..., 1, V +ж, еще не исполнявших функции проверяющей подсистемы, и передает ей таблицу ,0 . и управление СД; если при выполнении этой процедуры выяснится, что все обнаруженные исправные подсистемы уже исполняли функции проверяющих, то переход к п. 5;

5) передает информацию, собранную в таблице ,0 . подсистемы 1, у + ж, в направлении, обратном тому, по которому эта информация собиралась; получив идентичную информацию в виде таблицы ,0, . от подсистемы 1, у + ж, каждая из исправных подсистем выполняет ее обработку и формирует одинаковый диагноз.

Для нахождения одной из исправных подсистем

1 , 1 , ... , 1 , еще не исполнявших функций

V +Р iJV+ 2’ ’ V+W, ^ ^

проверяющей подсистемы, подсистема 1 у находит индексы исправных подсистем строки 0 у„ и срав-

нивает их с индексами строк в таблице ,0 .. Если при сравнении списков индексов окажется, что:

— один индекс (или больше) из подмножества у„} отсутствует в списке индексов строк в таблице ,0 • , то подсистема 1 V передает подсистеме с этим индексом (г, V + 1) таблицу ,0 у и управление СД;

— список {м; пуст или все индексы {q¡ — в спи-

ске индексов строк в таблице ,0 , то переход к анализу предыдущей строки 0 ^ _ 1.

Эти действия проводятся поочередно снизу вверх, начиная с нижней строки 0 ^ При нахождении исправной подсистемы 1 1; + 1 в строке 0 ^ управление СД и таблица ,0. . передаются этой подсистеме снизу вверх через проверяющие подсистемы 1 ^ .... 1 V,. Поиск прекращается, если при достижении верхней строки 0 • окажется, что и в этой строке нет исправной подсистемы, не исполнявшей функций проверяющей подсистемы.

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

Для обработки информации, собранной в таблице ,0 . подсистемы 1 + ж, каждая исправная подсистема переписывает ее в диагностическую таблицу следующего вида. В клетках левого столбца таблицы перечис-

лены компоненты проверяемых подсистем 1 А к () к), взятые из таблицы состава 0/, а клетки следующего столбца предназначены для записи оценок г. А к (г. к) проверки этих подсистем, полученных в процессе СД. Последующие столбцы таблицы 0^ обозначены номерами компонентов системы, с точностью до которых диагностируются подсистемы Мк и линии (. _ к между подсистемами М. и Мк. Вхождение компонентов Мк, ( . _к в состав подсистемы )• к, приведенной в левом столбце таблицы 0Л, отмечается знаком *, поставленным в клетке на пересечении соответствующего столбца и строки М. к. В нижнюю часть таблицы 0^ добавлены три строки, озаглавленные (в левом столбце) символами А^, Л1, и предназначенные для записи результатов обработки полученной информации. Пример такой таблицы, построенной для системы 014 21, показан в табл. 2, в

2

ца Т„ для Примера

Проверяемые подсистемы М к Компоненты системы

1 О ч 5Т 1 ч зТ т I Ч ■ т Ч «л 1 ч 40 1 ч 0 1 чо ч т I о Ч ■ Ч «л ■ Ч 40 1 т Ч 0 ■ т3" ч 1 ч 1 40 ч

М0,1 0 0 0

М0,3 0 0 0

М1,2 0 0 0

М1,4 1 1 1

М2,3 0 0 0

М2,5 0 0 0

М3,4 0 0 0

М3,6 1 1 1

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

М4,5 0 0 0

4М О 0 0 0

М5,6 1 1 1

М5,1 0 0 0

М6,0 _ * *

М6,2 _ * *

^0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

А 1 1

л =

ПРОБЛЕМЫ УПРАВЛЕНИЯ № 4 • 2ПП5

37

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

Процедура обработки информации из таблицы ,0 , выполняемая каждой исправной подсистемой, состоит из следующих шагов:

■ из строк ТЕ ,, ..., Т V + ^ таблицы Р0 . выделяются

оценки проверок гу. м, ы г, Л2, ^2’ ..., г/+ * А1, кР и записываются в соответствующие клетки столбца г, к к таблицы Тв, оставшиеся клетки этого столбца заполняются прочерками (—);

■ “размножаются” 0 и 1, записанные в столбце г н к, путем записи идентичных значений (0 или 1) в клетки той же строки ТЕ ], отмеченные знаком *;

■ заполняются прочерками (—) клетки строк А0, А1, А6;

■ выполняется следующая обработка записей таблицы Тв:

• в клетку на пересечении строки А0 и к-го столбца записывается 0, если в вышележащих клетках этого столбца есть хотя бы один нуль;

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

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

— если обе вершины, которые связывает рассматриваемая линия, исправны (в соответствующих клетках строки А0 записаны 0), то в клетку на пересечении строки А1 и данного столбца записывается 1;

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

■ расшифровываются записи строк А0, А1 и А6:

• в соответствии с местоположением нулевых записей в строке А0 составляется список исправных компонентов (активных и пассивных устройств, линий связи);

• в соответствии с местоположением единиц в строке А1 составляется список вершин (активных и пассивных устройств) и дуг (линий связи), подозреваемых в отказе;

• в соответствии с местоположением символов 6 в строке А6 составляется список дуг (линий связи), состояние которых маскируется неисправным состоянием хотя бы одной из вершин, которые она соединяет;

• прочерки (—), оставшиеся в клетках на пересечении строк А0, А1 и А6 с к-м столбцом, означают, что полученной информации недостаточно для оп-

6 0

3

Рис. 2. Граф однородной системы б7 14

ределения технического состояния данного компонента (вершины, дуги графа). ♦

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

— в системе должно быть не менее двух исправных проверяющих подсистем и исправная линия связи между ними;

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

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

ПРИМЕР

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

котором в подсистему М (Мк) объединены смежные процессор и память, лежащие на выбранном гамильтоновом пути. Состав полученных модулей показан в столбце М табл. 1. При построении отказоустойчивых систем единицей резервирования считается агрегированная подсистема, поэтому естественно считать, что разрешающая способность диагностирования отказавших компонентов должна быть равна также одному заменяемому компоненту (подсистеме или линии связи) [2, 5]. Как отмечалось, в табл. 1 приведена таблица состава Т/, предназначенная для организации тестирования в системе — 14.

Для проведения контроля выберем цикл, охватывающий семь подсистем М0, ..., Мб в порядке возрастания их номеров, и при исправном состоянии всех компонентов управление процессом контроля от подсистемы Мб вернется к подсистеме М0

Предположим, что за время между сеансами контроля в системе накопились отказы подсистемы М6 и линии связи (1—4) (эти компоненты показаны пунктиром на рис. 2). По сигналу ДМ о начале контроля подсистема М0 выполнит следующие действия: из таблицы Т/ (см. табл. 1) выделит строку Т0, найдет в ней индексы (0, 1) и (0, 3) проверяемых подсистем М0 1 и М03, проверит их и сформирует оценки г0 1 = г0 3 = 0, которые запишет в соответствующие клетки строки Т0 (табл. 3); так как обе оценки нулевые, то передаст подсистеме М1 (“ядру” проверенной исправной подсистемы М0 1) управление продолжением контроля (в строке Т0 полужирным шрифтом выделен 0, по которому передается управление; таким обозначением будем пользоваться и в дальнейшем).

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

В начале процесса СД подсистема М1 выполнит следующие действия:

— сформирует промежуточную таблицу Р>Т1 (в табл. 3), в которую перепишет строку Т1 с оценками, полученными в процессе контроля;

— по нулевой оценке (г1 2 = 0) выделит номер 2 исправной подсистемы М2, которой и передаст таблицу РТ| и управление продолжением процесса СД.

Подсистема М2, выполнит следующие действия:

— из таблицы состава Т/ (см. табл. 1) выделит строку Т2, перепишет ее в таблицу Р0;

— в строке Т2 выделит индексы (2, 3) и (2, 5) проверяемых подсистем М2 3 и М2 5, проверит их и в соответствующие клетки строки Т2 запишет оцен-

™ г2, 3 = г2, 5 = 0;

— по нулевым оценкам выделит подмножество {М2 = 3, 5} номеров исправных “преемников”, сравнит эти номера с индексами строк 1, 2 в таблице

РТ1: так как эти числа не совпадают, то передаст подсистеме М3 таблицу РТ1 и управление СД. Подсистема М3, а затем и каждая из подсистем М4 и М5 проверит своих преемников, и на основании полученных оценок передаст таблицу ,0 и управление одному из исправных преемников (результаты этих действий показаны в соответствующих строках табл. 3). В отличие от предшественников, подсистема М5 не имеет среди своих преемников исправной подсистемы, не исполнявшей функций проверяющей. Но такая подсистема М0, входящая в состав подсистемы М4 0 есть в строке Т4 таблицы РТ1. Поэтому подсистема М5 передаст таблицу ,Т1 и управление СД подсистеме М0 через подсистему М4. Проверив своих преемников (М0 1 и М0 3), подсистема М0 не найдет больше исправных подсистем, не исполнявших функций проверяющих. Следовательно, сбор тестовой информации закончен, и по цепочке: М0 о М5 о М4 о М3 о М2 о М1 подсистема М0 отправит таблицу РТ1, чтобы каждый из исправных процессоров получил одинаковую информацию.

Для обработки информации из таблицы РТ1 исправный процессор переписывает ее в диагностическую таблицу Тл (см. табл. 2).

Обработка записей из таблицы РТр выполняемая каждым исправным процессором, заключается в следующем:

■ из строк 0, ..., Т0 таблицы РТ1 выделяются оценки проверок г1 2 = 0, г1 4 = 1, ..., г0 1 = 0, г0 3 = 0, и записываются в соответствующие клетки столбца г к таблицы!^ (см. табл. 2);

■ значения 0 и 1, записанные в столбце г к, переписываются в клетки строки М' к, отмеченные знаком “*”

Тайяи^а 3

Информация к Примеру

Строка Т Проверяющая подсистема Проверяемые подсистемы оценки их поверок

М М, к1 Г], к1 М', к2 Г, к2

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

Т0 М0 М0,1 0 М0,3 0

Т1 М1 М1,2 0 М1,4 1

Таблица \Т1

Т1 М1 М1,2 0 М1,4 1

Т2 М2 М2,3 0 М2,5 0

Т3 М3 М3,4 0 М3,6 1

Т4 М4 М4,5 0 М4,0 0

Т5 М5 М5,6 1 М5,1 0

Т0 М0 М0,1 0 М0,3 0

Конец СД

(так как в данном сеансе СД подсистемы Мб 0 и Мб 2 не проверялись, то в клетках на пересечении этих строк и столбца г к остались прочерки, а в соответствующих клетках других столбцов — знаки “*”);

■ заполняются прочерками (—) клетки строк А0, А1, А6;

■ результаты диагностирования формируются следующим образом:

• в к-ю клетку строки А0 записывается 0, если в вышележащих клетках этого столбца есть хотя бы один нуль;

• в клетку на пересечении строки А1 и столбца, озаглавленного символом вершины Мб, записывается 1, так как в вышележащих клетках этого столбца есть одна единица и нет ни одного нуля;

• в клетку на пересечении строки А1 и столбца, озаглавленного символом линии ((1—4), записывается 1, так как вершины М1 и М4, которые связывает эта линия, исправны (в соответствующих клетках строки А0 записаны нули);

• в четыре клетки строки А6; озаглавленных символами дуг ((/—к), записывается символ 6, так как одна из вершин (Мб), которые связывает каждая из этих линий, подозревается в отказе (в соответствующей клетке строки А1 записана 1);

■ расшифровка записей этих строк показывает, что:

• исправны 15 компонентов, номера которых определяются расположением нулевых записей в строке А0;

• в соответствии с расположением единиц в строке А1 подозреваются в отказе подсистема Мб и линия связи (1—4), что совпадает с номерами компонентов в исходной отказовой ситуации;

• в соответствии с расположением символов 6 в строке А6 остались неопределенными состояния линий (5—б), (б—0), (3—б) и (б—2), так как их проявления “маскируются” неисправным состоянием вершины б, с которой они связаны.

Таким образом, в данном примере идентифицированы состояния 17-ти из 21-го компонента неоднородной системы — 14.

ЗАКЛЮЧЕНИЕ

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

фиксированной, а определяется по результатам работы системы контроля.

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

В рассмотренном примере организация контроля и СД отказавших компонентов в неоднородной 14-мо-дульной системе осуществляется с точностью до подсистемы, включающей в себя процессор, память и линию связи между ними, или линии, связывающей разные подсистемы. Требование такой точности целесообразно при диагностировании отказоустойчивых систем с реконфигурацией, в которых отказавшая подсистема автоматически заменяется исправной резервной [2, 5]. Автором был рассмотрен и другой пример организации контроля и СД отказавших компонентов в той же системе с точностью до отдельного компонента (процессора, памяти, линии связи). Для получения такой точности необходимо, чтобы проверяемые подсистемы различались номерами входящих в них устройств памяти или процессоров. Но увеличение числа различных проверяемых подсистем требует пропорционального увеличения числа необходимых проверок. В результате, снижение требуемой точности диагностирования (в приведенном примере) позволило в 3 раза уменьшить число необходимых проверок и существенно сократить трудоемкость последующих процедур. Хотя в приведенном примере показано правильное диагностирование отказов двух компонентов, но можно подобрать такие сочетания двух неисправных компонентов, диагноз которых даст неправильный результат. Причина в структуре таблицы состава, в которой каждая проверяющая подсистема тестирует по две проверяемых подсистемы, поэтому выбранные системы проверок обеспечивают достоверное диагностирование только одиночных компонентов.

ЛИТЕРАТУРА

1. 5йпя Graj@oj/' Маейлиг P. A theory of diagnosability of

digital systems // IEEE Trans. Comput. — 1976. — Vol. C-25, N 6. — P. 585—593.

2. Хй—йвйй Є. Ф. Минимизированное вложение произвольных гамильтоновых графов в отказоустойчивый граф и реконфигурация при отказах. Ч. 1. Одно-отказоустойчи-вые структуры // Автоматика и телемеханика. — 2004. — № 12. — С. 159—177.

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

4. Редешеяков t. d. Организация самодиагностирования технического состояния цифровых систем // Там же. — 2003. — № 11. — С. 165—182.

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

в 554-75-90

!-таг7: ууа@/Ягри.гаог>и □

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