71
Resource Management for Advanced Data Analytics at Large Scale Final Public Oral Haoyu Zhang Committee: Mike Freedman (advisor), Kyle Jamieson, Kai Li, Wyatt Lloyd, Jennifer Rexford

Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Resource Management for Advanced Data Analytics at Large Scale

Final Public Oral

Haoyu Zhang

Committee: Mike Freedman (advisor),Kyle Jamieson, Kai Li, Wyatt Lloyd, Jennifer Rexford

Page 2: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Advanced data analytics:making sense of complex data

• Discover interpretable patterns• Understand causal relationships• Make informed predictions and decisions

• Unstructured, multimodalnumerical, text, images, videos, …

• High-dimensional, interconnectedmedical, linked social graphs, …

• Growing very fast in volume

Page 3: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

3

Data

Complexity

Resource

Page 4: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Challenge 1: the growth of data volume

Batch processing

10s PB new dataper day for Spark jobs

100s TB new dataper day for a single job

Video stream analytics Machine learning

100+M user ratings of 17,770 movies

14+M images of 1,000 categories

4

Page 5: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Challenge 2: the complexity of analytics

10K hyperparameter combinations to explore [4]

600K training steps to converge [3]

Batch processing

>50% batch jobs have multiple stages

10x larger than available memory

Video stream analytics Machine learning

30GFlops to recognize objects in image [2]

1Fps objecttracking on 8-core node [1]

[1] VOT Challenge 2015 Results [2] Simonyan et al. 2014 5[3] He et al. 2015 [4] Maclaurin et al. 2015

Page 6: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Challenge 3: limited cluster resources

• Our rapidly improving hardware technology is coming to a “grinding halt” [1]

• DRAM and disk capacity:

double once in next decade [2]

• CPU performance:

double in two decades [2]

• Moore’s Law is ending…

6[1] Stoica et al. 2017

Length and Number of Transistors Bought Per $

(Figure Source: Linley Group)[2] Hennessy & Patterson. 6th Edition. 2017

Page 7: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Datacenter resource scheduling

• Treat tasks as black boxes• Based on general principles

• fairness, locality, load balancing, …

7

Job 1Task-level Scheduler

Worker Machine 1

TaskExecutor

TaskExecutor

Job mTask-level Scheduler

Cluster ManagerJob-level Scheduler

Worker Machine n

TaskExecutor

TaskExecutor

allocate executors

assign tasks

Page 8: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

New opportunities to optimize scheduling

• Video stream analytics• quality-resource-delay tradeoffs between queries

8

Occup

ying t

he cl

oud!

live analytics deployed on public & private cloud

TPU, Big Basin in datacenters for ML jobs

largest deployment known has 8,000 nodes

• Machine learning• iterative training process with diminishing returns

• Batch processing• large amount of fragmented I/O in multi-stage jobs

Page 9: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

In this talk

9

Job 1Task-level Scheduler

Worker Machine 1

Task

Executor

Task

Executor

Job mTask-level Scheduler

Cluster ManagerJob-level Scheduler

Worker Machine n

Task

Executor

Task

Executor

allocate executors

assign tasks

VideoStorm: Live Video Analytics [NSDI ’17]

SLAQ: Quality-Driven ML Scheduling [SoCC ’17 !]

Riffle: Optimized Shuffle Service [EuroSys ’18]

Page 10: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Riffle: Optimized Shuffle Service for Large-Scale Data Analytics

Haoyu Zhang, Brian Cho, Ergin Seyfe, Avery Ching, Michael J. FreedmanEuropean Conference on Computer Systems (EuroSys ’18)

Page 11: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Batch analytics systems are widely used

• Large-scale SQL queries• Custom batch jobs• Pre-/Post-processing for ML

At

10s of PB new data is generated every day for batch processing

100s of TB data is added to be processed by a single job

11

Page 12: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Batch analytics jobs: logical graph

map filter

map

join,groupBy filter

narrow dependency wide dependency

12

Page 13: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Batch analytics jobs: DAG execution plan

Stage 1 Stage 2

• Shuffle: all-to-all communication between stages• >10x larger than available memory, strong fault tolerance requirements

→ on-disk shuffle files13

Page 14: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

The case for tiny tasks

• Benefits of slicing jobs into small tasks• Improve parallelism [Tinytasks HotOS 13] [Subsampling IC2E 14] [Monotask SOSP 17]

• Improve load balancing [Sparrow SOSP 13]

• Reduce straggler effect [Dolly NSDI 13] [SparkPerf NSDI 15]

