Download presentation
Presentation is loading. Please wait.
Published byBonnie Ferguson Modified over 9 years ago
1
Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton, † Intel Labs, ‡ CMU
2
Geo-Replicated Storage 2 is the backend of massive websites FriendOf Like “Halting is Undecidable” Status
3
Storage Dimensions A-F G-L M-R S-Z Shard Data Across Many Nodes 3 Like “Halting is Undecidable” Status FriendOf
4
Storage Dimensions A-F G-L M-R S-Z Shard Data Across Many Nodes A-F G-L M-R S-Z A-F G-L M-R S-Z Data Geo-Replicated In Multiple Datacenters 4
5
Sharded, Geo-Replicated Storage A-F G-L M-R S-Z A-F G-L M-R S-Z A-F G-L M-R S-Z 5
6
Low Latency –Improves user experience –Correlates with revenue Strong Consistency –Obey user expectations –Easier for programmers Fundamentally in Conflict [LiptonSandberg88, AttiyaWelch94] Fundamentally in Conflict [LiptonSandberg88, AttiyaWelch94] Strong Consistency or Low Latency
7
Megastore [SIGMOD ‘08] Spanner [OSDI ‘12] . Gemini [OSDI ‘12] . Walter [SOSP ’11] . Dynamo [SOSP ’07] COPS [SOSP ’11] Eiger Obey user expectations Easier for programmers Causal+ Consistency Rich Data Model Read-only Txns Write-only Txns
8
Eiger Ensures Low Latency A-F G-L M-R S-Z A-F G-L M-R S-Z A-F G-L M-R S-Z 8 Keep All Ops Local
9
Causal+ Consistency Across DCs If A happens before B –Everyone sees A before B Obeys user expectations Simplifies programming New Job! Friends Boss Friends Boss Then
10
Causal For Column Families Operations update/read many columns Range query columns concurrent w/ deletes Counter columns See paper for details Lovelace Turing ChurchLovelaceTuring --1/1/54 9/1/361/1/54- Friends 631 457 Friends Coun t Profile AgeTown 197London 100Princeton Key 1 Key 2 Val
11
Viewing Data Consistently Is Hard Asynchronous requests + distributed data = ????? A A B B C C 1 5 6 Update A 2 Update B 3 Update C 4 ???
12
Read-Only Transactions Logical time gives a global view of data store –Clocks on all nodes, carried with all messages Insight: Store is consistent at all logical times Logical Time A 02 B 03 C 05 A1A1 A2A2 B1B1 B2B2 C1C1 C2C2
13
Read-Only Transactions Extract consistent up-to-date view of data –Across many servers Challenges –Scalability Decentralized algorithm –Guaranteed low latency At most 2 parallel rounds of local reads No locks, no blocking –High performance Normal case: 1 round of reads 13
14
Read-Only Transactions Round 1: Optimistic parallel reads Calculate effective time Round 2: Parallel read_at_times Logical Time A 02 B 03 C 05 A1A1 A2A2 B1B1 B2B2 C1C1 C2C2 Distributed StorageClient 0 1 A1A1 4 6 C2C2 3 B2B2 5 A2A2
15
Logical Time A 2 B 3 C 5 A2A2 B2B2 C2C2 Transaction Intuition Read-only transactions –Read from a single logical time Write-only transactions –Appear at a single logical time Bonus: Works for Linearizability Bonus: Works for Linearizability A3A3 B3B3 C3C3
16
Eiger Provides √ Low latency √ Rich data model √ Causal+ consistency √ Read-only transactions √ Write-only transactions But what does all this cost? Does it scale? 16
17
Eiger Implementation Fork of open-source Cassandra +5K lines of Java to Cassandra’s 75K Code Available: –https://github.com/wlloyd/eiger
18
Evaluation Cost of stronger consistency & semantics –Vs. eventually-consistent Cassandra –Overhead for real (Facebook) workload –Overhead for state-space of workloads Scalability
19
A-F G-L M-R S-Z A-F G-L M-R S-Z 19 Replication Experimental Setup Local Datacenter (Stanford) Remote DC (UW) 88 8
20
Facebook Workload Results 20 6.6% Overhead
21
Eiger Scales 21 Facebook Workload 384 Machines! Scales out
22
Improving Low-Latency Storage COPS Eiger Data model Key-Value Column-Family Read-only Txns Causal stores All stores Write-only Txns None Yes Performance Good Great DC Failure Throughput Resilient degradation
23
Eiger Low-latency geo-replicated storage –Causal+ for column families –Read-only transactions –Write-only transactions Demonstrated in working system –Competitive with eventual –Scales to large clusters –https://github.com/wlloyd/eiger
24
Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton, † Intel Labs, ‡ CMU
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.