FaRM: fast remote memory

  • Authors:
  • Aleksandar Dragojević;Dushyanth Narayanan;Orion Hodson;Miguel Castro

  • Affiliations:
  • Microsoft Research;Microsoft Research;Microsoft Research;Microsoft Research

  • Venue:
  • NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe the design and implementation of FaRM, a new main memory distributed computing platform that exploits RDMA to improve both latency and throughput by an order of magnitude relative to state of the art main memory systems that use TCP/IP. FaRM exposes the memory of machines in the cluster as a shared address space. Applications can use transactions to allocate, read, write, and free objects in the address space with location transparency. We expect this simple programming model to be sufficient for most application code. FaRM provides two mechanisms to improve performance where required: lock-free reads over RDMA, and support for collocating objects and function shipping to enable the use of efficient single machine transactions. FaRM uses RDMA both to directly access data in the shared address space and for fast messaging and is carefully tuned for the best RDMA performance. We used FaRM to build a key-value store and a graph store similar to Facebook's. They both perform well, for example, a 20-machine cluster can perform 167 million key-value lookups per second with a latency of 31µs.