Easy Commit: A Non-blocking Two-phase Commit Protocol Suyash Gupta, - - PowerPoint PPT Presentation

easy commit a non blocking two phase commit protocol
SMART_READER_LITE
LIVE PREVIEW

Easy Commit: A Non-blocking Two-phase Commit Protocol Suyash Gupta, - - PowerPoint PPT Presentation

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions Easy Commit: A Non-blocking Two-phase Commit Protocol Suyash Gupta, Mohammad Sadoghi Dept. of Computer Science University of California Davis March 28, 2018 Suyash


slide-1
SLIDE 1

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit: A Non-blocking Two-phase Commit Protocol

Suyash Gupta, Mohammad Sadoghi

  • Dept. of Computer Science

University of California Davis March 28, 2018

Suyash Gupta EDBT 2018 March 28, 2018 1 / 22

slide-2
SLIDE 2

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

We are changing the world!!!

Suyash Gupta EDBT 2018 March 28, 2018 2 / 22

slide-3
SLIDE 3

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Just Kidding!

Suyash Gupta EDBT 2018 March 28, 2018 3 / 22

slide-4
SLIDE 4

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Motivation

Concerns of a Distributed Database Designer:

Availability Consistency

Lots of hardware, resources ⇒ Availability Solved. If Not Consistent ⇒ Correctness Compromised!

Suyash Gupta EDBT 2018 March 28, 2018 4 / 22

slide-5
SLIDE 5

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Motivation

Concerns of a Distributed Database Designer:

Availability Consistency

Lots of hardware, resources ⇒ Availability Solved. If Not Consistent ⇒ Correctness Compromised! Need for Agreement!

Two Phase Commit Protocol (2PC)? ⇒ Blocked! Three Phase Commit Protocol (3PC)? ⇒ Heavy!

Suyash Gupta EDBT 2018 March 28, 2018 4 / 22

slide-6
SLIDE 6

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Motivation

Concerns of a Distributed Database Designer:

Availability Consistency

Lots of hardware, resources ⇒ Availability Solved. If Not Consistent ⇒ Correctness Compromised! Need for Agreement!

Two Phase Commit Protocol (2PC)? ⇒ Blocked! Three Phase Commit Protocol (3PC)? ⇒ Heavy!

Easy Commit ⇒ Two Phases! Non-Blocking!

Suyash Gupta EDBT 2018 March 28, 2018 4 / 22

slide-7
SLIDE 7

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Two Phase Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 5 / 22

slide-8
SLIDE 8

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Two Phase Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 5 / 22

slide-9
SLIDE 9

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Two Phase Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 5 / 22

slide-10
SLIDE 10

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

2PC is Blocking

Suyash Gupta EDBT 2018 March 28, 2018 6 / 22

slide-11
SLIDE 11

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

2PC is Blocking

Suyash Gupta EDBT 2018 March 28, 2018 6 / 22

slide-12
SLIDE 12

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

2PC is Blocking

Suyash Gupta EDBT 2018 March 28, 2018 6 / 22

slide-13
SLIDE 13

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

2PC is Blocking

Suyash Gupta EDBT 2018 March 28, 2018 6 / 22

slide-14
SLIDE 14

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

2PC is Blocking

Suyash Gupta EDBT 2018 March 28, 2018 6 / 22

slide-15
SLIDE 15

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

2PC is Blocking

Suyash Gupta EDBT 2018 March 28, 2018 6 / 22

slide-16
SLIDE 16

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

2PC is Blocking

Suyash Gupta EDBT 2018 March 28, 2018 6 / 22

slide-17
SLIDE 17

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

2PC is Blocking

Suyash Gupta EDBT 2018 March 28, 2018 6 / 22

slide-18
SLIDE 18

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Three Phase Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 7 / 22

slide-19
SLIDE 19

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Three Phase Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 7 / 22

slide-20
SLIDE 20

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Three Phase Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 7 / 22

slide-21
SLIDE 21

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Three Phase Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 7 / 22

slide-22
SLIDE 22

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC is Non-Blocking

Dale Skeen’s Requirements [SIGMOD 1981]: No state adjacent to both Abort and Commit states. No non-committable state adjacent to the Commit state.

Suyash Gupta EDBT 2018 March 28, 2018 8 / 22

slide-23
SLIDE 23

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-24
SLIDE 24

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-25
SLIDE 25

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-26
SLIDE 26

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-27
SLIDE 27

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-28
SLIDE 28

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-29
SLIDE 29

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-30
SLIDE 30

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-31
SLIDE 31

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-32
SLIDE 32

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-33
SLIDE 33

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

3PC Works

Suyash Gupta EDBT 2018 March 28, 2018 9 / 22

slide-34
SLIDE 34

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Principle

Suyash Gupta EDBT 2018 March 28, 2018 10 / 22

slide-35
SLIDE 35

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 11 / 22

slide-36
SLIDE 36

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 11 / 22