14

Page 15: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

The case against tiny tasks

• Engineering experience often argues against running too many tasks• Medium scale → very large scale (10x larger than memory space)• Single-stage jobs → multi-stage jobs (> 50%)

Although we were able to run the Spark job with such a high number of tasks, we found that there is significant performance

degradation when the number of tasks is too high.

[*] Apache Spark @Scale: A 60 TB+ Production Use Case. https://tinyurl.com/yadx29gl

15

Page 16: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Shuffle I/O grows quadratically with data

0 5000 100001umber RI TasNs

0

1000

2000

3000

4000

Shu

IIOe

Tim

e (s

ec)

ShuIIOe Time

0

40

80

120

5eT

uest

CRu

nt / 10

6

I/2 5eTuest

0 5000 100001umber of TasNs

0

500

1000

1500

Siz

e (K

B)

SKuffle )etFK Size

• Large amount of fragmented I/O requests• Adversarial workload for hard drives!

16

Page 17: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Strawman: fix number of tasks in a job

• Tasks spill intermediate data to disk if data splits exceed memory capacity• Larger task execution reduces shuffle I/O, but increases spill I/O

17

Page 18: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Strawman: tune number of tasks in a job

• Need to retune when input data volume changes for each individual job• Bulky tasks can be detrimental [Dolly NSDI 13] [SparkPerf NSDI 15] [Monotask SOSP 17]

• straggler problems, imbalanced workload, garbage collection overhead

300 400 500 600 700 800 9001000

20004000

800010000

1umber of 0aS 7asNs

0

1000

2000

3000

7im

e (s

ec)

6huffle 6Sill

300 400 500 600 700 800 9001000

20004000

800010000

1umber of 0aS 7asNs

0

1000

2000

3000

7im

e (s

ec)

6huffle 6Sill

300 400 500 600 700 800 9001000

20004000

800010000

1umber of 0aS 7asNs

0

1000

2000

3000

7im

e (s

ec)

6huffle 6Sill

18

Page 19: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

19

Small Tasks

Bulky Tasks

Large Amount ofFragmented Shuffle I/O

Fewer, SequentialShuffle I/O

Page 20: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Riffle: optimized shuffle service

• Riffle shuffle service: a long running instance on each physical node• Riffle scheduler: keeps track of shuffle files and issues merge requests

Worker NodeWorker NodeTaskTaskTasks Worker Machine

Task Task Task Task

File System

ExecutorExecutor

Riffle Shuffle Service

Driver

Job / Task Scheduler

Riffle Merge

Scheduler

assign

report taskstatuses

report mergestatuses

send merge requests

20

Page 21: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Riffle: optimized shuffle service

• When receiving a merge request

1. Combines small shuffle files into larger ones

2. Keeps original file layout

• Reducers fetch fewer, large blocksinstead of many, small blocks

Optimized Shuffle Service

merge request

map

map

map

reduce

reduce

reduce

reduce

reduce

reduce

reduce

map

map

map

merge request

Application DriverMerge Scheduler

Worker-Side Merger

21

Page 22: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

1R 0erge 5 10 20 401-Way 0erge

0

100

200

300

400

500

Tim

e (s

ec)

0aS SWage 5educe SWage

Results with merge operations on synthetic workload

• Riffle reduces number of fetch requests by 10x• Reduce stage -393s, map stage +169s → job completes 35% faster

1R 0erge 5 10 20 401-Way 0erge

0

1500

3000

4500

6000

6ize

(KB)

5ead BlRcN 6ize

0

2000

4000

6000

8000

5eq

uesW

CRu

nW

1umber Rf 5eads

22

Page 23: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Best-effort merge

• Observation: slowdown in map stage is mostly due to stragglers

• Best-effort merge: mixing merged and unmerged shuffle files• When number of finished merge requests is larger than a user

specified percentage threshold, stop waiting for more merge results

23

Thread 1

Thread 2

Thread 3Merger

time

Page 24: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

1R 0erge 5 10 20 401-Way 0erge

0

1500

3000

4500

6000

6ize

(KB)

5ead BlRcN 6ize

0

2000

4000

6000

8000

5eq

uesW

CRu

nW

1umber Rf 5eads

1R 0erge 5 10 20 401-Way 0erge

0

1500

3000

4500

6000

6ize

(KB)

5ead BlRcN 6ize

0

2000

4000

6000

8000

5eq

uesW

CRu

nW

1umber Rf 5eads

1R 0erge 5 10 20 401-Way 0erge

0

100

