exploiting inter flow relationship for coflow placement
play

Exploiting Inter-Flow Relationship for Coflow Placement in Data - PowerPoint PPT Presentation

Exploiting Inter-Flow Relationship for Coflow Placement in Data Centers Xin Sunny Huang , T. S. Eugene Ng Rice University 1 This Work Optimizing Coflow performance has many benefits such as avoiding application straggles [1,2] and improving


  1. Exploiting Inter-Flow Relationship for Coflow Placement in Data Centers Xin Sunny Huang , T. S. Eugene Ng Rice University 1

  2. This Work • Optimizing Coflow performance has many benefits such as avoiding application straggles [1,2] and improving resource utilization [3,4] . • Coflow placement is an unexplored, important factor to determine Coflow performance. • 2D-Placement leverages inter-flow relationship to find good placement for Coflows. [1] Orchestra (SIGCOMM ’11). [2] Varys (SIGCOMM ’14). [3] CARBYNE (OSDI ‘16). [4] YARN-ME (memory elasticity, in ATC ’17) 2

  3. Coflow • Coflow [1] : A set of parallel flows. • Produced by distributed applications (e.g. Hadoop & Spark). • Performance is measured by Coflow Completion Time (CCT), i.e. the slowest flow’s completion time. Coflow #1 Coflow #2 Coflow #3 (shuffle) (broadcast) (aggregation) [1] Chowdhury, M. et al. Coflow: An application layer abstraction for cluster networking. (HotNets’12) 3

  4. Coflow Scheduling • Prior works demonstrate benefits of Coflow scheduling. • Limitation : Assume predetermined placement for Coflows, i.e. predetermined sender/receiver locations. Existing 1 1 2 2 3 3 . . . . . . N-1 N-1 N N Varys (SIGCOMM ’14), Aalo (SIGCOMM ’15), CODA (SIGCOMM ’16) and Sunflow (CoNEXT ’16), etc. 4

  5. Coflow Scheduling • Prior works demonstrate benefits of Coflow scheduling. • Limitation : Assume predetermined placement for Coflows, i.e. predetermined sender/receiver locations. Existing 1 1 1 1 2 2 2 2 3 3 3 3 . . . . . . . . Newly arriving . . . . N-1 N-1 N-1 N-1 N N N N Varys (SIGCOMM ’14), Aalo (SIGCOMM ’15), CODA (SIGCOMM ’16) and Sunflow (CoNEXT ’16), etc. 5

  6. Coflow Placement • Coflow placement can be flexible (e.g. cluster scheduler to choose machines for tasks in a stage). • Placement and scheduling decide Coflow performance. 1 1 2 2 3 3 . . . . . . N-1 N-1 N N 6

  7. Coflow Placement • Coflow placement can be flexible (e.g. cluster scheduler to choose machines for tasks in a stage). • Placement and scheduling decide Coflow performance. 1 1 1 1 2 2 2 2 3 3 3 3 . . . . . . . . . . . . N-1 N-1 N-1 N-1 N N N N 7

  8. Coflow Placement • Coflow placement can be flexible (e.g. cluster scheduler to choose machines for tasks in a stage). • Placement and scheduling decide Coflow performance. 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . N-1 N-1 N-1 N-1 N-1 N-1 N N N N N N 8

  9. Coflow Placement • Coflow placement can be flexible (e.g. cluster scheduler to choose machines for tasks in a stage). • Placement and scheduling decide Coflow performance. 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . N-1 N-1 N-1 N-1 N-1 N-1 N N N N N N 9

  10. Coflow Placement • Coflow placement can be flexible (e.g. cluster scheduler to choose machines for tasks in a stage). • Placement and scheduling decide Coflow performance. Finding input/output ports to 1 1 1 1 1 1 place sender/receiver tasks for 2 2 2 2 2 2 a newly arrival Coflow 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . N-1 N-1 N-1 N-1 N-1 N-1 N N N N N N 10

  11. Coflow Placement This work: good placement under • Coflow placement can be flexible (e.g. cluster scheduler optimal scheduling to choose machines for tasks in a stage). • Placement and scheduling decide Coflow performance. Finding input/output ports to 1 1 1 1 1 1 place sender/receiver tasks for 2 2 2 2 2 2 a newly arrival Coflow 3 3 3 3 3 3 . . . . . . . . . . . . . . . . . . N-1 N-1 N-1 N-1 N-1 N-1 N N N N N N 11

  12. Coflow Placement Constrained by Inter-Flow Relationship • Within a Coflow, flows’ placement are dependent. 12

  13. Coflow Placement Constrained by Inter-Flow Relationship • Within a Coflow, flows’ placement are dependent. 13

  14. Coflow Placement Constrained by Inter-Flow Relationship • Within a Coflow, flows’ placement are dependent. 14

  15. Coflow Placement Constrained by Inter-Flow Relationship • Within a Coflow, flows’ placement are dependent. 15

  16. Coflow Placement Constrained by Inter-Flow Relationship • Within a Coflow, flows’ placement are dependent. 16

  17. Challenge #1: Intra-Coflow Bottleneck Delay 1 1 s 1 30 2 2 2 2 r 1 30 How to place? 2 s 2 2 3 3 30 2 r 2 4 4 s 3 50 Network with C 1 C 2 in.1 s 1 30 2 2 s 2 30 3 2 2 s 3 30 50 4 2 2 r 1 r 2 out.1 2 3 4 17

  18. Challenge #1: Intra-Coflow Bottleneck Delay 1 1 s 1 30 2 2 2 2 r 1 30 How to place? 2 s 2 2 3 3 30 2 r 2 4 4 s 3 50 Only consider C 2 : Network with C 1 C 2 C 1 is prioritized under in.1 optimal scheduling, s 1 30 2 2 and thus C 1 is not s 2 30 3 sensitive to C 2 . 2 2 s 3 30 50 4 2 2 r 1 r 2 out.1 2 3 4 18

  19. Challenge #1: Intra-Coflow Bottleneck Delay Network with C 1 Optimal C 2 in.1 in.1 50 30 2 s 1 2 2 30 30 2 How to place? 3 s 2 3 30 2 2 30 2 2 4 s 3 4 30 50 2 2 2 2 r 1 r 2 out.1 2 3 4 out.1 2 3 4 out.1, out.2, out.3: Place r 1 at less Bottleneck at r 1 less bandwidth busy port out.4 19

  20. Challenge #2: Inter-Coflow Bottleneck Contentions Optimal C 3 in.1 in.1 50 30 50 30 s 1 20 2 2 2 30 2 30 How to place? s 2 20 3 3 2 2 30 2 2 30 s 3 20 4 4 2 2 2 2 r 1 out.1 2 3 4 out.1 2 3 4 In-cast Place r 1 at less in.1, out.3, out.4: bottleneck at r 1 busy port out.1 heavily delay C 2 (priority: C 1 >C 3 >C 2 ) 20

  21. Summary: Keys to Coflow Placement Intra-Coflow Inter-Coflow Avoid delaying critical Avoid contentions among endpoints (bottleneck) critical endpoints. 21

  22. 2D-Placement Intra-Coflow Inter-Coflow Step 1: Calculate endpoint demand Identify critical endpoints that require better placement. 22

  23. 2D-Placement Intra-Coflow Inter-Coflow Step 2: Calculate load on ports Step 1: Calculate endpoint demand Identify critical Find ports with less endpoints that require contentions. better placement. 23

  24. 2D-Placement Intra-Coflow Inter-Coflow Step 2: Calculate load on ports Step 1: Calculate endpoint demand Identify critical Find ports with less endpoints that require contentions. better placement. Avoid contentions on critical endpoints. Step 3: Place heavily loaded endpoints on less loaded ports! 24

  25. 2D-Placement Intra-Coflow Inter-Coflow Network with C 1 C 2 in.1 30 s 1 2 2 s 2 30 3 2 2 30 50 s 3 4 2 2 r 1 r 2 out.1 2 3 4 90 50 25

  26. 2D-Placement Intra-Coflow Inter-Coflow Step 1: Calculate endpoint demand Network with C 1 C 2 in.1 30 s 1 2 2 s 2 30 3 2 2 30 50 s 3 4 2 2 r 1 r 2 out.1 2 3 4 90 50 26

  27. 2D-Placement Intra-Coflow Inter-Coflow Step 2: Calculate load on ports Step 1: Calculate endpoint demand Network with C 1 C 2 0 in.1 30 30 s 1 2 2 2 30 s 2 30 4 3 2 2 80 30 50 s 3 4 4 2 2 r 1 r 2 out.1 2 3 4 90 50 4 4 2 0 27

  28. 2D-Placement Intra-Coflow Inter-Coflow Step 2: Calculate load on ports Step 1: Calculate endpoint demand Network with C 1 C 2 80 0 in.1 30 30 s 1 2 2 2 30 s 2 30 4 3 2 2 80 30 50 s 3 4 4 2 2 r 1 r 2 out.1 2 3 4 90 50 4 4 2 0 Step 3: Place heavily loaded endpoints on less loaded ports! 28

  29. 2D-Placement Intra-Coflow Inter-Coflow Step 2: Calculate load on ports Step 1: Calculate endpoint demand Network with C 1 C 2 80 0 in.1 30 30 s 1 32 2 2 2 30 s 2 30 4 3 2 2 80 30 50 s 3 4 4 2 2 r 1 r 2 out.1 2 3 4 90 50 4 4 2 0 Step 3: Place heavily loaded endpoints on less loaded ports! 29

  30. 2D-Placement Intra-Coflow Inter-Coflow Step 2: Calculate load on ports Step 1: Calculate endpoint demand Network with C 1 C 2 80 0 in.1 30 30 s 1 32 2 2 2 30 s 2 30 4 34 3 2 2 80 30 50 s 3 4 4 2 2 r 1 r 2 out.1 2 3 4 90 50 4 4 2 0 Step 3: Place heavily loaded endpoints on less loaded ports! 30

  31. 2D-Placement Intra-Coflow Inter-Coflow Step 2: Calculate load on ports Step 1: Calculate endpoint demand Network with C 1 C 2 80 0 in.1 30 30 s 1 32 2 2 2 30 s 2 30 4 34 3 2 2 80 30 50 s 3 4 4 2 2 r 1 r 2 out.1 2 3 4 90 50 90 4 4 2 0 Step 3: Place heavily loaded endpoints on less loaded ports! 31

  32. 2D-Placement Intra-Coflow Inter-Coflow Step 2: Calculate load on ports Step 1: Calculate endpoint demand Network with C 1 C 2 80 0 in.1 30 30 s 1 32 2 2 2 30 s 2 30 4 34 3 2 2 80 30 50 s 3 4 4 2 2 r 1 r 2 out.1 2 3 4 90 50 52 90 4 4 2 0 Step 3: Place heavily loaded endpoints on less loaded ports! 32

  33. 2D-Placement Intra-Coflow Inter-Coflow Step 2: Calculate load on ports Step 1: Calculate endpoint demand Network with C 1 C 2 80 0 in.1 50 30 30 30 s 1 32 2 2 2 2 30 30 s 2 30 4 34 3 2 2 2 2 30 80 30 50 s 3 4 4 2 2 2 2 r 1 r 2 out.1 2 3 4 90 50 52 90 4 4 2 0 Step 3: Place heavily loaded endpoints on less loaded ports! 33

Recommend


More recommend