Flotsam: Evaluating Implementations of the Raft Consensus Algorithm CS244B Project Report
نویسنده
چکیده
The Raft consensus algorithm [1] is designed to be easily understood and implemented. Many opensource projects now implement Raft as a library or standalone service or incorporate it into more complicated distributed systems. However, the quality of these implementations has not been studied extensively. This work presents a system, Flotsam, for empirically testing Raft open-source implementations for errors. Randomized test cases are generated and tested in a virtualized environment based on Docker. Test operations are specified using a general interface to allow new implementations to be simply “plugged in”, and outputs are checked against each other using configurable criteria after injecting. This work identifies several implementations of Raft and tests them against each other using Flotsam. The promise of this approach, both for assessing Raft implementations and for testing distributed systems in general, is demonstrated through initial test results.
منابع مشابه
Raft System Analysis and Testing Framework
A system is presented for analyzing the operation of implementations of the Raft consensus algorithm under both normal operation and in the presence of various failures. Its implementation is described with an API allowing the Raft checking system to interface with additional Raft implementations with a minimum of additional implementation-specific code.
متن کاملConsensus: Bridging Theory and Practice a Dissertation Submitted to the Department of Computer Science and the Committee on Graduate Studies of Stanford University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
Distributed consensus is fundamental to building fault-tolerant systems. It allows a collection of machines to work as a coherent group that can survive the failures of some of its members. Unfortunately, the most common consensus algorithm, Paxos, is widely regarded as difficult to understand and implement correctly. This dissertation presents a new consensus algorithm called Raft, which was d...
متن کاملEvaluating project’s completion time with Q-learning
Nowadays project management is a key component in introductory operations management. The educators and the researchers in these areas advocate representing a project as a network and applying the solution approaches for network models to them to assist project managers to monitor their completion. In this paper, we evaluated project’s completion time utilizing the Q-learning algorithm. So the ...
متن کاملEvaluating project’s completion time with Q-learning
Nowadays project management is a key component in introductory operations management. The educators and the researchers in these areas advocate representing a project as a network and applying the solution approaches for network models to them to assist project managers to monitor their completion. In this paper, we evaluated project’s completion time utilizing the Q-learning algorithm. So the ...
متن کاملA Simple Algorithm for Analyzing a Piled Raft by Considering Stress Distribution
Numerous techniques have been presented by different researchers to analyze piled raft. In order to analyze pile foundation, soil can be modeled as spring, continuous medium, or porous media. Pile can also be modeled as spring or continuous medium. This study includes three main stages: a short description of different types of analysis methods of pile foundation, writing a computer program bas...
متن کامل