200

300

400

500

Tim

e (s

ec)

0aS SWage 5educe SWage

Results with best-effort merge

• Reduce stage -393s, map stage +52s → job completes 53% faster• Riffle finishes job with only ~50% of cluster resources!

1R 0erge 5 10 20 401-Way 0erge

0

100

200

300

400

500

Tim

e (s

ec)

0aS SWage 5educe SWage

24

Best-effort merge (95%)

Page 25: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Additional enhancements

• Handling merge operation failures• Efficient memory management• Balance merge requests in clusters

Block 65Block 66

…Block 67

…Block 65Block 66

…Block 67

…Block 65Block 66

…Block 67

Block 65-1Block 65-2

Block 65-m…

Block 66-1Block 66-2

Block 66-m…

Buf

fere

d R

ead

Buffered W

rite

Merge

1

k

Merger

Merger

Merger

Merger

Merger

Job 1 Driver

Job 2 Driver

Job k Driver

request 1

request k

25

Page 26: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Experiment setup

• Testbed: Spark on a 100-node cluster• Each node has 56 CPU cores, 256GB RAM, 10Gbps Ethernet links• Each node runs 14 executors, each with 4 cores, 14GB RAM

• Workload: 4 representative production jobs at Facebook

Correctness with compressed and sorted data.Compression is commonly used to reduce I/O overheadwhen storing files on disks. The data typically needsto go through compression codecs when transformingbetween its on-disk format and in-memory representa-tion. Riffle concatenates file blocks directly in theircompressed, on-disk format to avoid compression en-coding and decoding overhead. This is possible be-cause the data analytics frameworks typically use con-catenation friendly compression algorithms. For exam-ple, LZ4 [41] and Snappy [42] are commonly used inSpark and Hadoop for intermediate and result files.

Merging the raw block files breaks the relative order-ing of the key-value items in the blocks of merged shufflefiles. If a reduce task does require the data to be sorted, itcannot assume the data on the mapper side is pre-sorted.Sorting in Spark (default) and Hadoop (configurable) onreduce side uses the TimSort algorithm [43], which takesadvantage of the ordering of local sub-blocks (i.e., seg-ments of the concatenated blocks in merged shuffle files)and efficiently sorts them. The algorithm has the samecomputational complexity as Merge Sort and in practiceleads to very good performance [44]. The sorting mech-anism ensures that reducer tasks will get the correctlyordered data even with the Riffle merge operations. Inaddition, since merge will not affect the internal orderingof data in sub-blocks, the sorting time with Riffle will bethe same as the no merge case.

5 Implementation

We implemented Riffle with about 4,000 lines of Scalacode added to Apache Spark 2.0. Riffle’s modificationis completely transparent to the high-level programmingAPIs, so it supports running unmodified Spark applica-tions. We implemented Riffle to work on both traditionalclusters with collocated computation and storage, and thenew-generation disaggregated clusters. Riffle as well asits policies and configurations can be easily changed ona per-job basis. It is deployed and running various Sparkbatch analytics jobs at OSN.Garbage collection. Storage space, compared to otherresources, is much cheaper in the system. As describedin §4.3, Riffle keeps both unmerged and merged shuffleoutput files on disks for better fault tolerance. Both typesof shuffle output files share the lifetime of the runningSpark job, and are cleaned up by the resource managerwhen the job ends.

6 Evaluation

In this section, we present evaluation results on Riffle.We demonstrate that Riffle significantly improves the I/O

Data Map Reduce Block Description

1 167.6 GB 915 200 983 K ad metrics2 1.15 TB 7,040 1,438 120 K measurement3 2.7 TB 8,064 2,500 147 K measurement4 267 TB 36,145 20,011 360 K ad metrics

Table 1: Workload and datasets for 4 production jobs usedfor Riffle evaluation. Each row shows the total size of shuf-fle data in a job, the number of tasks in its map and reducestages, and the average size of shuffle blocks.

efficiency by increasing the request sizes and reducesthe IOPS requirement on the disks, and scales to pro-cess 100s of TB of data and reduces the end-to-end jobcompletion time and total resource usage.

6.1 Methodology

