|
Project Information
Members
|
UpRight is an infrastructure and library for building fault tolerant distributed systems. The goal is to provide a simple library that can ensure that systems remain up (available) and right (correct) despite faults. UpRight tries to make fault tolerance easy. Typically, connecting an application to the UpRight library requires only a few small changes, after which UpRight can handle the details of replication, fail-over, consistency, etc. The UpRight replication engine provides the following features:
As shown in the following figure, UpRight consists of 1) the UpRight Core, which is a replication engine and 2) the client and server libraries, which connect the application with the UpRight service.
During execution, the application client sends its requests through the client library and these requests are ordered by the UpRight Core. The application servers handle these ordered requests and send replies back to the clients. The UpRight replication engine can guarantee that even if a given number of nodes are down, faulty, or even malicious, the whole system can still work correctly. We have provided demos of UpRight version of the Hadoop Distributed File System (HDFS) and Zookeeper coordination and lock service. In UpRight-HDFS, the namenode is replicated so that there is no single failure point in the whole system. If UpRight-Zookeeper, we replaced the original Paxos-like consensus protocol, so that it can tolerate Byzantine failures not just crash failures. UpRight
UpRight-HDFSUpRight-ZookeeperNotice: Current UpRight-HDFS and UpRight-Zookeeper are demo versions, NOT ready for real deployment. |