RIFL: Implementing Linearizability at Large Scale and Low Latency
Jiaxin Wang
RIFL: Implementing Linearizability at Large Scale and Low Latency - - PowerPoint PPT Presentation
RIFL: Implementing Linearizability at Large Scale and Low Latency Jiaxin Wang Motivation Consistency Important issue in large-scale storage systems Linearizability Strongest form of consistency for concurrent systems
Jiaxin Wang
executes the transactions serially in some sequential order
non-overlapping operations
Non-linearizable Linearizable
Reference: Manos Kapritsos, EECS 591 Distributed System, Lecture 9
Reuse result generated by earlier execution for retries
3 3
Client ID 64-bit integer Sequence Number 64-bit integer
Client ID 64-bit integer Sequence Number 64-bit integer Object Identifier RPC Result
Retries use the same RPC ID For retries, return the result without re-execution Ensure migration durability
same server as the original request
Client
time
Server
W(0) LeaseManager: ClientID = 1 RequestTracker: SeqID = 0 ResultTracker: RPC status = NEW
ClientID = 1, SeqID = 0 ObjectID = 3 W(0) Success
Val: 2
Client
time
Server
W(0) LeaseManager: ClientID = 1 RequestTracker: SeqID = 0 ResultTracker: RPC status = NEW
ClientID = 1, SeqID = 0 ObjectID = 3 W(0) Success
SeqID = 0, W(0) Success SeqID = 0, ACK Val: 0
Client
time
Server
W(0) LeaseManager: ClientID = 1 RequestTracker: SeqID = 0 ResultTracker: RPC status = FINISHED
ClientID = 1, SeqID = 0 ObjectID = 3 W(0) Success
SeqID = 0, W(0) Success SeqID = 0, ACK Val: 2
RIFL ensures “exactly-once semantics” to guarantee linearizability in large-scale systems with low latency