Coracle Evaluating Distributed Consensus for Real World Networks - - PowerPoint PPT Presentation

coracle
SMART_READER_LITE
LIVE PREVIEW

Coracle Evaluating Distributed Consensus for Real World Networks - - PowerPoint PPT Presentation

Coracle Evaluating Distributed Consensus for Real World Networks & Thoughts on Fixing it Heidi Howard University of Cambridge heidi.howard@cl.cam.ac.uk Slides: hh360.user.srcf.net/slides/sigcomm.pdf TL;DR We want to achieve distributed


slide-1
SLIDE 1

Coracle

Evaluating Distributed Consensus for Real World Networks & Thoughts on Fixing it

Heidi Howard University of Cambridge heidi.howard@cl.cam.ac.uk Slides: hh360.user.srcf.net/slides/sigcomm.pdf

slide-2
SLIDE 2

TL;DR

We want to achieve distributed consensus beyond the typical datacenter. Existing algorithms not sufficient to achieve this, due (in part) to limited availability. We can do better. Coracle Unanimous Hydra

slide-3
SLIDE 3

Distributed Consensus

Applications*:

  • database transactions
  • fault tolerant key-value stores
  • distributed lock managers
  • terminating reliable broadcast

*not forgetting Greek parliamentary proceedings and generals invading a city

slide-4
SLIDE 4

Meet Alice

Alice

slide-5
SLIDE 5

Consensus + Replication = Fault-tolerant app

Gaios [Bolosky NSDI’11] = Paxos + RSM Zookeeper [Hunt ATC’10] = Zab + PBR Raft [Ongaro ATC’14] = Raft core + RSM

slide-6
SLIDE 6

ASIDE: Raft Explained

  • Leadership election
  • Modes of operation
  • Terms
  • State machine replication (SMR)
slide-7
SLIDE 7

ASIDE: Raft Explained

  • modes fig
slide-8
SLIDE 8

ASIDE: Raft Explained

slide-9
SLIDE 9

ASIDE: Raft Explained

slide-10
SLIDE 10

Returning to Alice

Alice deploys Raft consensus Raft is proven correct Thus, Alice can sleep well Alice

slide-11
SLIDE 11

Specified Assumptions

  • Network communication is unreliable.
  • Nodes have persistent storage that cannot be

corrupted and any write will be completed before crashing.

  • Asynchronous environment with faulty clocks, no

bound for message delay and nodes may operate at arbitrary speeds.

  • No Byzantine failures.
slide-12
SLIDE 12

``They [Raft and other protocols] are fully functional (available) as long as any majority of the servers are operational and can communicate with each other and with clients. Thus, a typical cluster

  • f five servers can tolerate the failure of any two

servers.``

slide-13
SLIDE 13

DEMO TIME

join in at consensus-oracle.github.io/coracle/ and click “Take me to the DEMO"

slide-14
SLIDE 14

Meet Bob

Use case: Google cloud permutable VMs Problems: node failures are common, machine migration Bob

slide-15
SLIDE 15

Meet Charlie

Use case: Geo-replicated datacentres Problems: heterogeneous latency, high latency links, node clustering

Charlie

slide-16
SLIDE 16

Meet Eve

Use case: Internet edge Problems: many… Eve

slide-17
SLIDE 17

A B

C

E

slide-18
SLIDE 18

New context

  • Node failures are commonplace
  • Network latency is unstructured and

heterogeneous

  • Partition are regular, possibly permanent
  • Reachability between nodes may be asymmetric

and non-transitive A B

C

E

slide-19
SLIDE 19

DEMO TIME

join in at consensus-oracle.github.io/coracle/ and click “Take me to the DEMO"

slide-20
SLIDE 20

Backup: Example 1

slide-21
SLIDE 21

Backup: Example 2

slide-22
SLIDE 22

Backup: Example 3

slide-23
SLIDE 23

Coracle

Event based simulation of consensus algorithms on interesting networks with:

  • pure protocol

implementations with Unix & MirageOS support

  • test suite of interesting

and realistic examples

slide-24
SLIDE 24
slide-25
SLIDE 25

Next Steps

  • Coracle: Supporting more consensus protocols

and studying real networks

  • Unanimous: New consensus algorithm for real

world networks, focused on availability.

  • Hydra: Self-scaling, self-healing services using

Jitsu [Madhavapeddy NSDI ’15] and MirageOS [Madhavapeddy ASPLOS '13]

slide-26
SLIDE 26

Fin.

Coracle demo: consensus-oracle.github.io/coracle/ Coracle source*: github.com/consensus-oracle/coracle Slides**: hh360.user.srcf.net/slides/sigcomm.pdf

*Code is open source under the MIT license. **Material are released under CC Attribution 4.0 International license. A B

C

E