DocumentCode :
652878
Title :
Achieving High-Throughput State Machine Replication in Multi-core Systems
Author :
Santos, Nuno ; Schiper, Andre
Author_Institution :
Ecole Polytech. Fed. de Lausanne (EPFL), Lausanne, Switzerland
fYear :
2013
fDate :
8-11 July 2013
Firstpage :
266
Lastpage :
275
Abstract :
The traditional architecture used by implementations of Replicated State Machines (RSM) does not fully exploit modern multi-core CPUs. This is increasingly the limiting factor in their performance, because network speeds are increasing much faster than the single-thread performance of CPUs. Thus, when deployed on Gigabit-class networks and exposed to a workload of small to medium size client requests, RSMs are often CPU-bound, as they are only able to leverage a few cores, even though many more may be available. In this work, we revisit the traditional architecture of a RSM implementation, showing how it can be parallelized so that its performance scales with the number of cores in the nodes. We do so by applying several good practices of concurrent programming to the specific case of state machine replication, including staged execution, workload partitioning, actors, and non-blocking data structures. We describe and test a Java prototype of our architecture, based on the Paxos protocol. With a workload consisting of small requests, we achieve a six times improvement in throughput using eight cores. More generally, in all our experiments we have consistently reached the limits of the network subsystem by using up to 12 cores, and do not observe any degradation when using up to 24 cores. Furthermore, the profiling results of our implementation show that even at peak throughput contention between threads is minimal, suggesting that the throughput would continue scaling given a faster network.
Keywords :
Java; concurrency control; data structures; finite state machines; multiprocessing systems; protocols; software architecture; CPU-bound; Gigabit-class networks; Java prototype; Paxos protocol; RSM implementation; concurrent programming; eight cores; limiting factor; multicore CPU; multicore systems; network speeds; network subsystem; nonblocking data structures; peak throughput contention; replicated state machines; small to medium size client requests; staged execution; state machine replication; workload partitioning; Computer architecture; Java; Message systems; Parallel processing; Protocols; Servers; Throughput; Paxos; multicore; scalability;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Distributed Computing Systems (ICDCS), 2013 IEEE 33rd International Conference on
Conference_Location :
Philadelphia, PA
ISSN :
1063-6927
Type :
conf
DOI :
10.1109/ICDCS.2013.11
Filename :
6681596
Link To Document :
بازگشت