mark: exploiting cloud services for cost-effective, slo ... · mark: exploiting cloud services for...

20
MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†, Minchen Yu†, Wei Wang†, Feng Yan‡ †Hong Kong University of Science and Technology ‡University of Nevada, Reno 7/9/19 1

Upload: others

Post on 29-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware

Machine Learning Inference ServingChengliang Zhang†, Minchen Yu†, Wei Wang†, Feng Yan‡

†Hong Kong University of Science and Technology

‡University of Nevada, Reno

7/9/19 1

Page 2: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Machine Learning Serving - MLaaS

Deploy a trained model on cloud for user requests

• Highly dynamic demand

• Stringent Service Level Objectives on latency

7/11/19 2

+

= “tabby cat”

• Scale to dynamic queries

• SLO-aware: e.g. 98% of the

requests must be served

under 500ms

• Cost-effective

Objectives of serving on public cloud

Page 3: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Conventional Autoscaling – AWS SageMaker

7/11/19 3[1] https://people.mpi-sws.org/~arpanbg/pdfs/middleware2017_slides.pdf

• Reactive scaling: based on current load

Hide provisioning time -> over-provisioning

Provisioning

Time

(minutes)

Execution

Time

(< 1s)>>

e.g, in AWS EC2, serving an inception-v3 query is 20,000times more expensive than redis query

Sagemaker suggests to adjust over-provisioning

factor from 2

Page 4: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

ML accelerators: GPU, TPU, FPGA

7/9/19 4

• Mass parallel support

• Essential for training complex models

• Expensive

Inference

• Run comfortably without them

• Way less parallelism

CPU: m5.xlarge: $0.192 per hour

GPU: p2.xlarge: $0.9 per hour

TPU v2: $4.5 per hour

- Choose between CPU and

accelerators

- Justify the price tag

Page 5: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Characterization: CPU vs. GPU vs. TPU

7/11/19 5

• CPU: no significant benefits for

small instances

• GPU & TPU: benefit substantially

• GPUs can be cheaper, but only

with batching and high

utilization

CPU: 1 vCPU, 2 GB mem; GPU: K80; TPU: TPU-v2

- Tradeoff

Longer

queuing delay

Larger

batch size

Better cost-

effectiveness

Page 6: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Numerous Choices on Cloud

7/11/19 6

•• Large configuration space: AWS offers

more than 200 instance types in EC2 alone

• Cost-performance trade-offs

o Preemptable instances (spot market)

o Burstable instances

- The right service

- Appropriate configuration

- Exploit the discounts without

sacrificing SLO

Infrastructure as a Service

(VMs)

Container as a Service

(Containers)

Function as a Service

( serverless comp.)

Page 7: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Cloud Services for Model Serving

7/11/19 7

Infrastructure as a Service(IaaS)

Container as a Service(CaaS)

Function as a Service(FaaS, serverless comp.)

EC2: c5.large; ECS: 2vCPU, 4GB mem; Lambda: 3008MB mem

Combine IaaS’s cost advantage with FaaS’s scalability- Instead of overprovisioning IaaS, use FaaS to handle

demand surge and spikes

Pay-as-you-go Pay for what you use

Page 8: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

IaaS: Instance Families and Sizes

7/9/19 8

M1: Inception-v3, M2: Inception-Resnet, M3: OpenNMT-ende.

Price and latency normalized by the value of c5.large

There are 4 families of instance in

EC2 :

• general purpose m

• compute optimized c

• memory optimized r

• burstable t

• The bottleneck is CPU

• Performance grows sub-linearly

with size

Page 9: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

IaaS: Spot Instances

7/12/19 9

• Discounted: up to 75% off, dynamic pricing

• Transient resource: providers can take it back, interruptions

ML serving is

stateless• Requests are independent

• The response only depends on the requests

• No consistency requirement

Page 10: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Characterization Summary

7/9/19 10

• Cloud services: IaaS is cost-effective, FaaS has the best

scalability

• With on-demand pricing, smaller CPU instances are

preferable, cheaper, smaller scaling step size

• Accelerator batching: important control nob for cost and

latency tradeoff

• Safe to use spot instances

Page 11: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Design Considerations

7/9/19 11

Cost-effectiveness• To maintain high utilization and hide

provisioning time: workload prediction

+ proactive provisioning

• Use FaaS to reduce over-provisioning

• Adopt spot instances: online

provisioning algorithm

Accelerator Support• Use dynamic batching, batching

