Distributed data storage systems (DSS) are multi-parameter, complexly configurable systems. Fault tolerance and reliability of DSS data storage are ensured by a set of different methods. To assess the efficiency of new methods, it is convenient to use software tools that simulate the operation of DSS. The purpose of this work is to study the existing software simulators of DSS to assess the potential of their use. The study is based on the analysis of several software simulators that model the operation of DSS. The analysis took into account such parameters as the choice of the redundancy introduction method, the data placement method, the data recovery algorithm after failure, and the choice of storage architecture. The results of the study show that simulators offer a wide range of options for modeling fault tolerance, but some of them demonstrate greater efficiency in some scenarios. A generalized structural diagram of the simulators is built, revealing the features of the architecture and principles of operation. The CR-SIM simulator has the greatest functionality, but its source codes and executable file are not available. Simulators with open source code do not have a flexible architecture for their expansion with new methods. The сonclusion is made about the need to develop a new simulator in the form of an open source software tool, the architecture of which is designed for its expansion. Such a simulator will allow testing new developments in the field of fault tolerance enhancement technologies.
Keywords: data storage system, fault tolerance, erasure codes, software simulator, dependability, simulation model
Unintentional errors occur in all data transmission channels. The standard way to deal with them is to use noise-resistant codecs based on the use of algebraic error correction codes. There are transmission channels in which a special type of error occurs – erasures, i.e. a type of error in which the location of the error is known, but its value is not known. Coding theory claims that error-control methods can be applied to protect data from erasure, however, these statements are not accompanied by details. This work fills this gap. Algorithms for correcting erasures using arbitrary decoders for error correcting codes are constructed. Lemmas about the correctness of the constructed algorithms are formulated, some estimates of the probability of successful decoding are obtained.
Keywords: channels with erasures, noise-resistant code, algebraic code, error correction code decoder, erasure correction algorithm