parallel programming and high performance computing
play

Parallel Programming and High-Performance Computing Part 6: Dynamic - PowerPoint PPT Presentation

Technische Universitt Mnchen Parallel Programming and High-Performance Computing Part 6: Dynamic Load Balancing Dr. Ralf-Peter Mundani CeSIM / IGSSE Technische Universitt Mnchen 6 Dynamic Load Balancing Overview definitions


  1. Technische Universität München Parallel Programming and High-Performance Computing Part 6: Dynamic Load Balancing Dr. Ralf-Peter Mundani CeSIM / IGSSE

  2. Technische Universität München 6 Dynamic Load Balancing Overview • definitions • examples of load balancing strategies • space filling curves • swarm intelligence Computers make it easier to do a lot of things, but most of the things they make it easier to do don’t need to be done. —Andy Rooney 6 − 2 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  3. Technische Universität München 6 Dynamic Load Balancing Definitions • motivation – central issue: fairly distribution of computations across all processors / nodes in order to optimise • run time (user’s point of view) • system load (computing centre’s point of view) – so far, division of a problem into a fixed number of processes to be executed in parallel – problem • amount of work is often not known prior to execution • load situation changes permanently (adaptive mesh refinement within numerical simulations, I / O, searches, … ) • different processor speeds (heterogeneous systems, e. g.) • different latencies for communication (grid computing, e. g.) – objective: load distribution or load balancing strategies 6 − 3 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  4. Technische Universität München 6 Dynamic Load Balancing Definitions • static load balancing – to be applied before the execution of any process (in contrast to dynamic load balancing to be applied during the execution) – usually referred to as mapping problem or scheduling problem – potential static load-balancing techniques • round robin : assigning tasks (more general formulation than work to cover both data and function parallelism) in sequential order to processes coming back to the first when all processes have been given a task • randomised : selecting processes at random to assign tasks • recursive bisection : recursive division of problems into smaller subproblems of equal computational effort with less communication costs • genetic algorithm : finding an optimal distribution of tasks according to a given objective function 6 − 4 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  5. Technische Universität München 6 Dynamic Load Balancing Definitions • static load balancing (cont’d) – mapping should reflect communication pattern of processes in case of static network topologies when assigning tasks, i. e. short communication paths between processors / nodes to be preferred ( � NP-complete problem) – missing knowledge about execution times of various parts of a program might lead to very inaccurate mappings – communication delays that vary under different circumstances are difficult to incorporate with static load balancing – algorithms might have an indeterminate number of steps to reach their solutions (traversing a graph in search algorithms, e. g.) – hence, different approaches needed to overcome the mentioned problems 6 − 5 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  6. Technische Universität München 6 Dynamic Load Balancing Definitions • dynamic load balancing – division of tasks dependent upon the execution of parts of the program as they are being executed � entails additional overhead (to be kept as small as possible, else bureaucracy wins) – assignment of tasks to processes can be classified as • centralised – tasks are handed out from a centralised location – within a master-slave structure one dedicated master process directly controls each of a set of slave processes • decentralised – tasks are passed between arbitrary processes – worker processes operate upon the problem and interact among themselves � a worker process may receive tasks from other or may send tasks to other worker processes 6 − 6 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  7. Technische Universität München 6 Dynamic Load Balancing Definitions • centralised dynamic load balancing – example: work pool • master process holds a collection of tasks to be performed by the slave processes • tasks are sent ( ) to slave processes • when a task is completed, a slave process requests ( ) another task from the master process • all slaves are the same ( replicated worker ), but specialised slaves capable of performing certain tasks are also possible work pool slave queue with tasks queue with tasks … master slave 6 − 7 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  8. Technische Universität München 6 Dynamic Load Balancing Definitions • centralised dynamic load balancing (cont’d) – work pool techniques can also be readily applied when • tasks are quite different and of different size (in general, it is best to hand out larger tasks first to prevent idle waiting) • amount of tasks may change during execution, i. e. execution of one task might generate new tasks (to be submitted to the master) – computation terminates if both of the following are satisfied 1) task queue is empty 2) every process made a request for another task without any new tasks being generated (even if (1) is true a still running process may provide new tasks for the task queue) – a slave may detect the program termination condition by some local termination condition (searches, e. g.), hence it has to send a termination message to the master for closing down all others 6 − 8 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  9. Technische Universität München 6 Dynamic Load Balancing Definitions • decentralised dynamic load balancing – example: distributed work pool • drawback of centralised model: master might become bottleneck in case of too many slaves • hence, work pool is distributed among several masters • each master controls one group of slaves • several layers of decomposition possible � building up a tree hierarchy with tasks being passed downwards and requests / messages being passed upwards M 0 … M 1 M N 6 − 9 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  10. Technische Universität München 6 Dynamic Load Balancing Definitions • decentralised dynamic load balancing (cont’d) – example: fully distributed work pool • once tasks are (initially) distributed among processes (that moreover are able to generate new tasks), all processes can execute tasks from each other • tasks could be transferred by a – receiver-initiated method : a process that has only few or no tasks to perform requests tasks from other processes it selects (works well at high system loads) – sender-initiated method : a process with heavy load sends tasks to other processes it selects and that are willing to accept them (works well at light overall system loads) • in general, avoid passing on the same task that is received • which one to prefer, what kind of flaws do they have? 6 − 10 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  11. Technische Universität München 6 Dynamic Load Balancing Definitions • load models – decisions of any strategy about passing / requesting tasks are based on the local load – problem: measurement of the load – reliable load models are based upon load indices • simple and composite load indices (one or more quantities) • might refer to different functional units (CPU, bus, memory, … ) • snapshot or integrated or averaged quantities • stochastic quantities to reflect external influences – properties of a good load index • precisely reflects the target quantity at present • allows for accurate predictions concerning the future • smoothing behaviour to compensate peaks • based upon some simple formula, easy to compute 6 − 11 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

  12. Technische Universität München 6 Dynamic Load Balancing Definitions • termination detection – recognising that computation has come to an end can be a significant problem in decentralised dynamic load balancing – distributed termination at time T requires the following conditions to be satisfied (B ERTSEKAS and T SITSIKLIS , 1989) 1) application-specific local termination conditions exist throughout the collection of processes at time T 2) no messages are in transit between processes at time T – difference to centralised termination conditions: taking into account messages in transit, because a message in transit might restart an already terminated process problem: how to recognise a message in transit � waiting for a long – enough period of time to allow any message in transit to arrive is not to be favoured 6 − 12 Dr. Ralf-Peter Mundani - Parallel Programming and High-Performance Computing - Summer Term 2008

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