lecture 19 load balance
play

Lecture 19: Load Balance Abhinav Bhatele, Department of Computer - PowerPoint PPT Presentation

Introduction to Parallel Computing (CMSC498X / CMSC818X) Lecture 19: Load Balance Abhinav Bhatele, Department of Computer Science Announcements Quiz 2: Nov 12 Quiz 3: Dec 3 Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 2


  1. Introduction to Parallel Computing (CMSC498X / CMSC818X) Lecture 19: Load Balance Abhinav Bhatele, Department of Computer Science

  2. Announcements • Quiz 2: Nov 12 • Quiz 3: Dec 3 Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 2

  3. Performance issues • Algorithmic overhead • Speculative loss • Critical paths • Bottlenecks • Sequential performance issues • Load imbalance • Communication performance Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 3

  4. Load imbalance Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 4

  5. Load imbalance • Definition: unequal amounts of “work” assigned to different processes • Work could be computation or communication or both Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 4

  6. Load imbalance • Definition: unequal amounts of “work” assigned to different processes • Work could be computation or communication or both • Why is load imbalance bad? • Overloaded processes can slow down everyone Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 4

  7. Load imbalance • Definition: unequal amounts of “work” assigned to different processes • Work could be computation or communication or both • Why is load imbalance bad? • Overloaded processes can slow down everyone Load imbalance = max _ load avg _ load Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 4

  8. Load balancing • The process of balancing load across threads, processes etc. • Goal: to bring the maximum load close to average as much as possible • Determine if load balancing is needed • Determine when to load balance • Determine what information to gather/use for load balancing Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 5

  9. Is load balancing needed? • Need the distribution of load (“work”) across processes • Collect empirical information using performance tools • Developer knowledge • Analytical models of load distribution Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 6

  10. When to load balance? • Initial work distribution or static load balancing • At program startup • Or sometimes in a separate run to determine load distribution • Dynamic load balancing: does load distribution evolve over time? • During program execution Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 7

  11. Information gathering for load balancing • Centralized load balancing • Gather all load information at one process — global view of data • Distributed load balancing • Every process only knows the load of a constant number of “neighbors” • Hybrid or hierarchical load balancing Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 8

  12. What information is used for load balancing • Computational load • Possibly, communication load (number/sizes of messages) • Communication graph Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 9

  13. Load balancing algorithms • Input: Amount of work ( n i ) assigned to each process p i • Output: New assignments of work units to different processes • Goals: • Bring maximum load close to average • Minimize the amount of load migration • Secondary goals: • Balance (possibly reduce) communication load • Keep the time for doing load balancing short Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 10

  14. Examples of static load balancing • Decomposition of 2D Stencil • Using orthogonal recursive bisection (ORB) http://datagenetics.com/blog/march22013/ https://en.wikipedia.org/wiki/Z-order_curve Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 11

  15. Examples of static load balancing • Decomposition of 2D Stencil • Using orthogonal recursive bisection (ORB) http://datagenetics.com/blog/march22013/ https://en.wikipedia.org/wiki/Z-order_curve Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 11

  16. Examples of static load balancing • Decomposition of 2D Stencil • Using orthogonal recursive bisection (ORB) ORB Space- filling curves http://datagenetics.com/blog/march22013/ http://charm.cs.uiuc.edu/workshops/charmWorkshop2011/slides/CharmWorkshop2011_apps_ChaNGa.pdf https://en.wikipedia.org/wiki/Z-order_curve Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 11

  17. Simple greedy strategy Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 12

  18. Other considerations • Communication-aware load balancing • Network topology-aware load balancing Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 13

  19. Hierarchical load balancing Token Object 0 Refinement load balancing Load Data 0 1024 63488 64512 Load Data 0 1023 1024 2047 63488 64511 64512 65535 Greedy load balancing Abhinav Bhatele (CMSC498X/CMSC818X) LIVE RECORDING 14

  20. Abhinav Bhatele 5218 Brendan Iribe Center (IRB) / College Park, MD 20742 phone: 301.405.4507 / e-mail: bhatele@cs.umd.edu

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