  Consensus protocols are the foundation for building fault-tolerant,
distributed systems, and services. They are also widely acknowledged as
performance bottlenecks. Several recent systems have proposed accelerating
these protocols using the network data plane. But, while network-accelerated
consensus shows great promise, current systems suffer from an important
limitation: they assume that the network hardware also accelerates the
application itself. Consequently, they provide a specialized replicated
service, rather than providing a general-purpose high-performance consensus
that fits any off-the-shelf application.
  To address this problem, this paper proposes Partitioned Paxos, a novel
approach to network-accelerated consensus. The key insight behind Partitioned
Paxos is to separate the two aspects of Paxos, agreement, and execution, and
optimize them separately. First, Partitioned Paxos uses the network forwarding
plane to accelerate agreement. Then, it uses state partitioning and
parallelization to accelerate execution at the replicas. Our experiments show
that using this combination of data plane acceleration and parallelization,
Partitioned Paxos is able to provide at least x3 latency improvement and x11
throughput improvement for a replicated instance of a RocksDB key-value store.
