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

wren nonblocking reads in a partitioned transactional
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 1

Kristina Spirovska

EuroDW’18, April 23, Porto, Portugal

Diego Didona

Wren: Nonblocking Reads in a Partitioned Transactional Causally Consistent Data Store

Research area: Causal Consistency in Distributed Data Stores

PhD Stage: Finisher

Advisor: Willy Zwaenepoel

slide-2
SLIDE 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 Trade-off: reading slightly from the past

  • 3.6x lower latency
  • 1.4x higher throughput

than state of the art Novel system design that achieves up to:

slide-3
SLIDE 3

Causal Consistency

Causal Consistency Eventual Consistency Linearizability (Strong Consistency)

Higher Performance Stronger Consistency Guarantees

3

Strongest consistency model compatible with availability

slide-4
SLIDE 4

Transactional Causal Consistency Causal consistency Interactive Read-Write Transactions

4

slide-5
SLIDE 5

Transactional Causal Consistency

TCC

Reads from causal snapshot Writes are atomic Challenge under sharding

5

slide-6
SLIDE 6

6

Wren vs. Cure [ICDCS’16]

Read-heavy workload

5 10 15 20 1000 2000 3000 4000 5000

Response time (msec) Throughput (TX/sec) Cure Wren

Lower and more to the right is better

slide-7
SLIDE 7

Our solution : Wren

Achieves nonblocking reads Scales horizontally by sharding Tolerates network partitions between DCs

  • Low latency
  • Scalability
  • Availability

Trade-off: reading slightly from the past

7

slide-8
SLIDE 8

8

PREPARE COMMIT PREPARE COMMIT

Py Px

C2 C1 …

COMMIT

tPx tPy UNCERTAINTY PERIODS

Atomic writes + Sharding = 2PC

slide-9
SLIDE 9

9

Cure [ICDCS’16]

PREPARE COMMIT PREPARE COMMIT

Py Px

C2 C1 …

COMMIT

tPx tPy

START READ READS MUST BLOCK

slide-10
SLIDE 10

10

Our solution: Wren

PREPARE COMMIT PREPARE COMMIT

Py Px

C2 C1 …

COMMIT

tPx tPy

START READ

slide-11
SLIDE 11

11

Wren vs. Cure

PREPARE COMMIT PREPARE COMMIT

Py Px

C2 C1 …

COMMIT

tPx tPy

START READ

slide-12
SLIDE 12

Contributions:

Wren – DSN’18

CANToR: Client-Assisted Nonblocking Transactional Reads BDT: Binary Dependency Time BiST: Binary Stable Time

  • Novel transactional protocol
  • New dependency tracking protocol
  • New stabilization protocol

Will appear at DSN’18

12