Testbed. We test Riffle with Spark on a disaggregatedcluster (see §4.4). The computation blade of the clusterconsists of 100 physical nodes, each with 56 CPU cores,256GB RAM (with 200GB allocated to Spark execu-tors), and connected with 10Gbps Ethernet links. Eachphysical node is further divided into 14 executors, eachwith 4 CPU cores and 14 GB memory. In total, the jobsrun on 1,414 executors. 8GB memory on each physi-cal node is reserved for in-memory buffering of the Rif-fle merger instance. The storage blade provides a dis-tributed file system interface, with 100MB/s I/O speedfor sequential access of a single file. Our current deploy-ment of file system supports 512KB unit I/O operation.We also use emulated IOPS counters in the file system toshow the performance benefit when the storage is tunedwith larger optimal I/O sizes.Workloads and datasets. We used four productionjobs at OSN with different sizes of shuffle data, rep-resenting small, medium and large scale data process-ing jobs, as shown in Table 1. To isolate the I/O be-havior of Riffle, in §6.2 we first show the experimentresults on synthetic workload closely simulating Job 3:the synthetic job generates 3TB random shuffle data anduses 8,000 map tasks and 2,500 reduce tasks. Withvanilla Spark, each shuffle output file, on average, hasa 3TB/8000/2500 = 150KB block for each reduce task(approximating the 147KB block size in Job 3). With-out complex processing logic, experiments with the syn-thetic job can demonstrate the I/O performance improve-ment with Riffle. We further show the end-to-end perfor-mance with the four production jobs in §6.3.Metrics. Shuffle performance is directly reflected inthe reduce task time, since each reduce task needs to firstcollect all the blocks of a certain partition from shufflefiles, before it can start performing any operations. Toshow the performance improvement of Riffle, we focuson measuring (i) task, stage, and job completion time,

9

26

Page 27: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Reduction in shuffle I/O requests

• Riffle reduces # of I/O requests by 5--10x for medium / large scale jobs

JRb1 JRb2 JRb30

5

10

15

20

6Ku

IIOe

I2 5

eque

sts

/ 106

1R 0erJe 512K 10 20 40

JRb4 0

200

400

600

800

27

Page 28: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Savings in end-to-end job completion time

• Map stage time is almost not affected (with best-effort merge)• Reduces job completion time by 20--40% for medium / large jobs

JoE1 JoE2 JoE30

50

100

TotD

l TDs

N E

xecu

tion

Tim

e / D

Dys

1o 0erJe 512K 10 20 40

JoE4 0

400

800

1200

28

Tim

e / C

PU D

ays

Page 29: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Part I Conclusion

• Shuffle I/O becomes scaling bottleneck for multi-stage jobs

• Efficiently schedule merge operations, mitigate merge stragglers

• Riffle is deployed for Facebook’s production jobs processing PBs of data29

merge request

JoE1 JoE2 JoE30

50

100

TotD

l TDs

N E

xecu

tion

Tim

e / D

Dys

1o 0erJe 512K 10 20 40

JoE4 0

400

800

1200

Page 30: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Live Video Analytics at Scale with Approximation and Delay-Tolerance

Haoyu Zhang, Ganesh Ananthanarayanan, Peter Bodik, Matthai Philipose, Paramvir Bahl, Michael J. Freedman

USENIX Symposium on Networked Systems Design and Implementation (NSDI ’17)

Page 31: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Intelligent Traffic System AMBER Alert

Electronic Toll Collection

31

Video Doorbell

Video analytics queries

31

Page 32: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

transformcount object

transformtrack object

transformdecode

transformdetect object

Video query: a pipeline of transforms

• Example: traffic counter pipeline

32

Page 33: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Video queries are expensive in resource usage

transformcount object

transformtrack object

transformdecode

transformb/g subtractExpen

sive

• When processing thousands of video streams in multi-tenant clusters• How to reduce processing cost of a query?• How to manage resources efficiently across queries?

33

• Example: traffic counter pipeline

Page 34: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Vision algorithms are intrinsically approximate

• License plate reader → window size• Car tracker → mapping metric• Object classifier → DNN model

• Query configuration: a combination of knob values

Frame Rate Resolution Window Size Mapping Metric

• Knobs: parameters / implementation choices for transforms

34

Page 35: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Knobs impact quality and resource usage

Frame Rate Resolution

720p3

1 480p

Quality=0.93, CPU=0.54

Quality=0.57, CPU=0.0935

Page 36: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Tuning the knobs all together

• Orders of magnitude cheaper resource demand for little quality drop

• No analytical models to predict resource-quality tradeoff• Different from approximate SQL queries

0

0.2

0.4

0.6

0.8

0.01 0.1 1 10 100 1000

Qua

lity

of R

esul

t

Resource Demand [CPU cores, log scale]

License Plate Reader

36

Page 37: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Diverse quality and lag requirements

Quality?

Lag?

High

Hours

