Scheduling and Load Balancing
Scheduling and Load Balancing
balancing-an Introduction
K. NITHYANANDAKUMARI
Assistant Professor of
Computer Science,
C.P.A. College,
Bodinayakanur.
introduction
Distribution of the processes of a parallel program
on multiple processors is called scheduling.
The problem is how to distribute (or schedule) the
processes among processing elements to achieve
some performance goal(s), such as minimizing
execution time, minimizing communication
delays, and/or maximizing resource utilization.
From a system's point of view, this distribution
choice becomes a resource management
problem.
Static Scheduling
Global scheduling is divided into static and
dynamic scheduling.
In static scheduling, the assignment of
tasks to processors is done before program
execution begins.
A task is always executed on the processor
to which it is assigned.
Processor non-preemptive.
Static Scheduling
Divided into Optimal and suboptimal scheduling.
Optimal is NP-Complete.
Sub-Optimal is divided into Approximate and
Heuristic.
Approximate suboptimal algorithm stops when a
"good" (or acceptable) solution is reached.
Heuristic suboptimal algorithm guides the
scheduling process in the right direction to reach a
"near" optimal solution.
Dynamic Scheduling
Based on the redistribution of processes among the
processors during execution time.
Redistribution is performed by transferring tasks from
the heavily loaded processors to the lightly loaded
processors(load balancing).
Useful in a system consisting of a network of
workstations in which the primary performance goal is
maximizing utilization of the processing power instead of
minimizing execution time of the applications.
If the work involved in making decisions should be
physically distributed among the processors or in a
single processor(non-distributed).
Dynamic Scheduling
Distributed scheduling is classified into:
Co-operative scheduling - where the
currently running process voluntarily gives
up executing to allow another process to
run (non-preemptive).
Non-cooperative scheduling- in which
the individual processors make decisions
independent of the actions of the other
processors.
Dynamic Scheduling
Defined by three inherent policies:
* information policy -the amount of load
information made available to job placement
decision-makers.
* transfer policy- determines the conditions under
which a job should be transferred.
*placement policy- identifies the processing
element to which a job should be transferred.
THANK YOU