slide-37
SLIDE 37

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Protocol

Suyash Gupta EDBT 2018 March 28, 2018 11 / 22

slide-38
SLIDE 38

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Observations

Participant cannot directly transition from INITIAL to ABORT. Each participant forwards the global decision to every other node. Participant need not wait for global decision from coordinator. Existence of hidden states: TRANSMIT-A and TRANSMIT-C.

Suyash Gupta EDBT 2018 March 28, 2018 12 / 22

slide-39
SLIDE 39

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Protocol – Logical Expansion

Suyash Gupta EDBT 2018 March 28, 2018 13 / 22

slide-40
SLIDE 40

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Protocol – Logical Expansion

Suyash Gupta EDBT 2018 March 28, 2018 13 / 22

slide-41
SLIDE 41

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Protocol – Logical Expansion

Suyash Gupta EDBT 2018 March 28, 2018 13 / 22

slide-42
SLIDE 42

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Protocol – Logical Expansion

Suyash Gupta EDBT 2018 March 28, 2018 13 / 22

slide-43
SLIDE 43

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Termination Protocol

Coordinator Timeout in WAIT state:

Coordinator didn’t receive Votes. Adds a log entry, Transmits Global-Abort, Aborts Transaction.

Participant Timeout in INITAL state:

Participant didn’t receive PREPARE message. Communicates with other participants.

Participant Timeout in READY state:

Participant didn’t receive Global Decision. Communicates with other participants.

Suyash Gupta EDBT 2018 March 28, 2018 14 / 22

slide-44
SLIDE 44

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-45
SLIDE 45

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-46
SLIDE 46

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-47
SLIDE 47

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-48
SLIDE 48

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-49
SLIDE 49

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-50
SLIDE 50

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-51
SLIDE 51

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-52
SLIDE 52

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-53
SLIDE 53

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-54
SLIDE 54

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Easy Commit Works

Suyash Gupta EDBT 2018 March 28, 2018 15 / 22

slide-55
SLIDE 55

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Implementation: ExpoDB

Suyash Gupta EDBT 2018 March 28, 2018 16 / 22

slide-56
SLIDE 56

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Evaluation

64 Standard_D8S_V3 Azure instances, deployed in US East.

Each machine has 8 cores and 32GB memory.

4 Worker threads attached to a dedicated core. Load of 10000 open client connections per node. First 60s warmup and next 60s execution. Results averaged over three runs. NO-WAIT concurrency control algorithm used. Two benchmark suites: YCSB and TPC-C.

Suyash Gupta EDBT 2018 March 28, 2018 17 / 22

slide-57
SLIDE 57

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Varying Skew Factor – YCSB Zipfian Theta

50 100 150 200 250 300 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 System Throughput (Thousand txn per second) Varying Skew Factor (theta) 2PC 3PC EC

Number of server nodes = 16 and partitions per transaction = 2.

Suyash Gupta EDBT 2018 March 28, 2018 18 / 22

slide-58
SLIDE 58

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Varying Server Nodes

50 100 150 200 250 300 2 4 8 16 32 System Throughput (Thousand txns per second) Varying Number of Server Nodes 2PC 3PC EC

Partitions per transaction = 2 and Skew factor = 0.6.

Suyash Gupta EDBT 2018 March 28, 2018 19 / 22

slide-59
SLIDE 59

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

TPC-C Payment Transactions

100 200 300 400 500 600 2 4 8 16 32 System Throughput (Thousand txns per second) Varying Number of Server Nodes 2PC 3PC EC

Number of warehouses per server = 128.

Suyash Gupta EDBT 2018 March 28, 2018 20 / 22

slide-60
SLIDE 60

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Varying Concurrency Control Algorithms

50 100 150 200 250 300 350 400 450

2PC+WDIE EC+WDIE 2PC+TST EC+TST 2PC+MVCC EC+MVCC

System Throughput (Thousand txns per second) 2 4 8 16

TPC-C benchmarking for 16 servers, 128 warehouses per server and 3 CC algorithms: WDIE (WAIT-DIE) and TST (TIMESTAMP).

Suyash Gupta EDBT 2018 March 28, 2018 21 / 22

slide-61
SLIDE 61

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Conclusions

We present novel commit protocol – Easy Commit. Leverages best of twin worlds (2PC and 3PC). Two key observations:

First transmit and then commit. Message Redundancy.

Easy Commit guarantees both safety and liveness.

Suyash Gupta EDBT 2018 March 28, 2018 22 / 22

slide-62
SLIDE 62

Warmup Motivation 2PC 3PC EC Implementation Evaluation Conclusions

Conclusions

We present novel commit protocol – Easy Commit. Leverages best of twin worlds (2PC and 3PC). Two key observations:

First transmit and then commit. Message Redundancy.

Easy Commit guarantees both safety and liveness.

Suyash Gupta EDBT 2018 March 28, 2018 22 / 22