Moderate

Few Seconds

High

Few Seconds

Intelligent Traffic AMBER AlertToll Collection

Lag: time difference between frame arrival and frame processing

37

Page 38: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Decide configuration and resource allocation to maximize quality and minimize lag

within the resource capacity

Configuration . Quality

LagResource Allocation .

Goal

38

Page 39: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Video analytics framework: Challenges

1. Many knobs → large configuration space• No known analytical models to predict quality and resource impact

2. Diverse requirements on quality and lag• Hard to configure and allocate resources jointly across queries

Configuration . Quality

LagResource Allocation .

39

Page 40: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

VideoStorm: Solution Overview

Profilerquery Schedulerresource-quality

profile

utility function

offline online

WorkersBuilds model

Reduces configspace

Trades off quality and lag across queries

40

Page 41: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Offline: query profiling

• Profile: configuration ⟹ resource, quality• Ground-truth: labeled dataset or results from golden configuration• Explore configuration space, compute average resource and quality

0

0.2

0.4

0.6

0.8

0.01 0.1 1 10 100 1000

Qua

lity

of R

esul

t

Resource Demand [CPU cores, log scale]

more efficient

high

er q

ualit

y ⨂ is strictly better than⨂ in quality and resource efficiency

41

Page 42: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Offline: Pareto boundary of configuration space

• Pareto boundary: optimal configurations in resource efficiency and quality

• Cannot further increase one without reducing the other

• Orders of magnitude reduction in config. search space for scheduling

0

0.2

0.4

0.6

0.8

0.01 0.1 1 10 100 1000

Qu

ality

of

Re

su

lt

Resource Demand [CPU cores, log scale]

more efficient

high

er q

ualit

y Pareto optimal

42

Page 43: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

VideoStorm: Solution Overview

Profilerquery Schedulerresource-quality

profile

utility function

offline online

Workers

43

Page 44: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Online: utility function and scheduling

• Utility function: encode goals and sensitivities of quality and lag• Users set required quality and tolerable lag• Reward additional quality, penalize higher lag

• Schedule for two natural goals• Maximize the minimum utility – (max-min) fairness• Maximize the total utility – overall performance

• Allow lag accumulation during resource shortage, then catch up

higher quality

higher lag

44

Page 45: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

VideoStorm Evaluation Setup

VideoStorm ManagerProfiler + Scheduler

100 Worker Machines

• Platform:• Microsoft Azure cluster• Each worker contains 4 cores

of the 2.4GHz Intel Xeon processor and 14GB RAM

• Four types of vision queries:• license plate reader• car counter• DNN classifier• object tracker

45

Page 46: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Experiment Video Datasets

• Operational traffic cameras in Bellevue and Seattle

• 14–30 frames per second, 240P–1080P resolution

46

Page 47: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Resource allocation during burst of queries

• Start with 300 queries:① Lag Goal=300s, Low-Quality 60%② Lag Goal=20s, Low-Quality 40%

• Burst of 150 seconds (50 – 200):③ 200 LPR queries (AMBER Alert)Lag Goal=20s, High-Quality

• VideoStorm scheduler:③ dominate resource allocationrun ② with lower qualitysignificantly delay ①All meet quality and lag goals

0 50 100 150 200 250TLPH (sHcoQGs)

0.0

0.2

0.4

0.6

0.8

1.0

6haUH of C

lustHU C38s Lag Goal 300s Lag Goal 20s HLgh-4ualLty, Lag Goal 20s

0.60.70.80.91.0

4ualLty

Lag Goal 300s Lag Goal 20s HLgh-4ualLty, Lag Goal 20s

0 50 100 150 200 2507LmH (sHcoQGs)

020406080100120

Lag (sHc)

0 50 100 150 200 250TLPH (sHcoQGs)

0.0

0.2

0.4

0.6

0.8

1.0

6haUH of C

lustHU C38s Lag Goal 300s Lag Goal 20s HLgh-4ualLty, Lag Goal 20s

0.60.70.80.91.0

4ualLty

Lag Goal 300s Lag Goal 20s HLgh-4ualLty, Lag Goal 20s

0 50 100 150 200 2507LmH (sHcoQGs)

020406080100120

Lag (sHc)

47

Page 48: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Resource allocation during burst of queries

• Start with 300 queries:① Lag Goal=300s, low-quality ~60%② Lag Goal=20s, low-quality ~40%

• Burst of 150 seconds (50 – 200):③ 200 LPR queries (AMBER Alert)High-Quality, Lag Goal=20s

