PRISM: Rethinking the RDMA Interface for Distributed Systems

27Citations
Citations of this article
48Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Remote Direct Memory Access (RDMA) has been used to accelerate a variety of distributed systems, by providing low-latency, CPU-bypassing access to a remote host's memory. However, most of the distributed protocols used in these systems cannot easily be expressed in terms of the simple memory READs and WRITEs provided by RDMA. As a result, designers face a choice between introducing additional protocol complexity (e.g., additional round trips) or forgoing the benefits of RDMA entirely. This paper argues that an extension to the RDMA interface can resolve this dilemma. We introduce the PRISM interface, which adds four new primitives: indirection, allocation, enhanced compare-and-swap, and operation chaining. These increase the expressivity of the RDMA interface, while still being implementable using the same underlying hardware features. We show their utility by designing three new applications using PRISM primitives, that require little to no server-side CPU involvement: (1) PRISM-KV, a key-value store; (2) PRISM-RS, a replicated block store; and (3) PRISM-TX, a distributed transaction protocol. Using a software-based implementation of the PRISM primitives, we show that these systems outperform prior RDMA-based equivalents.

Cite

CITATION STYLE

APA

Burke, M., Dharanipragada, S., Joyner, S., Szekeres, A., Nelson, J., Zhang, I., & Ports, D. R. K. (2021). PRISM: Rethinking the RDMA Interface for Distributed Systems. In SOSP 2021 - Proceedings of the 28th ACM Symposium on Operating Systems Principles (pp. 228–242). Association for Computing Machinery, Inc. https://doi.org/10.1145/3477132.3483587

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free