Epiphron: Resource-Efficient Distributed Key-Value Storage

Abstract

In-memory key-value storage necessitates a substantial quantity of computation and storage resources for both performance and scalability, thereby diminishing the resources available for user applications. The emergence of programmable network hardware, including SmartNICs and programmable switches, provides the opportunity to offload operations from server CPUs. We present Epiphron, a novel distributed in-memory key-value store architecture that co-designs with off-path SmartNICs and programmable switches. Facing the limited performance of off-path SmartNICs, Epiphron successfully achieves high resource efficiency while keeping load balancing and fault tolerance by (i) hybridizing erasure coding with replication in storage management, (ii) accelerating read operations with a new data plane design (conflict detection and RDMA-compatible forwarding) on programmable switches, (iii) employing a network protocol extended from one-sided RDMA. We evaluate Epiphron on Barefoot Tofino switches, NVIDIA BlueField-2 SmartNICs, and commodity servers. The experimental results demonstrate that compared to existing solutions, Epiphron improves throughput by up to 2.2× and consumes 47% less memory while completely bypassing server CPUs.

Publication
In IEEE Transactions on Knowledge and Data Engineering
Bingyang Wu
Bingyang Wu
Ph.D. Candidate

My research interests include machine learning systems, distributed systems, and cloud computing.