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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend