cap theorem & causal consistency
TRANSCRIPT
![Page 1: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/1.jpg)
CAP Theorem & Causal Consistency
Some material taken/derived from: • Princeton COS-418 materials created by Michael Freedman.• MIT 6.824 by Robert Morris, Frans Kaashoek, and Nickolai Zeldovich.Licensed for use under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
CS 475: Concurrent & Distributed Systems (Fall 2021)Lecture 12
Yue Cheng
![Page 2: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/2.jpg)
Y. Cheng GMU CS475 Fall 2021 2
2PC / Consensus
Paxos / Raft
Eventual consistency
Dynamo
Tradeoffs are fundamental?
![Page 3: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/3.jpg)
“CAP” conjecture for distributed systems
• From keynote lecture by Eric Brewer (2000)• History: Eric started Inktomi, early Internet search
site based around “commodity” clusters of computers• Using CAP to justify “BASE” model: Basically
Available, Soft-state services with Eventual consistency
GMU CS475 Fall 2021 3Y. Cheng
![Page 4: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/4.jpg)
“CAP” conjecture for distributed systems
• From keynote lecture by Eric Brewer (2000)• History: Eric started Inktomi, early Internet search
site based around “commodity” clusters of computers• Using CAP to justify “BASE” model: Basically
Available, Soft-state services with Eventual consistency
• Popular interpretation: 2-out-of-3• Consistency (Linearizability)• Availability• Partition Tolerance: Arbitrary crash/network failures
GMU CS475 Fall 2021 4Y. Cheng
![Page 5: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/5.jpg)
Gilbert, Seth, and Nancy Lynch. "Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services." ACM SIGACT News 33.2 (2002): 51-59.
5
CAP Theorem: Proof
Notconsistent
GMU CS475 Fall 2021Y. Cheng
![Page 6: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/6.jpg)
6
CAP Theorem: Proof
Notavailable
GMU CS475 Fall 2021Y. Cheng
Gilbert, Seth, and Nancy Lynch. "Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services." ACM SIGACT News 33.2 (2002): 51-59.
![Page 7: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/7.jpg)
7
CAP Theorem: Proof
Notpartitiontolerant
GMU CS475 Fall 2021Y. Cheng
Gilbert, Seth, and Nancy Lynch. "Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services." ACM SIGACT News 33.2 (2002): 51-59.
![Page 8: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/8.jpg)
8
CAP Theorem: AP or CP
Notpartitiontolerant
Criticism: It’s not 2-out-of-3• Can’t “choose” no partitions • So: AP or CP
GMU CS475 Fall 2021Y. Cheng
![Page 9: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/9.jpg)
More tradeoffs L vs. C
• L: Low-latency: Speak to fewer than quorum of nodes?• 2PC: write N, read 1• Raft: write ⌊N/2⌋ + 1, read ⌊N/2⌋ + 1• General: |W| + |R| > N
9GMU CS475 Fall 2021Y. Cheng
![Page 10: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/10.jpg)
More tradeoffs L vs. C
• L: Low-latency: Speak to fewer than quorum of nodes?• 2PC: write N, read 1• Raft: write ⌊N/2⌋ + 1, read ⌊N/2⌋ + 1• General: |W| + |R| > N
• L and C are fundamentally at odds• “C” = linearizability, sequential, serializability (more
later)
10GMU CS475 Fall 2021Y. Cheng
![Page 11: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/11.jpg)
PACELC
• If there is a partition (P):• How does system tradeoff A and C?
• Else (no partition)• How does system tradeoff L and C?
GMU CS475 Fall 2021 11Y. Cheng
![Page 12: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/12.jpg)
PACELC
• If there is a partition (P):• How does system tradeoff A and C?
• Else (no partition)• How does system tradeoff L and C?
• Is there a useful system that switches?• Dynamo: PA/EL• “ACID” DBs: PC/EC
GMU CS475 Fall 2021 12Y. Cheng
![Page 13: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/13.jpg)
PACELC
• If there is a partition (P):• How does system tradeoff A and C?
• Else (no partition)• How does system tradeoff L and C?
• Is there a useful system that switches?• Dynamo: PA/EL• “ACID” DBs: PC/EC
http://dbmsmusings.blogspot.com/2010/04/problems-with-cap-and-yahoos-little.html
GMU CS475 Fall 2021 13Y. Cheng
![Page 14: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/14.jpg)
14
Linearizability Eventual
Consistency models
Sequential
Causal
GMU CS475 Fall 2021Y. Cheng
![Page 15: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/15.jpg)
Recall use of logical clocks (lec N?)
• Lamport clocks: C(a) < C(z) Conclusion: None• Vector clocks: V(a) < V(z) Conclusion: a →… → z
GMU CS475 Fall 2021 15Y. Cheng
![Page 16: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/16.jpg)
Recall use of logical clocks (lec N?)
• Lamport clocks: C(a) < C(z) Conclusion: None• Vector clocks: V(a) < V(z) Conclusion: a →… → z
• Distributed bulletin board application• Each post gets sent to all other users• Consistency goal: No user to see reply before the
corresponding original message post• Conclusion: Deliver message only after all messages
that causally precede it have been delivered
GMU CS475 Fall 2021 16Y. Cheng
![Page 17: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/17.jpg)
Causal Consistency
GMU CS475 Fall 2021 17Y. Cheng
![Page 18: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/18.jpg)
Causal Consistency
1. Writes that are potentially causally related must be seen by all machines in same order.
GMU CS475 Fall 2021 18Y. Cheng
![Page 19: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/19.jpg)
Causal Consistency
1. Writes that are potentially causally related must be seen by all machines in same order.
2. Concurrent writes may be seen in a different order on different machines.
GMU CS475 Fall 2021 19Y. Cheng
![Page 20: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/20.jpg)
Causal Consistency
1. Writes that are potentially causally related must be seen by all machines in same order.
2. Concurrent writes may be seen in a different order on different machines.
• Concurrent: Ops not causally related
GMU CS475 Fall 2021 20Y. Cheng
![Page 21: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/21.jpg)
Causal Consistency
1. Writes that are potentially causally related must be seen by all machines in same order.
2. Concurrent writes may be seen in a different order on different machines.
• Concurrent: Ops not causally related
P1
ab
d
P2 P3
Physical time ↓
f
g
c
GMU CS475 Fall 2021 21Y. Cheng
e
![Page 22: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/22.jpg)
Causal Consistency
Operations
a, b
b, f
c, f
e, f
e, g
a, c
a, e
Concurrent?
N
Y
Y
Y
N
Y
N
P1
ab
d
P2 P3
Physical time ↓
f
g
c
GMU CS475 Fall 2021 22Y. Cheng
e
![Page 23: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/23.jpg)
Causal Consistency
Operations
a, b
b, f
c, f
e, f
e, g
a, c
a, e
Concurrent?
N
Y
Y
Y
N
Y
N
P1
ab
d
P2 P3
Physical time ↓
e
f
g
c
GMU CS475 Fall 2021 23Y. Cheng
![Page 24: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/24.jpg)
Causal Consistency: Quiz
• Valid under causal consistency
• Why? W(x)b and W(x)c are concurrent• So all processes don’t (need to) see them in same
order
• P3 and P4 read the values ‘a’ and ‘b’ in order as potentially causally related. No ‘causality’ for ‘c’.
GMU CS475 Fall 2021 24Y. Cheng
![Page 25: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/25.jpg)
Sequential Consistency: Quiz
• Invalid under sequential consistency
• Why? P3 and P4 see b and c in different order
• But fine for causal consistency• B and C are not causually dependent• Write after write has no dep’s, write after read
does GMU CS475 Fall 2021 25Y. Cheng
![Page 26: CAP Theorem & Causal Consistency](https://reader036.vdocuments.site/reader036/viewer/2022070414/62c0b6657250bb10852179bd/html5/thumbnails/26.jpg)
Causal Consistency
üx
A: Violation: W(x)b is potentially dep on W(x)a
B: Correct. P2 doesn’t read value of a before WGMU CS475 Fall 2021 26Y. Cheng