wren nonblocking reads in a partitioned transactional
play

Wren: Nonblocking Reads in a Partitioned Transactional Causally - PowerPoint PPT Presentation

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 EuroDW18,


  1. 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

  2. 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

  3. Causal Consistency Eventual Consistency Causal Consistency Higher Performance Linearizability (Strong Consistency) Stronger Consistency Guarantees Strongest consistency model compatible with availability 3

  4. Transactional Causal Consistency Interactive Causal Read-Write consistency Transactions 4

  5. Transactional Causal Consistency Reads from causal snapshot TCC Writes are atomic Challenge under sharding 5

  6. 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

  7. 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

  8. Atomic writes + Sharding = 2PC C 2 UNCERTAINTY PERIODS P x COMMIT PREPARE t Px P y PREPARE t Py COMMIT C 1 … COMMIT 8

  9. 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

  10. Our solution: Wren C 2 START READ P x COMMIT PREPARE t Px P y PREPARE t Py COMMIT C 1 … COMMIT 10

  11. Wren vs. Cure C 2 START READ P x COMMIT PREPARE t Px P y PREPARE t Py COMMIT C 1 … COMMIT 11

  12. 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