LITE kernel RDMA support for datacenter applications

SY Tsai, Y Zhang - Proceedings of the 26th Symposium on Operating …, 2017 - dl.acm.org
Proceedings of the 26th Symposium on Operating Systems Principles, 2017dl.acm.org
Recently, there is an increasing interest in building data-center applications with RDMA
because of its low-latency, high-throughput, and low-CPU-utilization benefits. However,
RDMA is not readily suitable for datacenter applications. It lacks a flexible, high-level
abstraction; its performance does not scale; and it does not provide resource sharing or
flexible protection. Because of these issues, it is difficult to build RDMA-based applications
and to exploit RDMA's performance benefits. To solve these issues, we built LITE, a Local …
Recently, there is an increasing interest in building data-center applications with RDMA because of its low-latency, high-throughput, and low-CPU-utilization benefits. However, RDMA is not readily suitable for datacenter applications. It lacks a flexible, high-level abstraction; its performance does not scale; and it does not provide resource sharing or flexible protection. Because of these issues, it is difficult to build RDMA-based applications and to exploit RDMA's performance benefits.
To solve these issues, we built LITE, a Local Indirection TiEr for RDMA in the Linux kernel that virtualizes native RDMA into a flexible, high-level, easy-to-use abstraction and allows applications to safely share resources. Despite the widely-held belief that kernel bypassing is essential to RDMA's low-latency performance, we show that using a kernel-level indirection can achieve both flexibility and low-latency, scalable performance at the same time. To demonstrate the benefits of LITE, we developed several popular datacenter applications on LITE, including a graph engine, a MapReduce system, a Distributed Shared Memory system, and a distributed atomic logging system. These systems are easy to build and deliver good performance. For example, our implementation of PowerGraph uses only 20 lines of LITE code, while outperforming PowerGraph by 3.5x to 5.6x.
ACM Digital Library