• VideoStorm scheduler:③ dominate resource allocationsignificantly delay ①run ② with lower qualityAll meet quality and lag goals

0 50 100 150 200 250TLPH (sHcoQGs)

0.0

0.2

0.4

0.6

0.8

1.0

6haUH of C

lustHU C38s Lag Goal 300s Lag Goal 20s HLgh-4ualLty, Lag Goal 20s

0.60.70.80.91.0

4ualLty

Lag Goal 300s Lag Goal 20s HLgh-4ualLty, Lag Goal 20s

0 50 100 150 200 2507LmH (sHcoQGs)

020406080100120

Lag (sHc)

• Compare to a fair scheduler with varying burst duration:• Quality improvement: up to 80%• Lag reduction: up to 7x

48

Page 49: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

VideoStorm Scalability

• Frequently reschedule and reconfigure in reaction to changes of queries

• Even with thousands of queries, VideoStorm makes rescheduling decisions in just a few seconds

1 4

6Q

1 0 Q

49

Page 50: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Related Work

• Video query optimization• Optasia [SoCC ’16], NoScope [VLDB ’17], EVA [SysML ’18]• Share common operators and reuse results from different queries

• Video systems on cloud-edge architecture• Vigil [MobiCom ’15], Firework [TPDS ’18], Chameleon [SIGCOMM ’18]• Placing tasks / operators of a processing pipeline to different locations

50

Page 51: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Part II Conclusion

• VideoStorm explores quality-resource-lag tradeoff in video queries

• Offline profiler: efficient estimates resource-quality profiles• Online scheduler: optimizes jointly for quality and lag of queries

• Significant improvement in achieved quality and lag

51

0 50 100 150 200 250TLPH (sHcoQGs)

0.0

0.2

0.4

0.6

0.8

1.0

6haUH of C

lustHU C38s Lag Goal 300s Lag Goal 20s HLgh-4ualLty, Lag Goal 20s

0

0.2

0.4

0.6

0.8

0.01 0.1 1 10 100 1000

qualit

y, F

1 s

core

resource demand [CPU cores, log scale]

Page 52: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Deployment at Bellevue

Traffic Department

52https://vavz.azurewebsites.net

Page 53: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

SLAQ: Quality-Driven Scheduling for Distributed Machine Learning

Haoyu Zhang*, Logan Stafman*, Andrew Or, Michael J. FreedmanACM Symposium on Cloud Computing (SoCC ’17)

! Best Paper Award

Page 54: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

ML algorithms are approximate

• ML model: a parametric transformation

! "#$

54

Page 55: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

ML algorithms are approximate

• ML model: a parametric transformation

• maps input variables ! to output variables "• typically contains a set of parameters #• Loss function: discrepancy of model output and ground truth

• Quality: how well model maps input to the correct output

! "$%

55

Page 56: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Training ML models: an iterative process

• Training algorithms iteratively minimize a loss function• E.g., stochastic gradient descent (SGD), L-BFGS

56

WorkerWorker

Update Model

JobWorker

Data Shards

Model Replica !"#Model !"

Tasks

Send Task

Page 57: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Training ML models: an iterative process

• Quality improvement is subject to diminishing returns• More than 80% of work done in 20% of time

0 20 40 60 80 100CuPulDtLve TLPe %

020406080

100

LRVV

Red

uctLR

n %

LRgReg6V0

LDA0LPC

57

Page 58: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Exploratory ML training: not a one-time effort

• Train model multiple times for exploratory purposes• Provide early feedback, direct model search to high quality models

Collect Data

Extract Features

Train ML Models

Adjust Feature Space

Tune Hyperparameters

Restructure Models

58

Page 59: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

How to schedule multiple training jobs on shared cluster?

• Problems with resource fairness scheduling• Jobs in early stage: could benefit a lot from additional resources• Jobs almost converged: make only marginal improvement

59

Diminishing ReturnsApproximate Exploratory

Page 60: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

SLAQ: quality-aware scheduling

• Intuition: in exploratory ML training, more resources should be allocated to jobs that have the most potential for quality improvement

0 50 100 150 200 250 TLme0.00.20.40.60.81.0

AFF

uraF

y

4ualLty-Aware FaLr 5esRurFe

0.00.61.21.82.43.0

LRss

0 50 100 150 200 250 TLme0.00.20.40.60.81.0

AFF

uraF

y

4ualLty-Aware FaLr 5esRurFe

0.00.61.21.82.43.0

LRss

0 50 100 150 200 250 TLme0.00.20.40.60.81.0

