Accelerating read atomic multi-partition transaction with remote direct memory access

Many applications these days require data processing that is both efficient and reliable. Distributed databases are one way to meet these requirements, but must be updated using distributed transactions. To manage foreign key constraints, secondary indices, and materialized views in distributed environments, read atomic multi-partition (RAMP) transactions demonstrate high efficiency. RAMP transactions achieved high performance distributed transaction processing by relaxing the isolation level. However, the use of fast interconnect to accelerate performance has not yet been considered. This paper proposes the acceleration of RAMP transactions by exploiting remote direct memory access (RDMA) on the InfiniBand interconnect. We first present GET+ and PUT+ operations that accelerate the RAMP transaction by exploiting RDMA write operations. We then present the GET* operation, which further accelerates GET+ operations exploiting RDMA read operations. To evaluate the proposed methods, we implemented a prototype distributed in-memory key-value store in C/C++. The results of the experiments show that compared with RAMP transactions on IP over InfiniBand, GET* and PUT+ achieve a 2.67× performance improvement on the Yahoo! Cloud Serving Benchmark. All of our code is publicly available.

[1]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[2]  Jens Teubner,et al.  A Spinning Join That Does Not Get Dizzy , 2010, 2010 IEEE 30th International Conference on Distributed Computing Systems.

[3]  Ali Ghodsi,et al.  Scalable atomic visibility with RAMP transactions , 2014, SIGMOD Conference.

[4]  David G. Andersen,et al.  Using RDMA efficiently for key-value services , 2015, SIGCOMM 2015.

[5]  Barbara Liskov,et al.  Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions , 1999 .

[6]  Feng Li,et al.  Accelerating Relational Databases by Leveraging Remote Memory and RDMA , 2016, SIGMOD Conference.

[7]  Osamu Tatebe,et al.  Network-Based Data Processing Architecture for Reliable and High-Performance Distributed Storage System , 2015, Euro-Par Workshops.

[8]  Torsten Hoefler,et al.  DARE: High-Performance State Machine Replication on RDMA Networks , 2015, HPDC.

[9]  Miguel Castro,et al.  No compromises: distributed transactions with consistency, availability, and performance , 2015, SOSP.

[10]  Jinyang Li,et al.  Using One-Sided RDMA Reads to Build a Fast, CPU-Efficient Key-Value Store , 2013, USENIX ATC.

[11]  Ali Ghodsi,et al.  Highly Available Transactions: Virtues and Limitations , 2013, Proc. VLDB Endow..

[12]  Paul Grun InfiniBand Introduction to InfiniBand TM for End Users Industry-Standard Value and Performance for High Performance Computing and the Enterprise , 2010 .

[13]  Hui Ding,et al.  TAO: Facebook's Distributed Data Store for the Social Graph , 2013, USENIX Annual Technical Conference.

[14]  Hans-Arno Jacobsen,et al.  PNUTS: Yahoo!'s hosted data serving platform , 2008, Proc. VLDB Endow..

[15]  Hideyuki Kawashima,et al.  On exploring efficient shuffle design for in-memory MapReduce , 2016, BeyondMR@SIGMOD.

[16]  Li Zhang,et al.  HydraDB: a resilient RDMA-driven key-value middleware for in-memory cluster computing , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[17]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[18]  Song Jiang,et al.  Workload analysis of a large-scale key-value store , 2012, SIGMETRICS '12.

[19]  Leslie Lamport,et al.  Consensus on transaction commit , 2004, TODS.

[20]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[21]  Haibo Chen,et al.  Fast In-Memory Transaction Processing Using RDMA and HTM , 2017, ACM Trans. Comput. Syst..

[22]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.