0% found this document useful (0 votes)
113 views11 pages

Scheduling and Load Balancing

This document provides an introduction to scheduling and load balancing in parallel computing. It defines scheduling as the distribution of processes across multiple processors. The key goals of scheduling are minimizing execution time and communication delays while maximizing resource utilization. Scheduling methods can be local, deciding process allocation on individual processors, or global, deciding where to execute processes across all processors. Global scheduling is further divided into static scheduling, where process assignments are made before execution, and dynamic scheduling, where processes are redistributed during execution to balance load across processors. Dynamic scheduling policies determine how load information is shared, when processes should be transferred, and where to place transferred processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views11 pages

Scheduling and Load Balancing

This document provides an introduction to scheduling and load balancing in parallel computing. It defines scheduling as the distribution of processes across multiple processors. The key goals of scheduling are minimizing execution time and communication delays while maximizing resource utilization. Scheduling methods can be local, deciding process allocation on individual processors, or global, deciding where to execute processes across all processors. Global scheduling is further divided into static scheduling, where process assignments are made before execution, and dynamic scheduling, where processes are redistributed during execution to balance load across processors. Dynamic scheduling policies determine how load information is shared, when processes should be transferred, and where to place transferred processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Scheduling and Load

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.

Classification of scheduling methods

Local Vs Global Scheduling


Local Scheduling performed by
the OS of the processor assigning
jobs to the time slices of the
processor.
Global Scheduling - is the process
of deciding where to execute a
process in a multiprocessor system.

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.

Other scheduling disciplines


Adaptive algorithm - changes its
behavior based on information
available at the time it is run.
Non-Adaptive Algorithm- does not
necessarily modify its basic control
mechanism on the basis of the
history of system activity.

THANK YOU

You might also like