AFF

uraF

y

4ualLty-Aware FaLr 5esRurFe

0.00.61.21.82.43.0

LRss

60

Page 61: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Solution Overview

Normalize quality metrics

Predict quality improvement

Quality-driven scheduling

61

Page 62: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Universal quality measurement metric

62

• Accuracy?• Precision, F1 Score, Area Under Curve, …✘ Not applicable to non-classification models

• Loss function values?• Square loss, smoothed hinge loss, logistic loss, cross entropy loss, …✘ Do not have comparable magnitudes or known ranges

• Reduction of loss values (∆Loss)✓ Always decrease to 0 as the loss function value converges

Page 63: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Normalizing quality metrics

• Quality: normalized change of loss values w.r.t. largest change so far

• Currently does not support some non-convex optimization algorithms

0 30 60 90 120IterDtLRn

−0.20.00.20.40.60.81.0

1Rr

PDl

LzeG

∆LR

VV .-0eDnVLRgReg690

6903RlyGBTGBTReg

0L3CLDALLnReg

63

Page 64: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Training iterations: loss prediction

• Previous work: offline profiling / analysis [Ernest NSDI 16] [CherryPick NSDI 17]

• Overhead for frequent offline analysis is huge

• Strawman: use last ∆Loss as prediction for future ∆Loss

• SLAQ: online prediction using weighted curve fitting

LDAG%7

LLn5eg6V0

0L3CLRg5eg

6V03Rly10-4

10-3

10-2

10-1

100

3re

GLcW

LRn

Err

Rr %

0.10.0

0.40.41.1

0.2

1.20.6

4.84.7 6.14.3

52.5

3.6

6WrDwPDn WeLghWeG Curve

64

Page 65: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Scheduling approximate ML training jobs

• Predict how much quality can be improved when assign X workers to jobs• Reallocate workers to maximize quality improvement

WorkerJob #1

Job #2

Job #3

Scheduler

1

Worker3

Worker2

Worker3

3

2

1

1

PredictionResource Allocation

65

Page 66: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Experiment setup

• Representative mix of training jobs with• Compare against a work-conserving fair scheduler

Algorithm Acronym Type Optimization Algorithm Dataset

K-Means K-Means Clustering Lloyd Algorithm SyntheticLogistic Regression LogReg Classification Gradient Descent Epsilon [33]Support Vector Machine SVM Classification Gradient Descent EpsilonSVM (polynomial kernel) SVMPoly Classification Gradient Descent MNIST [34]Gradient Boosted Tree GBT Classification Gradient Boosting EpsilonGBT Regression GBTReg Regression Gradient Boosting YearPredictionMSD [35]Multi-Layer Perceptron Classifier MLPC Classification L-BFGS EpsilonLatent Dirichlet Allocation LDA Clustering EM / Online Algorithm Associated Press Corpus [36]Linear Regression LinReg Regression L-BFGS YearPredictionMSD

Table 1: Summary of ML algorithms, types, and the optimizers and datasets we used for testing.

4.2 Measuring and Predicting Loss

After unifying the quality metrics for different jobs,we proceed to allocate resources for global quality im-provement. When making a scheduling decision for agiven job, SLAQ needs to know how much loss reductionthe job would achieve by the next epoch if it was granteda certain amount of resources. We derive this informa-tion by predicting (i) how many iterations the job willhave completed by the next epoch (§4.2.1), and (ii) howmuch progress (i.e., loss reduction) the job could makewithin these iterations (§4.2.2).

Prediction for iterative ML training jobs is differentfrom general big-data analytics jobs. Previous work [15,38] estimates job’s runtime on some given cluster re-sources by analyzing the job computation and communi-cation structure, using offline analysis or code profiling.As the computation and communication pattern changesduring ML model configuration tuning, the process ofoffline analysis needs to be performed every time, thusincurring significant overhead. ML prediction is alsodifferent from the estimations to approximate analyticalSQL queries [16, 17] where the resulting accuracy can bedirectly inferred with the sampling rate and analytics be-ing performed. For iterative ML training jobs, we need tomake online predictions for the runtime and intermediatequality changes for each iteration.

4.2.1 Runtime Prediction

SLAQ is designed to work with distributed ML trainingjobs running on batch-processing computational frame-works like Spark and MapReduce. The underlyingframeworks help achieve data parallelization for trainingML models: the training dataset is large and gets parti-tioned on multiple worker nodes, and the size of mod-els (i.e., set of parameters) is comparably much smaller.The model parameters are updated by the workers, ag-gregated in the job driver, and disseminated back to theworkers in the next iteration.

