0% found this document useful (0 votes)
7 views15 pages

2.3 Load Balancing (Static)

..

Uploaded by

Sneh Mehra628
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views15 pages

2.3 Load Balancing (Static)

..

Uploaded by

Sneh Mehra628
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Load balancing and

Termination Detection
Content

• Introduction
• Type of Load Balancing
• Static Load Balancing
• Points Related to Static Load Balancing
• Problem in Static Load Balancing
• Need for Dynamic Load Balancing
Introduction
• Problem Division:
• A computational problem is divided into a fixed number of processes.
• Each process is designed to execute in parallel, performing a known amount of work.
• Processor Distribution:
• Processes are distributed among available processors.
• The initial assumption is that this distribution is done without considering the types of
processors or their individual speeds.
• Uneven Work Distribution:
• Some processes may require significantly more time to complete than others.
• As a result, certain processors may finish their assigned tasks while others are still working,
leading to idle processors.
Cont…
• Processor Speed Variability:
• Different processors may have varying speeds and performance capabilities.
• Faster processors may complete their tasks earlier, exacerbating the idleness issue.
• Objective of Load Balancing:
• The goal is to ensure that all processors are continuously engaged in tasks.
• This aims to minimize the overall execution time of the computational workload.
• Achieving Load Balancing:
• Load balancing involves spreading the workload evenly across all processors.
• Techniques can include dynamic task allocation, where tasks are redistributed during
execution based on processor performance and workload.
Cont…

• Benefits of Load Balancing:


• Enhanced resource utilization: Maximizes the use of all available processors.
• Reduced execution time: Minimizes the time taken to complete the overall task.
• Improved performance: Leads to a more efficient computational environment.
• Challenges:
• Complexity in implementation: Requires monitoring and managing tasks in real-time.
• Overhead: Additional computation may be needed to monitor and redistribute tasks, which
could negate some performance gains.
• Conclusion:
• Effective load balancing is crucial in parallel computing to achieve optimal performance and
resource utilization.
• It requires careful consideration of task distribution and processor capabilities to ensure
minimal idle time and maximum efficiency.
Cont…

• Unknown Workload Prior to Execution:


• In many computational scenarios, the amount of work each
process will perform is not known before execution.
• Load balancing techniques are crucial as they help mitigate
performance differences among processors, even when
workload estimates are available.
• Illustration of Load Balancing:
• Figure (a) illustrates a scenario where one processor (P1)
operates for a longer duration than others, while another Fig (a) Imperfect Load
processor (P4) completes its work early. Balancing Increase the time of
execution
• This uneven distribution results in increased total execution
time, as some processors remain idle.
• Ideally, reallocating part of P1's workload to P4 would help
equalize the workload across processors.
Cont…

• Figure (b) Depicts a balanced scenario where all


processors are actively executing tasks for the same
duration (t seconds).
• This represents perfect load balancing, leading to
minimized overall execution time.
• Execution Time Reduction Fig (b) Perfect Load Balancing
• Total computation using a single processor may require k
clock cycles.
• With p processors, assuming no additional overhead for
parallel implementation, the execution time can theoretically
be reduced to k/p clock cycles.
Type of Load Balancing

Type of Load
Balancing

Static Load Dynamic Load


Balancing Balancing
Static Load Balancing

• Static Load Balancing: Static load balancing involves planning the distribution
of tasks before execution begins. Also known as This approach is often referred to
as the mapping problem or scheduling problem (Bokhari, 1981).
• It relies on estimated execution times and the interdependencies of program
components to create a balanced workload.
• A substantial body of literature exists on static load balancing, employing various
optimization techniques.
Cont…

• The following are some potential static load-balancing techniques:


• Round Robin Algorithm
• Randomized Algorithm
• Recursive Bisection
• Simulated Annealing
• Genetic Algorithm
• Block Distribution
• Cyclic Distribution
• Min-Min and Max-Min Algorithm
• Graph Partitioning
• Greedy Algorithm
Points Related to Static Load Balancing
• Static-Link Interconnection Networks:
• In systems where processors are connected by static links, communication between processes
should be optimized by executing them on processors with direct communication paths.
• This helps reduce communication delays, an essential consideration in the mapping problem for
such systems.
• Mapping Problem Complexity:
• The task of mapping processes to processors in these networks to minimize communication delays
is computationally complex.
• There is likely no polynomial-time algorithm for solving this problem, making it
computationally intractable.
• As a result, heuristics (approximation methods) are typically used to find near-optimal solutions
for processor selection.
Problem in Static Load Balancing
• Inaccurate Estimation of Execution Times:
• It is difficult to estimate the execution times of various program components accurately without
actually running them.
• This means any static scheduling based on estimated execution times is likely to be inaccurate and
can lead to inefficient load distribution.
• Variable Communication Delays:
• Communication delays: between processors may vary under different circumstances, making it
difficult to model them precisely in a static load balancing approach.
• These varying delays are challenging to incorporate into a static schedule, as the delays may not be
constant.
• Indeterminate Number of Steps:
• Some problems, such as search algorithms, have an unknown or indeterminate number of
steps needed to reach a solution.
• It is impossible to predict beforehand how many steps or paths need to be explored, making it hard
to assign work in advance using static load balancing.
Need for Dynamic Load Balancing

• Due to the aforementioned challenges, static load balancing is often insufficient,


especially in scenarios with variable communication delays or indeterminate
workloads.
• Dynamic load balancing is preferred in such cases, as it adjusts the distribution
of tasks during execution based on real-time performance and system
conditions, improving resource utilization and efficiency.
Thank You
References
1.

You might also like