No compromises: distributed transactions with consistency, availability, and performance

被引:188
作者
Dragojevic, Aleksandar [1 ]
Narayanan, Dushyanth [1 ]
Nightingale, Edmund B. [1 ]
Renzelmann, Matthew [1 ]
Shamis, Alex [1 ]
Badam, Anirudh [1 ]
Castro, Miguel [1 ]
机构
[1] Microsoft Res, Redmond, WA 98052 USA
来源
SOSP'15: PROCEEDINGS OF THE TWENTY-FIFTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES | 2015年
关键词
D O I
10.1145/2815400.2815425
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Transactions with strong consistency and high availability simplify building and reasoning about distributed systems. However, previous implementations performed poorly. This forced system designers to avoid transactions completely, to weaken consistency guarantees, or to provide single-machine transactions that require programmers to partition their data. In this paper, we show that there is no need to compromise in modern data centers. We show that a main memory distributed computing platform called FaRM can provide distributed transactions with strict serializability, high performance, durability, and high availability. 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.
引用
收藏
页码:54 / 70
页数:17
相关论文
共 33 条
  • [1] ADYA A., 2010, P 7 USENIX S NETW SY
  • [2] Aguilera MK, 2007, P 21 ACM SIGOPS S OP
  • [3] [Anonymous], P 21 ACM S OP SYST P
  • [4] [Anonymous], 1989, SIGOPS OPERATING SYS
  • [5] CHANG F., 2006, P 6 USENIX S OP SYST
  • [6] Group communication specifications: A comprehensive study
    Chockler, GV
    Keidar, I
    Vitenberg, R
    [J]. ACM COMPUTING SURVEYS, 2001, 33 (04) : 427 - 469
  • [7] Corbett J.C., 2012, P 10 USENIX S OP SYS
  • [8] DALESSANDRO L., 2012, P 21 ACM INT C PAR A
  • [9] Diaconu C., 2013, P ACM SIGMOD INT C M
  • [10] DICE D., 2006, P 20 INT S DISTRM CO