Децентрализованная диагностика в распределённых вычислительных системах
Отказоустойчивость в надёжных и удобных в эксплуатации в распределённых многомашинных (многопроцессорных) системах основывается на структурной избыточности таких систем, которая позволяет обеспечить динамическую избыточность.
Динамическая избыточность базируется на двух основных компонентах:
Диагностика системного уровня включает (1) самодиагностику каждого узла и (2) диагностику соседей.
Алгоритм диагностики зависит от структуры сети связи системы, предполагаемых (допускаемых) ошибок и заданной диагностичности.
Децентрализованные структуры должны использовать и децентрализованную диагностику, поскольку централизованная диагностика, как показывает практика, не обеспечивает необходимый уровень надёжности.
Структура ВС описывается графом G (V,E), где V – множество узлов (процессоров),
E – множество рёбер (дуг, каналов связи).
Мы рассматриваем системы распределённой обработки информации регулярной структуры [хорош.]
Такие структуры различаются по следующим параметрам (характеристикам):
Некоторые структуры для систем большого масштаба представлены в таблице 1:
Наименование |
Число узлов |
Число линий(L) или шин(B) |
Число портов на удл |
Число непосредственных соседей |
Cетка |
N = WD |
L = D * N |
2D |
2D |
Двоичный n-куб |
N = 2D |
L = D * N/2 |
D |
D |
Тороидальный куб |
N = D * 2D |
L = 3 * D * 2D-1 |
3 |
3 |
Гиперкуб с шиной |
N = WD |
B = D * WD-1 |
D |
D(n-1) |
Гиперкуб с двойной шиной |
N = WD |
B = 2 * WD-1 |
2 |
2(W-1) |
Таблица 1
Теперь рассмотрим локальную децентрализованную диагностику для больших ВС.
Глобальная децентрализованная диагностика в больших системах приводит к увеличению затрат на диагностику. Чтобы удовлетворять основным ограничениям по затратам, можно предложить подход, основанный на локальной децентрализованной диагностике и глобальной регистрации ошибок.
Целесообразно описать для каждого узла закон образования и список ошибок.
Будем рассматривать следующее вхождение конфигураций друг в друга:
Рисунок 1
Идеальная структура G1 соответствует основным законам образования ВС.
Реальная структура G2 – это начальная конфигурация. Неисправные элементы не являются определяющими. G2 описывается теми же законами, что и G1, с дополненным списком допустимых ошибочных элементов.
Неповреждённая (безошибочная) структура G3 описывается тем же законом, что и G1 и списком ошибочных компонентов за время tn.
Рабочая конфигурация GY определяет структур системы, требуемую для выполнения набора задач ‘T1.
Соотношение структур между собой видно из рис.1 и формально описывается в виде
G4 G3 G2 G1
Диагностика определяет ошибочные элементы в G3. На основе этого осуществляется реконфигурация в G4.
Далее рассмотрим вопросы, связанные с самодиагностикой узла.
В общем случае каждый узел системы включает системное устройство, процессор(ы)
Обработки задач и некоторые общие ресурсы (ОП, ПЗУ, в/в).
Системное устройство (СУ) отвечает за приём и передачу сообщений и диагностику (собственного узла и вне узла - соседей).
Если есть положительный результат диагностики, то неисправный узел отключается от системы. При этом он посылает сообщение для инициализации процедуры самодиагностики, выполняемой программным путём.
Итогом самодиагностики будет специальный символ aj :
aj= 0, если Vj неисправен, узел Vj отключается от системы;
aj= 1, Vj исправен.
При этом дополнительный контрольный механизм должен иметь высокую надёжность и обеспечивать высокую скорость отключения неисправного узла от системы.
Теперь рассмотрим вопрос, связанный с диагностикой соседних узлов.
Диагностика соседей включает две составляющие :
Идея первой фазы состоит в следующем. Каждый исправный узел Vi принимает результат теста Sj от неповреждённых непосредственных соседних узлов Vj и формирует контрольный вектор S(i, tn) в момент времени tn.
Sj = 1, если Vj исправен и объявляется как Vj.
Sj = 0, если Vj повреждён и обозначается как Vj по истечении некоторого проверочного интервала.
Это хорошо подходит для шинных структур ВС, использующих D*W тест-матрицу S(i, tn).
Когда тествектор сформирован, или закончилось время испытания, то происходят сравнения полученного тествектора S(i, tn) с предыдущим S(i, tn-1). Если S(i, tn)= S(i, tn-1), то контрольная фаза заканчивается в узле Vi за время tn.
Если же эти векторы различны, то начинается второй этап – фаза диагностики, независимо от наличия неисправности в собственном узле или у соседей. Если же случайная (неустановленная) ошибка будет обработана, то для сравнения должен быть использован вектор S(i, tn-2).
Далее рассмотрим фазу собственно диагностики. Механизм диагностики включается после того как сформирован контрольный (тест) вектор. Этот механизм должен надёжно обнаружить и определить местонахождение неисправности (отказа) либо в собственном узле, либо в соседних. Это зависит от достигаемой надёжности или диагностируемости.
Рассмотрим основные аспекты фазы диагностики.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.