Децентрализованная диагностика в распределённых вычислительных системах, страница 2

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

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

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

Можно предположить несколько возможных вариантов диагностики:

- событийно-независимые алгоритмы; в этом случае диагностика осуществляется с использованием локальных соседних матриц.

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

Рассмотрим более подробно некоторые положения, сформулированные выше.

Локальный диагностический граф G5 описывается локальной матрицей соседей A(Vi), существующей для каждого узла. Локальный граф включает всех непосредственных соседей и все дуги соседних узлов и, по крайней мере, один конечный путь из узла Vi  в узел Vj для каждого ребра Vi . Локальная инициируемая ошибкой матрица соседей формируется передачей локальных тествекторов каждого узла. На рис.2 приведён пример местного двумерного графа для узла Vi.

                                                           Рисунок 2

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

                                                   Рисунок 3

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

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

Несколько по-другому обстоит дело при реализации  локальной направленной трансляционной диагностики.

Направленная локальная трансляционная диагностика особенно привлекательна для ВС с шинной архитектурой. Направленная локальная трансляция является постепенной, полной или частичной шинной трансляцией, которая обеспечивается наблюдающим узлом через множество выбранных шин для повышения скорости параллельной передачи сообщений к множеству узлов назначения и для сокращения диагностики в пространстве. Множество узлов-получателей – это множество узлов-соседей подозреваемого в неисправности узла (рис.4) или ребер (дуг)(рис.3).

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

                                                                                                                 Рисунок 4

                                                                                                                                 Рисунок 5

Можно отметить, что диагностика – это децентрализованный динамический процесс. Это означает, что множество непосредственных соседей проверяемого объекта (динамическое множество проверяемых узлов) допускает независимую и асинхронную диагностику.

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

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

Таким образом, ВС распределённой обработки требуют децентрализованной диагностики.

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

В случае диагностики соседей осуществляется объединение циклов испытаний и диагностики.

Глобальная регистрация ошибок реализуется посредством глобальной передачи сообщений.