УДК 004.052.32
Исследование применимости нейронных сетей прямого распространения в задачах самодиагностики
1
распределенных вычислительных систем
К. Е. Крамаренко, О. В. Молдованова
В статье приведены результаты применения нейронных сетей прямого распространения к решению задачи самодиагностики распределённых вычислительных систем с использованием диагностической модели сравнения без применения дополнительных эвристик.
Ключевые слова: самодиагностика, распределённые вычислительные системы, искусственные нейронные сети.
1. Введение
Одной из основных задач построения распределённых вычислительных систем (ВС) является обеспечение их продолжительного надёжного функционирования. Её решение предполагает в первую очередь борьбу с неисправностями системы, порождаемыми отказами и сбоями в работе. Основная функционально-структурная единица вычислительных ресурсов в таких системах - элементарная машина (ЭМ). В качестве ЭМ могут быть использованы ЭВМ, вычислительные ядра, многоядерные процессоры, вычислительные узлы, оснащённые средствами межмашинной коммутации.
Отказом называется событие, при котором ЭМ теряет способность выполнять заданные функции по переработке информации [1]. Отказ одной элементарной машины, участвующей в вычислительном процессе, может привести к некорректному результату вычислений и иметь разрушительные последствия в дальнейшем. Следовательно, организация отказоустойчивого функционирования распределённых ВС требует создания программных средств, обеспечивающих контроль и диагностику их функционирования. В вычислительной системе как совокупности из N элементарных машин, взаимодействующих между собой через сеть связи, может быть применён нетрадиционный подход к контролю и диагностике. Учитывая встроенный параллелизм и программируемость структуры, в пределах ВС можно организовывать топологически различные схемы из ЭМ, которые обеспечат полноту контроля работоспособности всей системы и диагностики неисправностей. Поэтому по отношению к таким ВС допустимо применение терминов «самоконтроль» и «самодиагностика» [1].
При этом система рассматривается как граф, вершинам которого соответствуют ЭМ системы. Каждый тест формирует дугу графа, направленную от тестирующего к тестируемому. Результату теста соответствует 0 (1), если тестируемая элементарная машина определена как исправная (неисправная). Это значение используется как вес соответствующей дуги в диагностическом графе. Предполагается, что либо одна из ЭМ, либо обе могут быть неисправными. Неисправная тестирующая элементарная машина может сгенерировать любой тесто-
1 Работа выполнена при поддержке Совета по грантам Президента РФ (грант МД-2620.2014.9), Российского фонда фундаментальных исследований (гранты 15-07-00048-а, 15-07-00653-а, 15-37-20113-мол_а_вед).
вый результат, и его интерпретация тоже может быть различной. Набор всех тестовых результатов, называемый синдромом, дешифрируется для идентификации исправных и неисправных ЭМ.
Для интерпретации результатов тестирования были предложены различные диагностические модели [2-6], позволяющие идентифицировать исправные и неисправные элементарные машины. К ним относятся модели, основанные на тестировании ЭМ друг друга, такие как: модель Препараты-Метца-Чиена [2] (Ргерага1а-Ме12е-СЫеп) и модель Барси-Грандони-Маестрини [3] (ВагеьОгапёош-МаеБШш). Диагностическая модель, описанная в [4-6], называется моделью сравнения и предполагает, что парам ЭМ назначаются некоторые тесты, результаты выполнения которых затем сравниваются.
Определение полного и корректного подмножества неисправных элементарных машин (образа неисправности) в системе является #Р-трудной задачей [7]. Но эта задача может быть решена за полиномиальное время при введении ограничения количества неисправных ЭМ в системе. Такие системы получили название ¿-диагностируемых [2], где I - максимальное количество неисправных элементарных машин, при котором возможно определение образа неисправности.
В настоящее время при решении задачи самодиагностики распределённых вычислительных систем широко используются генетические алгоритмы [8, 9], искусственные нейронные сети [10-12] и даже алгоритмы, в основе которых лежит функционирование искусственной иммунной системы [13]. Главным недостатком существующих решений для нейронных сетей является использование в дополнение к основным алгоритмам эвристик, позволяющих улучшить результат самодиагностики.
В статье приведены результаты применения нейронных сетей прямого распространения к решению задачи самодиагностики распределённых вычислительных систем с использованием диагностической модели сравнения без применения дополнительных эвристик.
2. Диагностическая модель сравнения
Рассматривается распределённая вычислительная система, состоящая из N элементарных машин (в дальнейшем - узлов), соединённых каналами связи. Каждый узел может находиться в исправном или неисправном состоянии. Паре узлов назначается на выполнение задача. Сравнение полученных результатов её решения даёт информацию о состоянии узлов. Если результаты совпадают - оба узла исправны, иначе один или оба узла являются неисправными. Множество всех результатов сравнения называется синдромом [6].
Модель сравнения, предложенная в [4, 5], предполагает наличие центрального обозревателя (высоконадёжной ЭМ), который назначает задачи из множества Т = {Т1, Т2, ..., Тк, ..., Тм] парам узлов, затем собирает результаты выполнения этих задач и производит диагностику системы.
Диагностическая модель сравнения описывается двумя ненаправленными графами: графом связей и графом тестов, или сравнений [10]. Граф связей G1 = (V, Е) представляет топологию вычислительной системы, где V - множество узлов, \У\ = N Е - множество рёбер. Каждое ребро в, = у у) представляет собой канал связи между парой у у) узлов ВС. Граф сравнений G2 = (V, С) показывает, какие пары узлов тестировались. Как и в случае с графом связей, V- множество узлов, \ V = N а С = {с,} - множество рёбер, соединяющих пары узлов (у,, у), выполняющих одну и ту же задачу Тк е Т. Обозначим множество узлов, с которым сравнивается узел как Г = {у : с, е С]. Сравнение узлов и V, даёт 0, если их результаты выполнения задачи Тк совпали; и 1 - в противном случае. Для двух исправных узлов результат сравнения всегда равен 0. Если только один из узлов является неисправным, результат сравнения всегда равен 1. А для двух неисправных узлов этот результат может принимать
значение как 0, так и 1. Синдром для диагностической модели сравнения представляет собой квадратную симметричную матрицу размером N х N.
Для проведения корректной самодиагностики распределённой ВС введено ограничение на максимальное количество г неисправных узлов, называемое степенью диагностируемости системы [2]. В [6] было показано, что для системы с N узлами, сравниваемыми попарно, г = N - 2.
3. Нейронные сети
Основной причиной выбора нейронных сетей для решения задачи самодиагностики является их интенсивное изучение в настоящее время как механизмов классификации и распознавания. Задачу самодиагностики с использованием диагностической модели сравнения можно рассматривать как задачу классификации, которая направлена на разделение узлов системы на исправные и неисправные. В данной работе мы сфокусируемся на нейронной сети прямого распространения (многослойный персептрон), потому что этот класс сетей является одним из самых изученных и существует множество реальных реализаций, основанных на нём [14]. Пример структуры сети приведён на рисунке ниже. Сигналы в такой сети распространяются от нейронов входного слоя к нейронам выходного.
Рис. 1. Пример структуры нейронной сети прямого распространения Выходной сигнал нейрона рассчитывается по следующей формуле:
Уг = /
л хл
Ш .
где уг - выходной сигнал, /- функция активации, х) -]-й входной сигнал, Шу - вес связи между г-м иу-м нейронами.
Обучение сети производится алгоритмом обратного распространения ошибки, который предполагает два прохода по всем слоям сети: прямой и обратный. Во время прямого прохода входной вектор подаётся на входной слой нейронной сети, после чего распространяется по сети до выходного слоя. В результате получаем набор выходных сигналов, который и является фактической реакцией сети на данный входной образ. Во время прямого прохода все синаптические веса сети остаются неизменными. Во время обратного прохода все синапти-
ческие веса настраиваются в соответствии с правилом коррекции ошибок, а именно: фактический выход сети вычитается из желаемого, в результате чего формируется сигнал ошибки. Этот сигнал впоследствии распространяется по сети в направлении от выходного слоя к входному. Для обучения этим алгоритмом требуется обучающая выборка с уже известными выходными значениями. Количество нейронов в слоях и число скрытых слоёв зависит от поставленной задачи.
3.1 Нейросетевая интерпретация задачи
Структуру нейронной сети, решающую задачу диагностирования, представим следующим образом:
- количество входных нейронов соответствует размерности синдрома;
- количество выходных нейронов равно числу узлов системы;
- количество скрытых слоёв равно трём (вычислено опытным путём);
- количество нейронов в скрытых слоях вычисляется по следующей формуле:
f round(N + (logw(N/10 + N) ■ N)) , если mod(N, 10) = 0 f(x) = \ ,
{round(N + (logw(mod(N, 10)) ■ N)), если mod(N, 10) * 0
где N - количество узлов системы; round - округление до ближайшего целого; mod -остаток от деления.
4. Результаты
В данной работе было реализовано две версии диагностических алгоритмов. Первая (Алгоритм!) делит синдром на блоки длиной 8 и преобразует их в числа троичной системы исчисления и подаёт на вход полученную последовательность, а вторая версия (Алгоритм2) использует для входа сети нижний треугольник матрицы синдрома. При моделировании использовались случайно сгенерированные диагностические графы. И для каждого графа количество неисправных узлов составляло 10, 30, 50 и 70 процентов от общего количества узлов.
Алгоритмы самодиагностики распределённых вычислительных систем были реализованы и исследованы с помощью пакета Neural Network Toolbox™ интерактивной среды MATLAB (версия R2014b). Моделирование проводилось на следующих персональных компьютерах:
1) Intel Core i5, 3.20 GHz, RAM 8 GB DDR3;
2) Intel Core i7, 2.0 GHz, RAM 8 GB DDR3.
Эксперименты проводились с количеством узлов в системе 50, 100, 200 и выборками 100, 300 и 700 соответственно. Где 70% выборки составляла обучающая выборка, а 30% - тестовая выборка. Размеры выборок определены опытным путём. Для каждой размерности ВС генерировалось 5 различных диагностических графов. Результаты моделирования, приведённые на рис. 2-4, представляют собой средние значения.
Исходя из полученных результатов, можно сделать следующие выводы:
1) нейронные сети прямого распространения имеет смысл использовать для диагностиро-
вания вычислительных систем с процентом неисправных узлов не более 30;
2) несмотря на то, что Алгоритм1 и Алгоритм2 сокращают размер входных данных в 8 и
2 раза соответственно, сохраняется высокая обобщающая способность нейронной сети;
3) даже при небольшом размере обучающей выборки для каждой размерности вычисли-
тельной системы получается высокая точность диагностирования.
30 40 50
% неисправных узлов Рис. 2. Результаты диагностики ВС с 50 узлами 1 - Алгоритм!; 2 - Алгоритм2
10 20 30 40 50 60
% неисправных узлов Рис. 3. Результаты диагностики ВС со 100 узлами 1 - Алгоритм1; 2 - Алгоритм2
30 40 50
% неисправных узлов Рис. 4. Результаты диагностики ВС с 200 узлами 1 - Алгоритм!; 2 - Алгоритм2
5. Заключение
В статье приведены результаты применения нейронных сетей прямого распространения к решению задачи самодиагностики распределённых вычислительных систем с использованием диагностической модели сравнения без дополнительных эвристик. По полученным результатам даны рекомендации. В дальнейшем планируются эксперименты с большими размерностями вычислительных систем и другими классами искусственных нейронных сетей.
Литература
1. Хорошевский В.Г. Архитектура вычислительных систем: Учеб. пособие. - 2-е изд., пере-раб. и доп. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2008. - 520 с.
2. Preparata F.P., Metze G., Chien R.T. On the Connection Assignment Problem of Diagnosable Systems. // IEEE Trans. Electron. Comput. 1967. V. EC-16. N 6. - pp. 848-854.
3. Barsi F., Grandoni F., Maestrini P. A Theory of Diagnosability of Digital Systems. // IEEE Trans. Comput. 1976. V. 25. N 6. - pp. 585-593.
4. Chwa K.Y., Hakimi S.L. Schemes for fault tolerant computing: a comparison of modularly redundant and t-diagnosable systems. // Information and Control 49, 1981. - pp. 212-238.
5. MalekM. A comparison connection assignment for diagnosis of multiprocessor systems // Proc. 7th International symposium on computer architecture, New York, 1980. - pp. 31-35.
6. Duarte Jr., E.P., Ziwich, R.P., Albini, L.C.P. A survey of comparison-based system-level diagnosis // ACM Comput. Surv. 43, 3, Article 22, 2011. - 56 p.
7. Blough D., Sullivan G., Masson G. Intermittent fault diagnosis in multiprocessor systems // IEEE Trans. on computers, 41, 1992. - pp. 1430-1441.
8. Elhadef M., Das Sh., Nayak A. A parallel genetic algorithm for identifying faults in large diagnosable systems. // The international journal of parallel, emergent and distributed systems, Vol. 20, No.2, June 2005. - pp. 113-125.
9. Elhadef M., Romdhane L.B., Ayeb B. Performance analysis of an evolutionary algorithm for fault detection in t-diagnosable multi-processor systems // International Journal of Parallel Emergent and Distributed Systems 10/2007. - 22 (5). - pp. 387-404.
10. Elhadef M. A modified Hopfield neural network for diagnosing comparison-based multiprocessor systems using partial syndromes // ICPADS, 2011, Parallel and Distributed Systems, International Conference on, Parallel and Distributed Systems, International Conference on 2011. -pp. 646-653.
11. Elhadef M., Nayak A. Comparison-Based System-Level Fault Diagnosis: A Neural Network Approach // IEEE Transactions on Parallel & Distributed Systems, 2012. - vol.23. - no. 6. - pp. 1047-1059.
12. Elhadef M., Romdhane L.B. Fault diagnosis using partial syndromes: a modified Hopfield neural network approach // International Journal of Parallel, Emergent and Distributed Systems, 2014. - Vol. 29. - No. 2. - pp. 119-146.
13. Elhadef M., Das Sh., Nayak A. System-Level Fault Diagnosis Using Comparison Models: An Artificial-Immune-Systems-Based Approach. // Journal of networks, Vol. 1, No. 5, September/October 2006. - pp. 43-53.
14. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудин-ского. - М.: Финансы и статистика, 2004. - 344 с.
Статья поступила в редакцию 10.08.2015
Крамаренко Константин Евгеньевич
старший преподаватель Кафедры вычислительных систем СибГУТИ (630102, Новосибирск, ул. Кирова, 86) тел. (383) 269-82-86, e-mail: kostya.kram@gmail.com.
Молдованова Ольга Владимировна
к.т.н., доцент Кафедры вычислительных систем СибГУТИ (630102, Новосибирск, ул. Кирова, 86) тел. (383) 269-82-75, e-mail: ovm@csc.sibsutis.ru.
Research of artificial neural networks applicability in self-diagnosis problems for distributed computer systems
K. Kramarenko, O. Moldovanova
The article contains the results of artificial neural networks applicability for solving the problem of distributed computer systems self-diagnosis with comparison diagnosis model without additional heuristics.
Keywords: self-diagnosis, distributed computer systems, artificial neural networks.