Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot...

23
1 Orchestrating the Deployment of Computations in the Cloud with Conductor Alexander Wieder Pramod Bhatotia Ansley Post Rodrigo Rodrigues NSDI 2012 27.04.2012

Transcript of Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot...

Page 1: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

1

Orchestrating the Deployment of Computations in the Cloud with

Conductor

Alexander WiederPramod Bhatotia

Ansley PostRodrigo Rodrigues

NSDI 2012

27.04.2012

Page 2: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

2

EC

2

Options for Processing Data in the Cloud

S3

local

S3

local

Am

azo

nW

eb

Se

rvic

esC

lien

t

S3

What's the best strategy to use cloud services?

Page 3: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

3

Variety of services and providers with different● Pricing models● Performance characteristics● Locations● Interfaces

Hybrid deployments● Use own infrastructure and/or multiple different

services at the same time

Dynamics during runtime● Performance variations● Spot markets

Why is choosing the best strategy challenging?

Page 4: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

4

Conductor Goals

Simplify the management of cloud resources:

● Automatization: Automatically optimize resource allocation

● Transparency: Use multiple different services seamlessly

● Adaptivity: Automatically adapt to dynamics● Performance variations● Variable resource cost on spot markets

Page 5: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

5

Outline

● Conductor System Overview

● Modeling Computations

● Using Cloud Resources Transparently

● Evaluation

Page 6: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

6

Controller

Frameworks

High Level System Design

Dryadsubmit job toframework

submit job toConductor

LP Solver

LP basedexecution model

execution plan

allocateresources

runjob

monitorexecution

How can we model

computations?

How can we transparently use cloud resources?

Page 7: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

7

Outline

● Conductor System Overview

● Modeling Computations

● Using Cloud Resources Transparently

● Evaluation

Page 8: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

8

Modeling Computations

● Hard to model computations in general case

● Unknown:● Data access patterns● Processing time● Scalability

● Feasible for specific programming models, e.g., MapReduce

Page 9: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

9

Modeling MapReduce Computations

How can we model MapReduce Computations?

● Data-parallel processing● Mostly linear dependencies:

● Performance● Resources● Cost

➔ Problem calls for a formulationas a linear program!

Page 10: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

10

Computation steps:● Storing data● Transferring data● Processing data● Migrating data

Graph based model:● Vertices: data storage and processing● Edges: data transfer

Modeling MapReduce Computations

StorageProviders

S3 local

S3 local

DataUpload

ComputationProviders

Page 11: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

11

Outline

● Conductor System Overview

● Modeling Computations

● Using Cloud Resources Transparently

● Evaluation

✔✔

Page 12: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

12

Deploying Jobs on the Cloud

uniformkey-valueinterface

backendspecificinterface

migrateand

upload

Res

ou

rce

Ab

stra

ctio

nL

ayer

Storage

Computation

Frameworks

Dryad

local HD on VM

S3

Page 13: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

13

Outline

● Conductor System Overview

● Modeling Computations

● Using Cloud Resources Transparently

● Evaluation

✔✔

Page 14: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

14

Evaluation

Questions we answer in the evaluation:

● Can Conductor find optimal execution plans?

● Can Conductor efficiently adapt to dynamics?

● Can Conductor enable hybrid deployments?

● What overheads does Conductor impose?

seepaper

Page 15: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

15

Scenario:

● Job: k-means clustering, 32GB input data● Resources: EC2, S3● Deadline: 6h● Minimize monetary cost

Goal:

● Automatically select resources● Manage data transfer● Launch job

EvaluationFinding Optimal Execution Plans

Page 16: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

16

EvaluationFinding Optimal Execution Plans

storing 1/3 on S3 and 2/3 on EC2

is optimal

Page 17: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

17

EvaluationAdapting to Dynamics

Observed resource performance in the cloud can vary for several reasons:● Interference with co-located VM instances● Network congestion● Failures

Scenario:● EC2 performance ~3x overestimated

Conductor doesn't allocate enough resources to finish before deadline

Page 18: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

18

Job progress:

Allocated nodes:

Conductor updated deployment after 1h

EvaluationAdapting to Dynamics

Deadline

Page 19: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

19

EvaluationAdapting to Spot Market Prices

Can Conductor help cutting cost by leveraging spot resources?

Page 20: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

20

EvaluationAdapting to Spot Market Prices

Methodology:

● Simulate job deployment using EC2 spot instances● Spot pricing history over ~4 weeks ● Conductor uses an oracle or simple pricing predictor

regular oracle predictor

Page 21: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

21

Outline

● Conductor System Overview

● Modeling Computations

● Using Cloud Resources Transparently

● Evaluation

✔✔

✔✔

Page 22: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

22

Summary and Conclusion

Observation:Making best use of the cloud is hard!

Conductor's approach:● LP-based system model● Optimize for user goals● Resource abstraction layers ● Adapt during runtime

Evaluation results:Conductor can efficiently manage cloud deployments

Future work:Apply Conductor's approach to other frameworks

Page 23: Orchestrating the Deployment of Computations in the Cloud ... · 19 Evaluation Adapting to Spot Market Prices Can Conductor help cutting cost by leveraging spot ... LP-based system

23

Thanks for your Attention!