24
Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky David G.

Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Embed Size (px)

Citation preview

Page 1: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Eiger: Stronger Semantics for

Low-LatencyGeo-Replicated

Storage

Wyatt Lloyd*

Michael J. Freedman*

Michael Kaminsky†

David G. Andersen‡

*Princeton, †Intel Labs, ‡CMU

Page 2: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Geo-Replicated Storage

2

is the backend of massive websites

FriendO

f

FriendO

f

Like

“Halting is Undecidable

Stat

us

Page 3: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

3

Storage Dimensions

A-F

G-L

M-R

S-Z

Shard Data Across Many Nodes

Like

“Halting is Undecidable”

Statu

s

FriendO

f

FriendO

f

Page 4: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

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

Page 5: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

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

Page 6: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Low Latency– Improves user experience– Correlates with revenue

Strong Consistency– Obey user expectations– Easier for programmers

Fundamentally in Conflict[LiptonSandberg88,

AttiyaWelch94]

Strong Consistency or Low Latency

Page 7: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Strong Consistency or Low Latency

Megastore [SIGMOD ‘08]

Spanner [OSDI ‘12] .

Gemini [OSDI ‘12] .

Walter [SOSP ’11] .

Dynamo [SOSP ’07]

COPS [SOSP ’11]

Eiger Obey user expectations Easier for programmersCausal+ Consistency

Rich Data ModelRead-only TxnsWrite-only Txns

Page 8: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

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

Keep All Ops Local

Page 9: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Causal+ Consistency Across DCs

• If A happens before B– Everyone sees A before B

• Obeys user expectations

• Simplifies programming

New Job!

FriendsBoss

ThenThen

Then

Page 10: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

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/36 1/1/54 -

Friends

631

457

FriendsCount

Profile

Age Town

197 London

100 Princeton

Key1

Key2

Val

Val

Page 11: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Viewing Data Consistently Is Hard

Asynchronous requests + distributed data = ?????

A

B

C

1

5

6

Update A

2

Update B

3

Update C

4

???

Page 12: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

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

A0 2

B0 3

C0 5

A1 A2

B1 B2

C1 C2

Page 13: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

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

Page 14: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Read-Only Transactions

• Round 1: Optimistic parallel reads

• Calculate effective time

• Round 2: Parallel read_at_times

Logical Time

A0 2

B0 3

C0 5

A1 A2

B1 B2

C1 C2

Distributed StorageClient0 1

A1

4 6C2

3B2

5

A2

Page 15: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Logical Time

A2

B3

C5

A2

B2

C2

Transaction Intuition

• Read-only transactions– Read from a single logical time

• Write-only transactions– Appear at a single logical time

Bonus:Works for

Linearizability

A3

B3

C3

Page 16: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

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?

Page 17: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Eiger Implementation

• Fork of open-source Cassandra

• +5K lines of Java to Cassandra’s 75K

• Code Available:– https://github.com/wlloyd/eiger

Page 18: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Evaluation

• Cost of stronger consistency & semantics – Vs. eventually-consistent Cassandra– Overhead for real (Facebook) workload– Overhead for state-space of workloads

• Scalability

Page 19: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

19

A-F

G-L

M-R

S-Z

A-F

G-L

M-R

S-Z

Replication

Experimental SetupLocal Datacenter (Stanford)

Remote DC (UW)

8 8

8

Page 20: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

20

Facebook Workload Results

6.6% Overhead

Page 21: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

21

Eiger ScalesFacebook Workload

384 Machines!

Scales out

Page 22: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

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

Page 23: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

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

Page 24: Eiger: Stronger Semantics for Low-Latency Geo-Replicated Storage Wyatt Lloyd * Michael J. Freedman * Michael Kaminsky † David G. Andersen ‡ * Princeton,

Eiger: Stronger Semantics for

Low-LatencyGeo-Replicated

Storage

Wyatt Lloyd*

Michael J. Freedman*

Michael Kaminsky†

David G. Andersen‡

*Princeton, †Intel Labs, ‡CMU