Implementing Linearizability at Large Scale and Low Latency (2015) 8 (1)
Collin Lee∗, Seo Jin Park∗, Ankita Kejriwal, Satoshi Matsushita†, and John Ousterhout
Oct/31
Linearizability is the strongest form of consistency for
concurrent systems, but most large-scale storage systems settle
for weaker forms of consistency. RIFL provides a general-purpose
mechanism for converting at-least-once RPC semantics to
exactly-once semantics, thereby making it easy to turn
non-linearizable operations into linearizable ones. RIFL is
designed for large-scale systems and is lightweight enough to be
used in low-latency environments. RIFL handles data migration by
associating linearizability metadata with objects in the
underlying store and migrating metadata with the corresponding
objects. It uses a lease mechanism to implement garbage
collection for metadata. We have implemented RIFL in the
RAMCloud storage system and used it to make basic operations
such as writes and atomic increments linearizable; RIFL adds
only 530 ns to the 13.5 μs base latency for durable writes. We
also used RIFL to construct a new multi-object transaction
mechanism in RAMCloud; RIFL’s facilities significantly
simplified the transaction implementation. The transaction
mechanism can commit simple distributed transactions in about 20
μs and it outperforms the H-Store main-memory database system
for the TPC-C benchmark.
Class Avg: 1.4
|
Content-type: text/html
ERROR: undefined method `downcase' for nil:NilClass
/var/www/html/818/blog.rb:323:in `'
---|