Meerkat: Multicore-Scalable Replicated Transactions Following the - - PowerPoint PPT Presentation

meerkat multicore scalable replicated transactions
SMART_READER_LITE
LIVE PREVIEW

Meerkat: Multicore-Scalable Replicated Transactions Following the - - PowerPoint PPT Presentation

Meerkat: Multicore-Scalable Replicated Transactions Following the Zero Coordination Principle 1 Distributed storage systems are getting faster Peak throughput (million txns/s) Can we achieve this? 10 in-memory, kernel-bypass 8 6 4


slide-1
SLIDE 1

Meerkat: Multicore-Scalable Replicated Transactions Following the Zero Coordination Principle

1

slide-2
SLIDE 2

2

# cores Peak throughput (million txns/s) 40 2 4 6 8 10 critical section

Distributed storage systems are getting faster

disk-based, in-kernel networking in-memory, kernel-bypass in-memory, in-kernel networking Can we achieve this?

slide-3
SLIDE 3

The Zero-Coordination Principle:

  • No writes to memory shared with other

cores (P1)

3

  • No cross-replica coordination (P2)

When transactions do not conflict:

slide-4
SLIDE 4

Common ways in which existing systems violate ZCP

4

agreement on log order contention on the log centralized timestamp management contention on the list of active/validated transactions Replication Concurrency control

slide-5
SLIDE 5

5

decentralized agreement

  • n transaction status

per-core record of transactions clients pick the commit timestamp key-parallel OCC

Other systems Meerkat

agreement on log order contention on the log centralized timestamp management contention on the list of active/validated transactions Replication Concurrency control

slide-6
SLIDE 6

Meerkat’s approach

6

Get rid of the log! Use a decentralized approach instead.

slide-7
SLIDE 7

Meerkat’s decentralized approach

7

  • client picks a commit timestamp using loosely

synchronized clocks

Correctness comes from quorum intersection + pairwise conflict checks; see paper

  • replicas independently check for conflicts
  • client proposes to commit the transaction
  • nly if OCC checks successful at a majority
  • Decentralized OCC
  • Fast, decentralized consensus
  • client learns the fate of the transaction

(fast path)

(slow path)

slide-8
SLIDE 8

8

decentralized agreement

  • n transaction status

per-core record of transactions clients pick the commit timestamp key-parallel OCC

Other systems Meerkat

agreement on log order contention on the log centralized timestamp management contention on the list of active/validated transactions Replication Concurrency control

ZCP ✓ ZCP ✓

slide-9
SLIDE 9

Meerkat also has some nice performance properties

9

  • Low latency (no leader)
  • commits transactions in 1RTT

(in the absence of conflicts and failures)

  • waits for replies from the fastest replicas
  • Read from any replica
  • balance the workload
slide-10
SLIDE 10

10

Prototypes

KuaFu++ TAPIR Meerkat-PB Meerkat

No cross-processor coordination No cross-replica coordination X X X ✓ ✓ X ✓ ✓

slide-11
SLIDE 11

Meerkat scales near linearly when low contention (uniform)

11

short txns (YCSB-T), 1 mil keys/core

Log contention Contention on the validation list Leader bottleneck

slide-12
SLIDE 12

Meerkat performs well for low to medium contention

12

short txns (YCSB-T), 1 mil keys/core, 64 hyperthreads

Expensive aborts More slow paths