SLAQ’s fine-grained scheduler resizes the set of work-ers for ML jobs frequently, and we need to predict the it-eration of each job’s iteration, even while the number and

set of workers available to that job is dynamically chang-ing. Fortunately, the runtime of ML training—at leastfor the set of ML algorithms and model sizes on whichwe focus—is dominated by the computation on the par-titioned datasets. SLAQ considers the total CPU time ofrunning each iteration as c · S, where c is a constant de-termined by the algorithm complexity, and S is the sizeof data processed in an iteration. SLAQ collects the ag-gregate worker CPU time and data size information fromthe job driver, and it is easy to learn the constant c froma history of past iterations. SLAQ thus predicts an itera-tion’s runtime simply by c ·S/N, where N is the numberof worker CPUs allocated to the job.

We use this heuristic for its simplicity and accu-racy (validated through evaluation in §6.3), with the as-sumption that communicating updates and synchroniz-ing models does not become a bottleneck. Even withmodels larger than hundreds of MBs (e.g., Deep Neu-ral Networks), many ML frameworks could significantlyreduce the network traffic with model parallelism [39] orby training with relaxed model consistency with boundedstaleness [40], as discussed in §7. Advanced runtime pre-diction models [41] can also be plugged into SLAQ.

4.2.2 Loss Prediction

Iterations in some ML jobs may be on the order of10s–100s of milliseconds, while SLAQ only schedules onthe order of 100s of milliseconds to a few seconds. Per-forming scheduling on smaller intervals would be dis-proportionally expensive due to scheduling overhead andlack of meaningful quality changes. Further, as disparatejobs have different iteration periods, and these periodsare not aligned, it does not make sense to try to scheduleat “every” iteration of the jobs.

Instead, with runtime prediction, SLAQ knows howmany iterations a job could complete in the givenscheduling epoch. To understand how much quality im-provement the job could get, we also need to predict theloss reduction in the following several iterations.

A strawman solution is to directly use the loss reduc-tion obtained from the last iteration as the predicted lossreduction value for the following several iterations. This

66

Page 67: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Evaluation: cluster-wide quality and time

• SLAQ’s average loss is 73% lower than that of the fair scheduler

0 100 200 300 400 500 600 700 8007Lme (seFRQds)

0.000.050.100.150.20

LRss

)aLr 5esRurFe 6LA4

80 85 90 95 100LRss 5eduFtLRQ %

102040

100200

TLm

e (s

eFRQ

ds) )aLr 5esRurFe SLA4

• SLAQ reduces time to reach 90% (95%) loss reduction by 45% (30%)

Quality

Time

67

Page 68: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Part III Conclusion

• SLAQ leverages the approximate and iterative ML training process

• Highly tailored prediction for iterative job quality• Allocate resources to maximize quality improvement

• SLAQ achieves better overall quality and end-to-end training time68

LDAG%7

LLn5eg6V0

0L3CLRg5eg

6V03Rly10-4

10-3

10-2

10-1

100

3re

GLcW

LRn

Err

Rr %

0.10.0

0.40.41.1

0.2

1.20.6

4.84.7 6.14.3

52.5

3.6

6WrDwPDn WeLghWeG Curve

0 100 200 300 400 500 600 700 8007Lme (seFRQds)

0.000.050.100.150.20

LRss

)aLr 5esRurFe 6LA4

Page 69: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Conclusion

69

Data

Batch

Complexity Resource

Video Machine Learning

Page 70: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Research Summary

• Resource management for advanced data analytics• Live Video Analytics at Scale with Approximation and Delay-Tolerance [NSDI ’17]• SLAQ: Quality-Driven Scheduling in Distributed Machine Learning [SoCC ’17 !][SysML ’18]• Riffle: Optimized Shuffle Service for Large-Scale Data Analytics [EuroSys ’18]

• Network-assisted system acceleration• NetCache: Balancing Key-Value Stores with Fast In-Network Caching [SOSP ’17]• NetChain: Scale-Free Sub-RTT Coordination [NSDI ’18 !]

• SDN fault tolerance• Ravana: Controller Fault-Tolerance in Software-Defined Networks [SOSR ’15]

70

Page 71: Resource Management for Advanced Data Analytics at Large Scale · Resource Management for Advanced Data Analytics at Large Scale Final Public Oral HaoyuZhang Committee: Mike Freedman

Thanks!

Haoyu Zhanghttp://www.haoyuzhang.org