• 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