WR WREN: A A Fa Fast and Scalable Transactional Causally Co Consistent Geo-Re Replicated Ke Key-Va Value Store Diego Didona, Kristina Spirovska, Willy Zwaenepoel RainbowFS workshop Paris, May 3rd
Outline Introduction Our work- Wren Related work Summary
Geo-replicated partitioned key-value data store A-D E-H J-M 3
Consistency Eventual Consistency Causal Consistency Performance Linearizability (Strong Consistency) Consistency Guarantees 4
Causal Consistency Alice > Alice > 7 minutes ago · 7 minutes ago · Eve I’ll miss the train ;( I’ll miss the train ;( Like · Comment · Share Like · Comment · Share 0 people like this. 0 people like this. Bob Happy for you! Alice Yes! Caught it J Like · Reply · 1 minute ago Like · Reply · 2 minutes ago Bob Happy for you! Like · Reply · 1 minute ago Write a comment … J Write a comment … J 5
Transactional Causal Consistency Transactional Read-write Causal Causal Transactions Consistency Consistency - Transactions read from a causally consistent snapshot - Transactions updates are visible atomically in a DC 6
Outline Introduction Our work- Wren Related work Summary
Limitations of State-of-the-art Systems Dependency tracking • Metadata scalability Update timestamping • Clock skew induced latency 8
Main Contributions 2. Low Latency 1. Constant Metadata WREN Hybrid Logical/ Hybrid Stable Time Physical Clocks (HST) A novel dependency Loose synchronization of tracking and stabilization physical clocks without protocol suffering from clock skew Addresses Addresses clock skew induced latency metadata scalability 9
Main Contributions 2. Low Latency 1. Constant Metadata WREN Hybrid Logical/ Hybrid Stable Time Physical Clocks (HST) A novel dependency Loose synchronization of tracking and stabilization physical clocks without protocol suffering from clock skew 10
Hybrid Stable Time (HST) • Only two scalar timestamps Tracks the Local Dependency 1 dependencies on local Time items Remote Stable Summarizes 2 dependencies on Time remote items 11
Existing dependency tracking methods Dependency vectors Single timestamp Cure[ICDCS’16] GentleRain[SOCC’14] + + Fresh, non-blocking Metadata size O(1) snapshot ⎯ Inter DC sync to ⎯ Metadata size O(#DCs) install snapshot 12
Single Scalar: GentleRain DC 0 5 DC 1 BLOCK untill: 7 lower bound >= 15 DC 2 15 Lower Bound: 5 Read Write 15 Client O(1) 15 Client dependency time 13
Dependency vectors: Cure DC 0 5 DC 1 7 DC 2 15 Lower Bound: [ 5, 7, 15] Write Client O(n) 15 Client dependency time 14
Dependency vectors: Cure DC 0 5 DC 1 NO BLOCKING 7 DC 2 15 Lower Bound: [ 5, 7, 15] Read Write [5,7,15] Client O(n) 15 Client dependency time 15
Local and Remote Time: Wren DC 0 5 DC 1 7 DC 2 15 Lower Bound: [ 5, 15] Write Client O(1) 15 Client dependency time 16
Local and Remote Time: Wren DC 0 5 DC 1 NO BLOCKING 7 DC 2 15 Lower Bound: [ 5, 15] Read Write [5,15] Client O(1) 15 Client dependency time 17
Hybrid Stable Time (HST) • Only two scalar timestamps Tracks the Local Dependency dependencies on local Time items Remote Stable Summarizes dependencies on Time remote items 18
Remote Stable Time (RST) • Computed periodically • Lower bound on updates from remote DCs • No additional inter DCs sync 19
HST Benefits & Trade-off • Hits sweet spot in the meta-data size vs . performance spectrum 20
Main Contributions 2. Low Latency 1. Constant Metadata WREN Hybrid Logical/ Hybrid Stable Time Physical Clocks (HST) A novel dependency Loose synchronization of tracking and stabilization physical clocks without protocol suffering from clock skew 21
Existing update timestamping methods Physical Clocks PC Logical Clocks LC + + (Loose) clock synchr. Capture dependency enables efficient among events easily dependency tracking ⎯ ⎯ Clock skew introduces No syhncronization uncertainty (latencies) makes dependency tracking more costly 22
Hybrid Logical/Physical clocks (HCL) • Logical Physical Clocks , OPODIS’14 • Be Best of of bot oth wo worlds • Ca Captures the causality y re relationship • In Inher erits loose e sy synchronization of of PC PC • No No clock skew as LC LC 23
Hybrid Logical/Physical clocks (HCL) Physical component p : l Logical component 24
Clock skew problem Invariant: timestamps must reflect causality In Client’s dep. time < x2’s update time Cl Client Write(x 2 ) 10 p x 2 B L O C K 11 5 Wait until < t 10 client dependency time physical clock t t 25
Clock skew solution Invariant: timestamps must reflect causality In Cl Client’s dep. time < x2’s update time Client Write(x 2 ) 10 :0 p Update hybrid 5 :0 clock 5 physical clock hybrid clock p:l p:l client dependency time t 26
Clock skew solution Client Write(x 2 ) 10 :0 p x 2 10 :1 5 physical clock hybrid clock p:l p:l client dependency time t 27
Availability The system will HS HST always tracks continue to work, stable remote everything is there dependencies locally Do not block in case of network partitions 28
Outline Introduction Our work- Wren Related work Summary
Related Systems Low Availability Snapshot Metadata Latency (Transact.) freshness Cure [ICDCS’16] Clock skew #DCs Yes Higher GentleRain Clock skew O(1) No Lower [SOCC’14] Inter-DC syn Occult Inter DC O(#DCs) No Highest [NSDI’17] sync Wren Yes O(1) Yes Lower 30
Our work: Wren The first Constant metadata transactional causally consistent Low latency geo-replicated system that at the Always-available same time has: 31
Summary • Wren: The first transactional causally consistent geo-replicated system that at the same time has: • Constant metadata • Hybrid Stable Time • Low latency • Hybrid Logical/Physical Clocks • Always-available Th Thank k you! 32
Recommend
More recommend