Project Farm

FaRM

FaRM is 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 execute distributed transactions that allocate, read, write, and free objects in the address space.

Using transactions with strong consistency and high availability simplifies building and reasoning about distributed systems. FaRM transaction, replication, and recovery protocols are designed from first principles to leverage commodity networks with RDMA and a new, inexpensive approach to providing non-volatile DRAM to provide much better performance than thought possible with distributed transactions before. 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. FaRM also enables locality-aware optimizations by supporting collocating objects and function shipping.

FaRM achieves a peak throughput of 140 million TATP transactions per second on 90 machines with a 4.9 TB database, and it recovers from a failure in less than 50 ms. Key to achieving these results was the design of new transaction, replication, and recovery protocols from first principles to leverage commodity networks with RDMA and a new, inexpensive approach to providing non-volatile DRAM.

人员

Dushyanth Narayanan的肖像

Dushyanth Narayanan

Senior Principal Researcher

Junyi Liu的肖像

Junyi Liu

Senior Researcher

Matthew Renzelmann的肖像

Matthew Renzelmann

Principal Software Engineer

Shuheng Zheng的肖像

Shuheng Zheng

Software Engineer 2

Wonhee Cho的肖像

Wonhee Cho

Senior Software Engineer