Wren: Nonblocking Reads in a Partitioned Transactional Causally Consistent Data Store Kristina Spirovska Advisor: Willy Zwaenepoel Diego Didona Research area: Causal Consistency in Distributed Data Stores PhD Stage: Finisher EuroDW’18, April 23, Porto, Portugal
Existing geo-replicated, causally consistent data stores are sub-optimal (performance, scalability, resource efficiency) Performance, scalability and resource efficiency matter in the real world Novel system design that achieves up to: • 3.6x lower latency than state of the art • 1.4x higher throughput Trade-off : reading slightly from the past
Causal Consistency Eventual Consistency Causal Consistency Higher Performance Linearizability (Strong Consistency) Stronger Consistency Guarantees Strongest consistency model compatible with availability 3
Transactional Causal Consistency Interactive Causal Read-Write consistency Transactions 4
Transactional Causal Consistency Reads from causal snapshot TCC Writes are atomic Challenge under sharding 5
Wren vs. Cure [ICDCS’16] Read-heavy workload Cure Wren 20 Response time (msec ) 15 10 5 Lower and more to the right is better 0 0 1000 2000 3000 4000 5000 Throughput (TX/sec) 6
Our solution : Wren Achieves nonblocking reads • Low latency Scales horizontally by sharding • Scalability Tolerates network partitions between DCs • Availability Trade-off: reading slightly from the past 7
Atomic writes + Sharding = 2PC C 2 UNCERTAINTY PERIODS P x COMMIT PREPARE t Px P y PREPARE t Py COMMIT C 1 … COMMIT 8
Cure [ICDCS’16] C 2 START READ P x COMMIT PREPARE READS MUST BLOCK t Px P y PREPARE t Py COMMIT C 1 … COMMIT 9
Our solution: Wren C 2 START READ P x COMMIT PREPARE t Px P y PREPARE t Py COMMIT C 1 … COMMIT 10
Wren vs. Cure C 2 START READ P x COMMIT PREPARE t Px P y PREPARE t Py COMMIT C 1 … COMMIT 11
Wren – DSN’18 Contributions: CANToR: Client-Assisted Nonblocking Transactional Reads • Novel transactional protocol Will appear at DSN’18 BDT: Binary Dependency Time • New dependency tracking protocol BiST: Binary Stable Time • New stabilization protocol 12
Recommend
More recommend