APPLYING DEEP LEARNING FOR SOLVING THE TASKS OF SELF-DIAGNOSIS OF DISTRIBUTED COMPUTER SYSTEMS
The article is devoted to solving the problem of self-distributed computer systems, which consist of a plurality of elementary machines (nodes), interconnected by channels of communication. With increasing number of nodes in the system the probability of faults increases. Fault is an event when the elementary machine loses its ability to perform specified functions of information processing. Fault of one node involved in the computation process can lead to incorrect result of calculations and have devastating consequences for the entire distributed computer system. Therefore, the urgent problem is the development of self-diagnostic algorithms, the aim of which is to identify the fault and fault-free system nodes using the given syndrome of the distributed computer system. This problem can be reduced to the problem of classification which is effectively solved by the deep learning algorithms. The paper presents the statement and limitation of the problem of decoding the distributed computer system syndrome; the description of the developed algorithm for decoding the syndrome of distributed computer systems on the basis of the convolutional neural network and the algorithm for training samples generation. Software implementation of the developed algorithms was performed using DeepLearnToolBox package in Matlab interactive environment. Experiments on test training samples with different numbers of nodes in a distributed computer system and different number of faulty nodes are carried out. The following convolutional neural network hyperparameters are experimentally selected: length of the training sample, number of training epochs, convolution kernel step, number and size of the convolution kernels in the layer, number of layers in convolutional neural network. The algorithm efficacy was evaluated by dependency of quantity of the accurately diagnosed nodes from the total number of fault nodes in the distributed computer system. Experiments have shown that the algorithm should be used in distributed computer systems with the number of fault nodes not more than 30 % of their total number. Despite the short length of the training samples, the network maintains a good generalizing ability.