consistency-based service level agreements for cloud storage douglas b. terry, vijayan prabhakaran,...

24
Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera, Hussam Abu-Libdeh Microsoft Research

Upload: ira-hutchinson

Post on 17-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

Consistency-Based Service Level Agreements

for Cloud Storage

Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera, Hussam Abu-Libdeh

Microsoft Research

Page 2: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

2

“A foolish consistency is the hobgoblin of little minds”

-- Ralph Waldo Emerson (1841)

“… and of large clouds”-- Douglas Brian Terry (2013)

Page 3: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

3

Today’s Cloud Storage Providers

• Replicate data widely• Offer choice of strong or eventual

consistencye.g. Amazon DynamoDB, Yahoo PNUTS, Google App Engine, Oracle NoSQL, Cassandra, … Microsoft Windows Azure

• Tradeoff consistency, availability and performance

Page 4: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

4

Problem

• Developers must choose consistency • No single choice is best for all clients and situations

Client

ConsistencyU.S.

(secondary)England (primary)

India (secondary)

China (client only)

strong 147.5 1.2 435.5 307.23

eventual 1.1 1.0 1.1 160.2

Shopping cart: Want read in

under 300 ms.

roundtrip times in milliseconds

Page 5: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

5

Pileus key features

•Replicated, partitioned key-value store

•Choice of consistency

•Consistency-based service level agreements (SLAs)

a cap cloud

Page 6: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

6

Pileus System Model

primary core

secondary nodes

Get(key, SLA)

Put(key, value)

Get(key, SLA)

syncreplication

lazyreplication

Get(key, SLA)

API

BeginSession (SLA)BeginTx (SLA)

Put (key, value)Get (key, SLA) returns value, consistency

EndTx ()EndSession ()

Page 7: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

7

Read Consistency Guarantees

Strong Consistency Return value of latest Put.

Causal Consistency Return value of latest causally preceding Put.

Bounded Staleness (t) Return value that is stale by at most t seconds.

Read My Writes Return value of latest Put in client session or a later value.

Monotonic Reads Return same or later value as earlier Get in client session.

Eventual Consistency Return value of any Put.

[COPS 2011]

[TACT 2002]

[Bayou 1994]

Page 8: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

8

Read LatenciesClient/Consistency U.S.

(secondary)England

(primary)India

(secondary)China

(client only)

strong 147.5 1.2 435.5 307.3

causal 146.3 1.0 431.6 306.4

bounded(30) 75.1 1.0 234.6 241.9

read-my-writes 13.0 1.1 18.4 166.8

monotonic 1.1 1.0 1.1 160.2

eventual 1.1 1.0 1.1 160.2

roundtrip times in milliseconds

consistency affects latency

client location affects latency

Page 9: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

9

Consistency-based SLA

• Applications declare desired consistency/latency

strong 300 ms.consistency latency

read my writes 300 ms.

1.

2.

1.0utility

0.5

eventual 300 ms.3. 0.1

Shopping Cart:

Page 10: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

10

SLA Enforcement: Client Monitoring

Node Primary? RTTs High Timestamp

A yes 210

B no 166

C no 203

For each tablet:

from configuration

service

measured on Gets, Puts, and pings

returned from Gets, Puts, and

pings

Page 11: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

11

SLA Enforcement: Node Selection

1. For each subSLA and node, a. compute Platency

b. compute Pconsistency

c. compute Platency x Pconsistency x utility2. Select node with maximum expected utility3. Send Get operation to node4. Measure RTT and update records5. Return data and delivered consistency to caller

On Get (key, SLA):

Page 12: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

12

Experimental SetupSystem configuration:

Primary: EnglandSecondaries: U.S., IndiaClients: U.S., England, India, China

Benchmark:• YCSB with 50/50 Gets/Puts• 500-op sessions

Node selection schemes:• Primary = get from primary• Random = get from random node• Closest = get from closest node• Pileus = get from node with highest

expected utility

Measurement: • Average utility for Get operations

U.S.England

China

India

149

287436

161

308

181

Page 13: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

13

Experiment #1: SLA

Simplified shopping cart SLA:

consistency latency

read my writes 300 ms.1.

2.

utility

1.0

eventual 300 ms. 0.5

Page 14: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

14

Experiment #1: Delivered UtilityAv

erag

e uti

lity

per G

et

Client datacenter

(secondary) (secondary)(primary) (client only)

Page 15: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

15

Experiment #1: Delivered UtilityAv

erag

e uti

lity

per G

et

Client datacenter

(secondary) (secondary)(primary) (client only)

Primary selection works well when close to the primary,

but poorly when distant

Page 16: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

16

Experiment #1: Delivered UtilityAv

erag

e uti

lity

per G

et

Client datacenter

(secondary) (secondary)(primary) (client only)

Random selection rarely works well

Page 17: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

17

Experiment #1: Delivered UtilityAv

erag

e uti

lity

per G

et

Client datacenter

(secondary) (secondary)(primary) (client only)

100% Gets from England;

100% meet top subSLA

Page 18: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

18

Aver

age

utilit

ype

r Get

Experiment #1: Delivered Utility

Client datacenter

(secondary) (secondary)(primary) (client only)

91% from U.S.;9% from England;100% meets top

subSLA

14.5 ms. avg. latency

vs. 148 ms. for primary

Page 19: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

19

Experiment #1: Delivered UtilityAv

erag

e uti

lity

per G

et

Client datacenter

(secondary) (secondary)(primary) (client only)

99.6% from U.S.;0.4% from India; 96% meets top

subSLA

Page 20: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

20

(secondary) (secondary)(primary) (client only)

Client datacenter

Experiment #1: Delivered Utility

Pileus always delivers the most utility!

Aver

age

utilit

ype

r Get

Page 21: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

21

Experiment #1: Delivered UtilityAv

erag

e uti

lity

per G

et

Client datacenter

(secondary) (secondary)(primary) (client only)

9% fail to meet read-my-write

Page 22: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

22

Experiment #2: SLA

Password checking SLA:

consistency latency

strong 150 ms.1.

2.

utility

1.0

eventual 150 ms. 0.5

3. strong 1000 ms. 0.25

Page 23: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

23

Experiment #2: Delivered UtilityAv

erag

e uti

lity

per G

et

Client datacenter

(secondary) (secondary)(primary) (client only)

Page 24: Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,

Conclusions: Main Contributions

Our Pileus system• provides a broad choice of consistency guarantees and

range of delivered read latency• allows declarative specification of desired consistency

and latency through consistency-based SLAs• selects nodes to maximize expected utility while

adapting to varying conditions