requests according to arrival rate

and SLO specification

Batching guideline:

• After batching, SLOs can’t be violated

• The overall throughput should be better

than pre-bathing

Page 12: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Design Considerations Cont.

7/12/19 12

SLO-awareness• Overall response time: no closed form solution

• ML inference execution time is deterministic

[1] Gujarati, Arpan, et al. "Swayam: distributed autoscaling to meet SLAs of machine learning inference services with

resource efficiency." Proceedings of the 18th ACM/IFIP/USENIX Middleware Conference. ACM, 2017.

99% of the requests must complete under 1s

Best effort solution:Monitor the queuing time for each request,

direct requests to FaaS when necessary

Page 13: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Introducing MArk (Model Ark)

7/11/19 13

response

request

load metric

request

queuerequest

Batch Manager Load

Balancer

ProactiveController

EC2

Per-instance Bouncer

request

response

Lambda

function instances

provision

healthcheck warm up

MArk Cloud Services

SLO Monitor add ins

data flowcontrol flow

on-demand instances

spot instances

burstable instances

BE

BE

BE

��

��

• Weighted round robin for load balancing

• Server front implemented with Sanic

framework

• Support TensorFlow Serving, MXNet Model

Serving, and other custom servables

• Nginx and Gunicorn for admission and

parallelism control

• Support for spot instances

• Can be ported to all popular cloud platforms

Page 14: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Proactive Provisioning

7/10/19 14

- MArk: plug any predictive algorithm that best suits the workload

Heterogeneous Cluster

Deterministic processing time

Assume Poisson arrival

A compilation of M/D/c

queues

No closed form

solution

Heuristic: Greedy Provisioning

time Fo

reca

ste

d l

oa

d (

rps)

1 instance i

1 instance j

• Expose long-term trade-offs

• Find the cheapest instance: the # of

requests to serve / (charge by the

min. + launch overhead)

Page 15: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Evaluations Setup

7/12/19 15

Model Type Framework Size

Inception-v3 Image Classification Tensorflow Serving 45MB

NASNet Image Classification Keras 343MB

LSTM-ptb Language Modeling MXNet Model Server 16MB

OpenNMT-ende Machine Translation Tensorflow Serving 330MB

Test Models

Test Bed

AWSCluster size: up to 52 CPU instances, and 12 GPU instances

Page 16: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Cost Savings

7/9/19 16

MO MS SMServing Option

0102030405060708090

Cost

(USD

)

InstanceLambda

MO MS SMServing Option

0102030405060708090

Cost

(USD

)

InstanceLambda

Inception-v3 OpenNMT-ende

- MArk-ondemand: up to 3.6× savings

- MArk-spot: up to 7.8× savings

Twitter workload

arrival pattern abstracted from real

time tweets

- MO: MArk with only on-demand instances

- MS: MArk with spot instances

- SM: Sagemaker as a baseline

Page 17: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

SLO Compliance

7/9/19 17Inception-v3

100 600latency(ms)

100

0.883.89

0.01

31.72

CCDF

(%)

Latency complementary cumulative distribution function

MMPP: unpredictable, highly

dynamic workload

Markov-modulated Poisson Arrivals(MMPP)

What if workload is unpredictable?

Page 18: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Unexpected Load Surge

7/9/19 18

75% surge 100% surge

0 10 20 30time slot (min)

0

50

100

150

200

250av

erag

e la

tenc

y (m

s) 75% SageMaker75% MArk

0 10 20 30time slot (min)

0

100

200

300

aver

age

late

ncy

(ms) 100% MArk

100% SageMaker

Unexpectedly increase arrival rate

- Mark does not rely on prediction accuracy for SLO

compliance

Page 19: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Conclusion

7/9/19 19

• Characterized ML model serving on cloud

o Proposed combining IaaS and FaaS for ML serving

• Designed a cost-effective, SLO-aware system MArk

o Predictive greedy provisioning

o Dynamic batching to exploit accelerators

o Support spot instances

• Implemented Mark, and evaluated it on AWS

o Up to 7.8x cost reduction

Page 20: MArk: Exploiting Cloud Services for Cost-Effective, SLO ... · MArk: Exploiting Cloud Services for Cost-Effective, SLO-Aware Machine Learning Inference Serving Chengliang Zhang†,

Thank you for coming!

7/9/19 20

MArk is open sourced at

https://github.com/marcoszh/MArk-Project

Find me

Seeking internship opportunities