AlloX : Compute Allocation in Hybrid Clusters Tan N. Le Xiao Sun - - PowerPoint PPT Presentation

allox compute allocation in hybrid clusters
SMART_READER_LITE
LIVE PREVIEW

AlloX : Compute Allocation in Hybrid Clusters Tan N. Le Xiao Sun - - PowerPoint PPT Presentation

<EURO/SYS20> AlloX : Compute Allocation in Hybrid Clusters Tan N. Le Xiao Sun Mosharaf Chowdhury Zhenhua Liu tnle@cs.stonybrook.edu 1 Resource Allocation in Clusters 99 % Fairness Performance Utilization 2 Resource


slide-1
SLIDE 1

AlloX: Compute Allocation in Hybrid Clusters

1

Tan N. Le Xiao Sun Mosharaf Chowdhury Zhenhua Liu

<EURO/SYS’20>

tnle@cs.stonybrook.edu

slide-2
SLIDE 2

2

Resource Allocation in Clusters

Performance Fairness Utilization 99 %

slide-3
SLIDE 3

3

Single Resource Multiple Resources

Interchangeable Traditional

DRF (nsdi’11), Carbyne (osdi’16) HUG (nsdi’16)

Time Space

TetriSched (eurosys’16)

Resource Allocation Design Space

CPU Sharing Memory Sharing

Deadlines Performance & Fairness AlloX

slide-4
SLIDE 4

Interchangeability in Resources

4

Same applications run on different resource types Tensorflow, Caffe, Pytorch, Matlab CPU GPU CNNLab, PaddlePaddle FPGA GPU Tensorflow CPU GPU TPU Modern Frameworks support Interchangeability

https://github.com/PaddlePaddle/Paddle https://github.com/cnnlabs

slide-5
SLIDE 5

Heterogeneity in hybrid CPU/GPU Clusters

Traditional nodes Expensive GPUs

Intel E5 2.4Ghz CPU vs. Nvidia K80 GPU

5

Speed-up rates are distinct

slide-6
SLIDE 6

Overload if most users prefer GPUs

Expensive GPUs are overloaded while CPUs are under-utilized

6

Microsoft Azure

Let’s explore some solutions

slide-7
SLIDE 7

Join the Shortest Queue (JSQ)

JSQ Processing times (GPU, CPU) JSQ does not consider processing times J1 (40, 50) J2 (30, 40) J3 (35, 150) J4 (50, 160)

GPU2 CPU1

Optimal

GPU1 GPU2

  • 69% makespan

GPU1 CPU2 CPU1 CPU2

7

  • 54% avg. compl. time
slide-8
SLIDE 8

Shortest Job First (SJF)

SJF SJF does not consider speed-up rates Processing times (GPU, CPU) J1 (10, 20) J2 (15, 25) J3 (20, 100) J4 (20, 90)

CPU1 CPU2

Optimal

GPU1 GPU2

  • 75% makespan

GPU1 GPU2 CPU1 CPU2

8

  • 60% avg. compl. time
slide-9
SLIDE 9

AlloX – Minimize Avg. Completion Time

9

Convert the scheduling & placement J1 J2 J3 J? (C1) J?(C2) J? (C3) CPU J?(G1) J? (G2) J? (G3) GPU Jobs J1 J2 J3 G1 C1 G2 C2 G3 C3 solved in polynomial time into min-cost bipartite matching

slide-10
SLIDE 10

AlloX – Maintains Fairness for interchangeable resources

10

User A may not be happy if we keep putting him on CPU. F-1 F-2 CPU GPU User 1 Idea: Prioritize users with low fairness scores F who run jobs on the unfavorable resources User 2 F-1 > F-2 F-1 < F-2

slide-11
SLIDE 11

AlloX System

CPU configuration GPU configuration Kubernetes Estimation Tool Scheduler kubectl CPUs GPUs Resource Placer Configure a job to run on CPU or GPU kubelet Fairness: Pick the set of users with least fair scores Sample the jobs Estimate the processing times Scheduling: Decide to place jobs on CPUs or GPUs. Jobs Placement constraints Processing times

11

slide-12
SLIDE 12

Performance of AlloX

AlloX reduces up to 95% avg. completion time

×10!

  • Avg. completion time (mins)

1 2 3 DRF ES AlloX 2968 97 SRPT 1149

DRF: Dominant Resource Fairness + FIFO Resource configurations are fixed ES: Equal Share + SJF Keep filling the available resources SRPT: Shortest Remaining Processing Time Impractical switching between CPU&GPU

139

TensorFlow CNN benchmarks

12

slide-13
SLIDE 13

AlloX: Compute Allocation in Hybrid Clusters

13

Tan N. Le Xiao Sun Mosharaf Chowdhury Zhenhua Liu

<EURO/SYS’20>

tnle@cs.stonybrook.edu