2014 · 55 citations · 28 references
Cluster ComputingEngineeringScalable State-machine ReplicationComputer ArchitectureFault ToleranceFault-tolerant MessagingScalable SmrHardware SecurityParallel ComputingComputer ScienceData ReplicationState Machine ReplicationScalable ComputingClient RequestsDistributed ComputingCloud ComputingParallel ProgrammingDistributed Data StoreSystem Software
State machine replication (SMR) is a well-known technique able to provide fault-tolerance. SMR consists of sequencing client requests and executing them against replicas in the same order, thanks to deterministic execution, every replica will reach the same state after the execution of each request. However, SMR is not scalable since any replica added to the system will execute all requests, and so throughput does not increase with the number of replicas. Scalable SMR (S-SMR) addresses this issue in two ways: (i) by partitioning the application state, while allowing every command to access any combination of partitions, and (ii) by using a caching algorithm to reduce the communication across partitions. We describe Eyrie, a library in Java that implements S-SMR, and Volery, an application that implements Zookeeper's API. We assess the performance of Volery and compare the results against Zookeeper. Our experiments show that Volery scales throughput with the number of partitions.
28
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani et al. · 2007 · 3.4K citations
Leslie Lamport · ACM Transactions on Computer Systems · 1998 · 2.7K citations · Full text
Unreliable failure detectors for reliable distributed systems
Tushar Chandra, Sam Toueg · Journal of the ACM · 1996 · 2.5K citations · Full text