FaRM: Fast Remote Memory

I will talk about the design and implementation of FaRM, a new main memory distributed computing platform that exploits RDMA communication 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 allocate, read, write, and free objects in the address space. They can use distributed transactions to simplify dealing with complex corner cases that do not significantly impact performance. FaRM provides good common-case performance with lock-free reads over RDMA and with 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 160 million key-value lookups per second with a latency of 31 micro-seconds.

Speaker Details

I am a Post-Doc Researcher at Systems and Networking group at Microsoft Research Cambridge. I am mostly interested in concurrent and distributed systems. Lately I have been really excited about several emerging hardware trends and their impact on the design of data centre software systems. I prefer staying on the practical side of problems and enjoy implementing real systems ranging from simple scripts that tackle everyday problems to complex research prototypes. I received my PhD from EPFL Switzerland in 2012, where I worked on performance of software transactional memory. Before that, I received my Graduate Electrical Engineer diploma from University of Novi Sad, Serbia in 2004.

Date:
Speakers:
Aleksandar Dragojevic
    • Portrait of Aleksandar Dragojevic

      Aleksandar Dragojevic

      Senior Researcher

    • Portrait of Jeff Running

      Jeff Running