нформационные технологии в управлении
УДК 681.518.54;004.3.001.4
ПОДХОД К ДИАГНОСТИРОВАНИЮ НЕОДНОРОДНЫХ ЦИФРОВЫХ СИСТЕМ СО СТРУКТУРОЙ СИММЕТРИЧНОГО ДВУДОЛЬНОГО ГРАФА
В.А. Ведешенков
Рассмотрены неоднородные цифровые системы (ЦС) со структурой симметричного двудольного графа, состоящие из процессоров, блоков памяти и блоков коммутаторов, позволяющих связывать любую пару «процессор — блок памяти». Предложен подход к диагностированию ЦС с такой структурой с точностью до отдельного компонента (процессор, блок памяти, блок коммутатора, линия связи). На время проведения диагностирования разнотипные устройства объединяются в проверяемые подсистемы одинакового состава. Рассмотрен пример диагностирования неоднородной ЦС, состоящей из четырех процессоров, трех блоков памяти и семи блоков коммутаторов.
Ключевые слова: неоднородные цифровые системы, симметричный двудольный граф, блок коммутатора, диагностирование, проверяемые подсистемы.
ВВЕДЕНИЕ
Поиск новых, более эффективных структур связей сложных информационных систем показал, что симметричные двудольные графы предпочтительнее полных графов и полнодоступных двудольных графов по ряду параметров [1].
Определение. Двудольным графом называется граф, состоящий из двух непустых подмножеств вершин X и У мощностью п и имеющий ребра, одна из концевых вершин которых принадлежит подмножеству X (У), а другая — подмножеству У(Х). ♦ Пример такого графа для п = 7 показан на рисунке, где вершины подмножества X обозначены кружками, а подмножества У— прямоугольниками.
Среди возможных областей применения подобных графов в работе [1] названы сложные системы связи, в которых связи между источниками и приемниками информации, представленными вершинами подмножества X, осуществляются блоками локальных полнодоступных коммутаторов, представленных вершинами подмножества У. Для сокращения в дальнейшем будем называть цифро-
вые системы (ЦС), включающие в себя блоки коммутаторов, неоднородными.
В работе [2] представлен подход к организации системного диагностирования ЦС со структурой симметричного двудольного графа, не содержа-
Схема цифровой системы со структурой симметричного двудольного графа й13:
1—7 — процессоры; 8—14 — блоки памяти; ДМ — диагностический монитор
щих блоков коммутаторов. Далее показаны особенности подхода к организации системного диагностирования неоднородных ЦС со структурой симметричного двудольного графа, включающих в себя блоки коммутаторов. В работе [3] рассматривается мультиагентная организация системного диагностирования подобных ЦС, но при других предположениях об использовании блоков памяти в диагностических процедурах.
Как и в большинстве алгоритмов системного диагностирования, будем предполагать, что результаты проверок собираются и обрабатываются (дешифрируются) внешним устройством — диагностическим монитором. По результатам дешифрации собранных результатов проверок обслуживающий персонал проводит замену отказавших компонентов и восстанавливает работоспособность ЦС.
1. ПОСТАНОВКА ЗАДАЧИ
Исходная неоднородная ЦС со структурой симметричного двудольного графа ()п5 представлена графом, у которого пх вершин подмножества Xсоответствуют процессорам, п2 вершин подмножества X — блокам памяти (пх + п2 = п), содержащим серверы памяти с необходимыми функциональными возможностями для выполнения диагностических процедур, п вершин подмножества У — блокам коммутаторов; 5 — степень вершин двудольного графа, т. е. каждая вершина подмножества X (У) связана дугами с 5 вершинами подмножества У (X). (Для графа на рисунке 5 = 3.)
Допускаются устойчивые отказы ограниченного числа вершин и дуг, причем неисправности модулей таковы, что не влияют на работоспособность смежных модулей. Предполагается также, что во время выполнения процессов контроля и диагностирования (КиД) новые отказы не возникают. Запуском процессов КиД в различных подсистемах ЦС и обработкой полученных результатов занимается исправный диагностический монитор (ДМ), который находится в модуле, внешнем по отношению к анализируемой ЦС.
Для описания результатов тестирования компонентов используется модель Барси — Грандони — Маестрини [4]. При проведении КиД в каждой из формируемых проверяемых подсистем будут использованы процедуры, подобные процедурам диагностирования из работы [2].
Требуется разработать подход к организации системного диагностирования неоднородных ЦС, обеспечивающий ДМ достоверной информацией для диагностирования состояния компонентов (процессоров, блоков памяти, блоков коммутаторов, линий связи) системы.
2. ПОДХОД К ДИАГНОСТИРОВАНИЮ НЕОДНОРОДНЫХ ЦИФРОВЫХ СИСТЕМ СО СТРУКТУРОЙ СИММЕТРИЧНОГО ДВУДОЛЬНОГО ГРАФА
Процесс диагностирования компонентов однородных цифровых систем включает в себя [2]:
— исполнение исправным модулем функций проверяющего модуля;
— нахождение пути от одного исправного модуля к другому исправному для передачи ему функций проверяющего модуля;
— дешифрацию результатов выполненных проверок.
Как видно из данного перечня, для реализации этих процедур от проверяющего модуля не требуется выполнения сложных вычислительных и логических функций. Поэтому будем предполагать, что сервер памяти обладает функциональными возможностями, достаточными для реализации перечисленных процедур. Таким образом, можно считать, что процессор и блок памяти с сервером памяти эквивалентны в смысле реализации диагностических процедур и могут в полном объеме исполнять функции проверяющего модуля. (Поэтому в дальнейшем основное функциональное назначение этих блоков (процессора или блока памяти) отмечать не будем.)
Контроль работоспособности цифровой системы заключается в том, что каждый проверяющий модуль должен проверить техническое состояние своих преемников и соответствующих линий связи. Простейший способ выполнения проверок одного модуля разными проверяющими модулями — последовательный. Для оптимальной реализации этого способа на диагностическом графе ЦС нужно построить гамильтонов цикл, который обеспечит однократный обход всех модулей исправной системы.
В цикле, выбранном для последующего примера (см. рисунок), модули подмножества X чередуются с модулями подмножества У (блоками коммутаторов):
1 ^ 8 ^ 2 ^ 11 ^ 6 ^ 10 ^ 7 ^ 12 ^ 5 ^
^ 14 ^ 3 ^ 13 ^ 4 ^ 9 ^ 1.
Проверяющим модулем т. назначим один из модулей подмножества X (вершины j = 1, ..., 7), а в проверяемую подсистему К а к включим следующие компоненты: блок коммутатора с(? = 8, ..., 14), модуль тк подмножества X (к = 1, ..., 7), линию связи ._§ между проверяющим модулем т. и блоком коммутатора с и линию связи I , между бло-§ § к ком коммутатора с и проверяемым модулем тк.
§к
(Таким образом, индекс (/', g, к) подсистемы и к
] >§ ,к
состоит из номера у проверяющего модуля, номера g блока коммутатора, номера к проверяемого модуля).
В таблице Т5 (табл. 1), построенной для системы 07 3 (см. рисунок), показана информация о составе проверяемых подсистем и номерах проверяющих модулей т.. В табл. 1 семь строк Т., в каждой из которых для проверяющего модуля т. (у = 1, 2, ..., 3, 4) записаны номера компонентов, входящих в состав трех проверяемых им подсистем и і к1, и & к2 и и ё3 к3, в ней также есть поля для записи оценок результатов проверки Т]&хм, г]Ак2 и ]е3 ,к3 этих подсистем модулем т..
Для отображения местонахождения проверяющих модулей т. в цикле контроля в строке Т табл. 1 проверяемые подсистемы записаны в таком порядке, что именно модуль тк1, входящий в проверяемую подсистему и. ё1 к1, оказывается в построенном цикле соседним справа для проверяющего модуля т] (после блока коммутатора с^. Например, в строке Т1 табл. 1 модуль т1 проверяющий для подсистем и1 8 2, и1 9 5 и и 10 6, и в следующей строке Т2 в качестве проверяющего записан модуль т2, являющийся в цикле контроля соседом справа для модуля т1 (после блока коммутатора с8).
Тогда отдельная проверка (тест ] g к) будет вы], g,к
полняться следующим образом. Получив управление (в процессе КиД), проверяющий модуль т. через блок коммутатора с и линии 1._ , 1—к передает в модуль тк команду на проведение его самоконтроля. Результаты выполненного теста ] g к из мо] к
дуля тк передаются через блок коммутатора с и
к§
линии ,_§, 1§_к в процессор т., который сравнивает их с эталонами из блока собственной сверхоперативной памяти и формирует оценку г. к: равную 0,
}, §,к
если результаты совпали с эталонами, равную 1 — в противном случае. На основании полученных оценок процессор т, выбирает среди проверенных им исправную подсистему К, § к*, модулю тк, из состава которой передает управление и необходимую информацию для продолжения процесса КиД. Такая процедура возможна, если в системе ограниченное число отказавших компонентов. Модуль тк*, получив разрешающую команду, перейдет в режим продолжения проводимого процесса, а после завершения своего этапа проверок передаст управление следующему модулю одной из исправных подсистем, проверенных им.
Известно, что одиночные отказы вершины и прилегающей к ней линии связи неразличимы. Обычно считают, что отказ модуля, представленного вершиной графа, более вероятен, чем отказ линии связи, представленной дугой, и восстановление нужно начинать с замены модуля, подозреваемого в отказе, на исправный. Если при повторной проверке для этой пары компонентов будет получен тот же результат, то нужно восстанавливать линию связи.
Таким образом, для достоверного восстановления кратных отказов в неоднородных ЦС нужно соблюдать такой порядок диагностирования:
— запуск КиД, дешифрация результатов проверок: если обнаружены подозреваемые в отказе модули подмножеств X и У — их диагностирование и восстановление;
— запуск КиД, дешифрация результатов проверок: если обнаружены подозреваемые в отказе
Таблица 1
Таблица 7* состава проверяемых подсистем
Строка Т. Проверяющий модуль Проверяемые подсистемы и*,, оценки результатов их проверок
т. и;§1,и ГІАІМ ГІ,%2,к2 и',Е3,В
Т 1 (1-8), 8, (8-2), 2 (1-9), 9, (9-5), 5 (1-10), 10, (10-6), 6
Т 2 (2-11), 11, (11-6), 6 (2-8), 8, (8-3), 3 (2-12), 12, (12-7), 7
Т6 6 (6-10), 10, (10-7), 7 (6-11), 11, (11-4), 4 (6-14), 14, (14-5), 5
Т 7 (7-12), 12, (12-5), 5 (7-10), 10, (10-1), 1 (7-13), 13, (13-3), 3
Т 5 (5-14), 14, (14-3), 3 (5-12), 12, (12-2), 2 (5-9), 9, (9-4), 4
Т 3 (3-13), 13, (13-4), 4 (3-14), 14, (14-6), 6 (3-8), 8, (8-1), 1
Т Т 4 4 (4-9), 9, (9-1), 1 (4-13), 13, (13-7), 7 (4-11), 11, (11-2), 2
линии связи — их диагностирование и восстановление;
— если ранее были обнаружены и восстановлены отказавшие компоненты, то запуск КиД, дешифрация результатов проверок — для подтверждения исправности ЦС.
Поскольку задачи, возлагаемые на системы диагностирования рассматриваемых неоднородных ЦС и однородных ЦС из работы [2], во многом сходны, то в организации системы диагностирования рассматриваемых ЦС можно использовать большинство диагностических процедур из работы [2]. Поэтому в последующем описании организации диагностирования рассматриваемых ЦС будем опускать некоторые подробности, заменяя их необходимыми ссылками на работу [2].
Традиционно процесс контроля запускается диагностическим монитором (ДМ) через сравнительно небольшие интервалы времени, что препятствует накапливанию отказавших компонентов в системе.
Назначим в качестве начального модуля процесса контроля один из модулей подмножества X, обозначим его тп.
По сигналу ДМ о начале контроля модуль тп выполняет следующие действия:
— из таблицы Ту выделяет строку Т, переписывает ее в таблицу контроля РТ0, находит в ней индексы (и, g1, к1), (и, g2, к2), (и, #3, к3) проверяемых подсистем Кп,§1,1 Кп,§2,к2:’ ^,§3^ передает модулю тк1 (тк2, тк3) команду «Выполнить самоконтроль модуля тк1 (тк2, тк3) и передать результаты проверок в модуль тп».
Получив эту команду, модуль тк1 (тк2, тк3) проводит самоконтроль и передает результаты проверок в модуль тп.
Модуёь тп формирует оценку гп,§1, k1, (гп , §2 ,k2, ...),
равную 0, если полученные результаты проверок совпали с эталонами, и равную 1 — при несовпадении; записывает ее в соответствующие клетки строки Тп в табл. РТ0, затем анализирует полученные оценки:
— если среди полученных оценок есть как единичные, так и нулевые, то передает модулю одной из подсистем с нулевой оценкой управление для продолжения процесса контроля;
— если проверки всех проверявшихся подсистем дали единичные оценки, то ДМ должен запустить процесс контроля с другого проверяющего модуля.
Модуль тк1 (тк2, ...) и каждый из последующих «соседей» по циклу контроля выполняют аналогичные действия в случае получения нулевых оце-
нок. Этот процесс проверок и «хождения» по вершинам выбранного цикла заканчивается, когда управление возвращается к начальному модулю тп. Если же на одном из этапов контроля (кроме начального) получена хотя бы одна единичная оценка, свидетельствующая об обнаружении одного или нескольких отказавших компонентов, то процесс контроля заканчивается, и система переходит к диагностированию отказавших компонентов.
Процесс диагностирования начинает тот модуль т,, который первым получил хотя бы одну единичную оценку при проверке состояний связанных с ним подсистем К, §1 к1, К, §2 к2, ...; естественно, модуль т, должен быть исправным и проверенным в данном «сеансе» контроля, в частности, он не может быть начальным модулем тп.
На основе информации, полученной в процессе контроля, начальный модуль процесса диагностирования т,:
— формирует промежуточную таблицу РТ,, переписывая в нее из таблицы РТ0 строку Т, с оценками, полученными в процессе контроля (в индексе символа данной таблицы указан индекс проверяющего модуля т,);
— по нулевым оценкам в строке Т, выделяет подмножество индексов исправных модулей {#,} и одному из этих модулей (например, первому в строке Т,, если он исправен) передает таблицу РТ, и управление процессом диагностирования.
Если среди модулей, проверенных модулем т,, нет ни одного исправного, то для получения диагностических результатов ДМ должен повторить запуск процесса контроля с другого начального модуля.
Очередной исправный модуль ту, получив управление процессом диагностирования, выполняет следующие действия:
1) из таблицы состава Ту выделяет строку Ту, переписывает ее в таблицу РТ,, полученную от предшественника — модуля т, (т^_1);
2) в строке Ту выделяет индексы (V, #1, к1), (V, #2, к2), (V, #3, к3) проверяемых подсистем Ц, §1 к1, К у §2 к2, Ц, §3 к3, выдает команды на самоконтроль модулей, входящих в эти подсистемы, получает результаты проведенных проверок и в клетки Гу §1 к1, (г, §2 к2, ...), ... строки Ту записывает двоичные оценки этих результатов;
3) по нулевым оценкам проверок в строке Ту выделяет подмножество {#у} индексов исправных «преемников» — проверенных модулей, сравнива-
ет индексы из подмножества {#у} с индексами строк в таблице РТ,:
— если один индекс (или больше) из подмножества {#у} отсутствует в списке индексов строк в таблице РТ,, то передает модулю с этим индексом таблицу РТ, и управление процессом диагностирования;
— если список {#,} пуст или все индексы {#,} — в списке индексов строк в таблице РТ,, то переход к п. 4;
4) находит один из исправных модулей, еще не исполнявших функции проверяющего, и передает ему таблицу РТ, и управление диагностированием.
Для нахождения одного из исправных модулей, еще не исполнявших функций проверяющего модуля, модуль ту находит индексы {#у*} исправных модулей строки Ту* и сравнивает их с индексами строк в таблице РТ,. Если при сравнении списков индексов окажется, что:
— один индекс (или больше) из подмножества {#у*} отсутствует в списке индексов строк в таблице РТ,, то модуль ту передает модулю с этим индексом (V + 1) таблицу РТ, и управление диагностированием;
— список {#у*} пуст или все индексы {#у*} — в списке индексов строк в таблице РТ,, то модуль ту переходит к анализу предыдущей строки Ту*_1.
Эти действия проводятся поочередно снизу вверх, начиная с нижней строки Ту. При нахождении исправного модуля ту+1 в строке Ту* управление диагностированием и таблица РТ, передаются этому модулю снизу вверх через проверяющие модули ту, ..., ту*. Если при достижении верхней строки Т. окажется, что и в этой строке нет исправного модуля, не исполнявшего функций проверяющего модуля, то поиск прекращается, и модуль ту пересылает в ДМ таблицу РТ, для обработки полученных результатов проверок.
Процедура обработки полученных результатов проверок изложена в работе [2]. В данном тексте эта процедура будет показана в примере.
3. ПРИМЕР
Особенности предлагаемой организации диагностирования покажем на примере ЦС со структурой симметричного двудольного графа (система 07 3, см. рисунок).
Как отмечалось, для организации контроля выбран следующий цикл, в котором модули подмножества X
чередуются с блоками коммутатора: 1 ^ 8 ^ 2 ^ 11 ^ ^ 6 ^ 10 ^ 7 ^ 12 ^ 5 ^ 14 ^ 3 ^ 13 ^ 4 ^ 9 ^ 1.
Таблица состава Т5, построенная с учетом этого цикла, приведена в табл. 1.
Предположим, что из-за большого интервала между циклами контроля в рассматриваемой ЦС накопились отказы модулей 5, 10, 11 и линии связи (7—13).
По сигналу ДМ о начале контроля начальный модуль 1 выполнит следующие действия: из таблицы Т8 (см. табл. 1) выделит строку Т1, перепишет ее в таблицу РТ0, найдет в ней индексы (1, 8, 2) (1, 9, 5), (1, 10, 6) проверяемых подсистем Щ 8 2, Щ 9 5, Щ 10 6, передаст модулю 2 (5, 6) команду «Выполнить самоконтроль модуля 2 (5, 6) и передать результаты проверок в модуль 1».
Получив эту команду, модуль 2 (5, 6) проводит самоконтроль и передает полученные результаты проверок модулю 1.
Модуль 1 формирует оценки Г1 8 2 = 0, Г1 9 5 = 1, г1 10 6 = 1, записывает их в соответствующие клетки строки Т1 в таблице РТ0 (для сокращения числа таблиц будем записывать результаты проверок, находящиеся в разных модулях, в общую табл. 2), анализирует полученные оценки: так как среди полученных оценок есть две единичные и одна нулевая, то передает модулю 2 управление для продолжения процесса контроля. (Отметим, что в строке Т1 и в последующих полужирным шрифтом в результатах проверки выделен 0 того исправного модуля, которому передается управление для продолжения процесса контроля или диагностирования.)
Модуль 2 выполнит аналогичные действия:
— передаст в подсистемы Щ 11 6, и2 8 3, Щ 12 7 команду «Выполнить самоконтроль и передать результаты проверок в модуль 2»;
— получит оценки результатов контроля г2 11 6 = 1, г2 8 3 = 0, г2 12 7 = 0, проанализирует их: так как среди полученных оценок есть единичная (г2 11 6 = 1), то заведомо исправный модуль 2 перейдет к процессу диагностирования отказавших компонентов и выполнит следующие действия:
— образует промежуточную таблицу РТ2 и перепишет в нее строку Т2 с полученными оценками результатов проверок;
— по нулевым оценкам в строке Т2 выделит индекс исправной подсистемы Щ 8 3, найдет номер исправного модуля [д4 = 3}, которому передаст таблицу РТ2 и управление процессом диагностирования.
В свою очередь, модуль 3 выполнит следующие действия:
— из таблицы Т5 (см. табл. 1) выделит строку Т3, перепишет ее в таблицу РТ2, в строке Т3 найдет индексы проверяемых подсистем из 13 4, из 14 6, из 8 1, и в модули 4, 6, 1 передаст команду «Выполнить самоконтроль и вернуть результаты проверок в модуль 3»;
— получит оценки результатов контроля г3 13 4 = 0, Г314 6 = 0, Г3 8 1 = 0; по нулевым оценкам в строке Т3
найдет номера исправных модулей {#3 = 4, 6, 1} и первому из них (модулю 4) передаст таблицу РТ2 и управление процессом диагностирования.
Модуль 4 выполнит аналогичные действия, запишет оценки результатов проверки в строку Т4 и передаст таблицу РТ2 и управление процессом диагностирования модулю 1.
Модуль 1 вместо проверки подсистем Щ 8 2, Щ 9 5, Щ 10 6 выберет из строки Т1 результаты их проверок (на этапе контроля) г1 8 2 = 0, г1 9 5 = 1, г1 10 6 = 1 и определит, что исправен модуль 2. Но так как модуль 2 уже есть в числе проверяющих модулей на этапе диагностирования, то модуль 1 должен искать исправный модуль для исполнения функций проверяющего модуля среди ранее проверенных. В данном случае в строке Т3 есть нулевые оценки проверок модулей 6 и 1. Таким образом, модуль 1 через модули 9, 4, 13, 3 и 14 передаст модулю 6 таблицу РТ2 и управление дальнейшим процессом диагностирования.
Модуль 6 выполнит необходимые проверки подсистем Щ6 10 7, Щ6 11 4, Щ 14 5, определит, что среди его «преемников» нет исправных модулей, и аналогично модулю 1 проведет поиск проверяющего модуля среди ранее проверенных исправных модулей. Таким окажется модуль 7 в строке Т2, и модуль 6 через цепочку модулей 11, 2 и 12 передаст модулю 7 таблицу РТ2 и управление дальнейшим процессом диагностирования.
В свою очередь, модуль 7 после проверок своих «преемников» — подсистем Щ 12 5, Щ 10 1, Щ7 13 3 выяснит, что эти системы подозреваются в отказе. Поиск исправного модуля для исполнения функций проверяющего модуля не даст положительного результата: все исправные модули уже исполняли подобные функции. Поэтому модуль 7 закончит процесс диагностирования и перешлет в ДМ таблицу РТ2 для обработки полученных оценок результатов проверок.
Для обработки и дешифрации оценок результатов ДМ переписывает их из таблицы РТ2 в заранее заготовленную диагностическую таблицу Тв [2]. В табл. 3 и 4 представлены две части таблицы Тв после обработки результатов из таблицы РТ2 (табл. 2). Поясним структуру этих таблиц. В клетках левого столбца Тв перечислены компоненты проверяемых подсистем Щ 5 ,, взятые из соответствующих клеток таблицы состава Т8 (см. табл. 1), а клетки следующего столбца предназначены для записи оценок г. 5, проверок этих подсистем, полученных в процессе диагностирования. Последующие столбцы Тв обозначены символами одиночных компонентов системы 07 3: модули подмножества X символами и с номерами 1—7, блоки коммутатора символами с с номерами 8—14, линии связи — символами I с номерами начальной и конечной вершин. Нетрудно заметить, что в столбце Щ , проверяемых подсистем каждая линия показана дважды: в прямом и инверсном направлении, например (1—8) и (8—1), (1—10) и (10—1) и т. д. Однако в списке отдельных компонентов каждая из линий записана один раз для сокращения ширины табл. 3 и 4.
Вхождение компонентов (/—), с^, к), ик в состав
подсистемы Щ 5 к, приведенной в левом столбце заго-
/ , <5, к
товленной таблицы Тв, отмечается знаком *, поставленным в клетку на пересечении столбца с символом одного из компонентов (/—), с^ (/5—к), ик и строки Щ к. (Так как в табл. 3 и 4 показаны результаты обработки информации из таблицы РТ2, то знаки * остались только в тех трех строках, для которых нет оценок проверки этих подсистем.)
В нижней части таблицы Тв находятся три строки, озаглавленные (в левом столбце) символами А0, А1, Л2 и предназначенные для записи результатов обработки полученной информации.
Таблица 2
к Примеру
Строка Т. Проверяющий модуль Проверяемые подсистемы V. 2 к,оценки их проверок
т] и ,е1, И) гле1,и ГЛЕ2,й и',Е3 ,к3 ГЛЕ3,к3
Таблица РТ0
Т1 1 (1-8), 8, (8-2), 2 0 (1-9), 9, (9-5), 5 1 (1-10), 10, (10-6), 6 1
Т2 2 (2-11), 11, (11-6), 6 1 (2-8), 8, (8-3), 3 0 (2-12), 12, (12-7), 7 0
Таблица РТ2
Т Т2 2 (2-11), 11, (11-6), 6 1 (2-8), 8, (8-3), 3 0 (2-12), 12, (12-7), 7 0
Т3 3 (3-13), 13, (13-4), 4 0 (3-14), 14, (14-6), 6 0 (3-8), 8, (8-1), 1 0
Т4 4 (4-9), 9, (9-1), 1 0 (4-13), 13, (13-7), 7 1 (4-11), 11, (11-2), 2 1
Т1 1 (1-8), 8, (8-2), 2 0 (1-9), 9, (9-5), 5 1 (1-10), 10, (10-6), 6 1
Т6 6 (6-10), 10, (10-7), 7 1 (6-11), 11, (11-4), 4 1 (6-14), 14, (14-5), 5 1
Т7 7 (7-12), 12, (12-5), 5 1 (7-10), 10, (10-1), 1 1 (7-13), 13, (13-3), 3 1
Обработка записей из таблицы РТ2 заключается в следующем:
1) из строк Т2, Т3, Т7 таблицы РТ2 выделены оцен-
ки результатов проверок г2 11 6 = 1, г2 8 3 = 0, г2 12 7 = 0,
г7 13 3 = 1 и записаны в соот-
ветствующие клетки столбца г а, табл. 3 и 4, три клет-
] ■ &■к
ки этого столбца заполнены прочерками (—); в этих строках и сохранились знаки *;
2) значения 0 и 1, записанные в столбце г,5,, пере-
/ , <5, к
писаны в клетки той же строки и, 5 ,, отмеченные знаком * (заменили эти знаки);
3) заполнены прочерками (—) клетки строк А0, Ар Аг;
4) после этого в клетки этих строк записаны результаты диагностирования в соответствии со следующими правилами:
а) в к-ю клетку строки А0 записан 0, если в вышележащих клетках этого столбца есть хотя бы один нуль;
Таблица 3
Диагностическая таблица Тв (часть 1)
Проверяемые подсистемы и к 3,&к Г- 3-Я,
(1-8), 8, (8-2), 2 0
(1-9), 9, (9-5), 5 1
(1-10), 10, (10-6), 6 1
(2-11), 11, (11-6), 6 1
(2-8), 8, (8-3), 3 0
(2-12), 12, (12-7), 7 0
(6-10), 10, (10-7), 7 1
(6-11), 11, (11-4), 4 1
(6-14), 14, (14-5), 5 1
(7-12), 12, (12-5), 5 1
(7-10), 10, (10-1), 1 1
(7-13), 13, (13-3), 3 1
(5-14), 14, (14-3), 3 —
(5-12), 12, (12-2), 2 —
(5-9), 9, (9-4), 4 —
(3-13), 13, (13-4), 4 0
(3-14), 14, (14-6), 6 0
(3-8), 8, (8-1), 1 0
(4-9), 9, (9-1), 1 0
(4-13), 13, (13-7), 7 1
(4-11), 11, (11-2), 2 А0 А1 Аг 1
Компоненты системы
«5
/5-
14
с14
/14-
6
/14-
3
/9-
4
/5-
9
с9
«3
с12
/9-
1
«1
«4
/5-
12
/12-
2
/12-
7
«2
0
0
1
1
1
1
*
*
*
*
0
0
0
0
0
0
0
0
0
0
1
б) в клетки на пересечении строки А1 и столбцов, озаглавленных символами вершин и5, с10, с11 записаны единицы, так как в вышележащих клетках этих столбцов есть хотя бы одна единица и нет ни одного нуля;
в) в клетку на пересечении строки А1 и столбца, озаглавленного символом дуги /(13—7), записана единица, так как в этом столбце есть две единицы, нет ни
одного нуля и вершины 13 и 7, которые связывает эта линия, исправны (в соответствующих клетках строки А0 записаны нули);
г) в 9 клеток строки А^, озаглавленных символами дуг (/.•__), (/&-к), записан символ 2, так как хотя бы одна
] <5
из вершин (у или к), которые связывает каждая из этих линий, подозревается в отказе (в соответствующей клетке строки А1 записана 1).
Таблица 4
Диагностическая таблица 7В (часть 2)
Проверяемые подсистемы
Г- ,
],Е,к
Компоненты системы
/6-
10
/1-8
«7
/1-
10
/10-
7
/6-
11
/11-
2
/11-
4
/3-
13
/8-3
с11
/8-2
с8
с13
/13-
7
с10
/13-
4
1-8), 8, 8-2), 2
1-9), 9,
9-5), 5 1-10), 10,
10-6), 6
2-11), 11, 11-6), 6 2-8), 8, 8-3), 3 2-12), 12 12-7) 6-10)
10-7) 6-11)
11-4)
6-14) 14-5)
7-12)
12-5) 7-10) 10-1) 7-13)
7
10,
7
11,
4
14,
5 12, 5 10, 1
13, 3
14, 3
12,
2
13-3) 5-14)
14-3) 5-12) 12-2)
5-9), 9, 9-4), 4 3-13), 13,
13-4), 4
3-14), 14,
14-6), 6
3-8), 8, 8-1), 1
4-9), 9, 9-1), 1 4-13), 13, 13-7), 7 4-11), 11, 11-2), 2
А0
А1
А
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
Расшифровка полученных записей в строках А0, А1 и А2 дает следующие диагностические заключения:
а) исправны 22 компонента, номера которых определяются местоположением нулевых записей в строке А0;
б) в соответствии с местоположением единиц в строке А1 подозреваются в отказе модуль 5, блоки коммутатора 10, 11, линия связи (13—7), что совпадает с номерами компонентов в исходной отказовой ситуации;
в) в соответствии с местоположением символов Z в строке А2 остались неопределенными состояния линий (5—14), (5—9), (5—12), (6—10), (1—10), (10—7), (6—11), (11—2), (11—4), так как их проявления «маскируются» неисправным состоянием одной из вершин (5, 10, 11), к которым они примыкают.
Таким образом, в данном примере идентифицированы состояния 26 из 35 компонентов системы 07 3.
ЗАКЛЮЧЕНИЕ
Представлен подход к диагностированию неоднородных цифровых систем со структурой симметричного двудольного графа, состоящих из процессоров, блоков памяти и блоков коммутаторов, позволяющих связывать любую пару «процессор — блок памяти». На время проведения диагностирования разнотипные устройства объединяются в проверяемые подсистемы, состоящие из блока коммутатора, двух прилегающих линий связи и процессора или блока памяти. Предложен подход к диагностированию цифровых систем с такой структурой с точностью до отдельного компонента (процессор, блок памяти, блок коммутатора, линия связи).
Предполагается, что в системе есть диагностический монитор, который инициирует процессы контроля и диагностирования в анализируемой системе.
Рассмотрен пример организации диагностирования отказавших компонентов в системе, состоящей из 7 модулей подмножества X (процессоров и блоков памяти) и 7 блоков коммутаторов, с точностью до отдельного компонента ЦС: процессор, блок памяти, блок коммутатора, линия связи между ними. В приведенном примере получен правильный результат: диагноз совпадает с исходной
отказовой ситуацией, включающей 4 компонента. Но можно подобрать такие сочетания неисправных компонентов, диагноз которых даст неправильный результат. Так, при диагностировании любой пары отказавших модулей подмножества X в число подозреваемых в отказе войдет блок коммутатора, соединяющий эту пару отказавших модулей. Структура симметричного двудольного графа характерна тем, что для любой пары модулей подмножества X (У) обязательно найдется модуль подмножества У (X), их соединяющий. Таким образом, нетрудно сформировать 21 пару отказавших модулей из подмножества X, диагностирование которых даст заведомо неправильный результат. Этот факт говорит о том, что рассматриваемая структура не гарантирует правильного диагностирования двух любых отказавших компонентов, т. е. не является 2-однократно диагностируемой. Причина — в «слабой» разветвленности выходов блоков коммутаторов: с каждым выходом связаны только две линии.
ЛИТЕРАТУРА
1. Каравай М.Ф., Пархоменко П.П., Подлазов В.С. Комбинаторные методы построения двудольных однородных неизбыточных квазиполносвязных графов (симметричных блок-схем) // Автоматика и телемеханика. — 2009. — № 2. — С. 153—170.
2. Ведешенков В.А. Организация диагностирования цифровых систем со структурой симметричного двудольного графа // Проблемы управления. — 2009. — № 6. — С. 59—67.
3. Ведешенков В.А. Подход к мультиагентной организации системного диагностирования цифровых систем со структурой симметричного двудольного графа // Автоматика и телемеханика. — 2009. — № 11. — С. 161—171.
4. Barsi F., Grandoni F, Maestrini P. A theory of diagnosability of digital systems // IEEE Trans. Comput. — 1976. — Vol. C-25. — N 6. — P. 585—593.
Статья представлена к публикации членом редколлегии чл.-корр. РАН П.П. Пархоменко.
Ведешенков Виктор Алексеевич — д-р техн. наук, гл. науч. сотрудник, ст. науч. сотрудник,
Институт проблем управления им. В.А. Трапезникова РАН, г. Москва, ®(495) 334-75-90, И [email protected].
Читайте в следующем номере
•/ Задорожный В.Н. Случайные графы с нелинейным правилом предпочтительного связывания •/ Акопов А.С. К вопросу проектирования интеллектуальных систем управления сложными организационными структурами
•/ Угольницкий Г.А., Усов А.Б. Управление устойчивым развитием иерархических систем в условиях коррупции
•/ Токмачев М.С. Здоровье населения региона: модели и управление
^ Фархадов М.П., Петухова Н.В., Ефросинин Д.В., Семенова О.В. Двухфазная модель с неограниченными очередями для расчета характеристик и оптимизации речевых порталов самообслуживания
5G
CONTROL SCIENCES № б • 2G1G