Module-4 Desirable Features of Global Scheduling algorithm
Module-4 Desirable Features of Global Scheduling algorithm
MANAGEMENT
RESOURCE MANAGEMENT IN DS
• Every distributed system consists of a number of resources interconnected by a network. Besides
providing communication facilities, the network facilitates resource sharing by migrating a local
process and executing it at a remote node of the network.
• A process may be migrated because the local node does not have the required resources or the
local node has to be shut down.
• From a user's point of view, the set of available resources in a distributed system acts like a single
virtual system. Hence, when a user submits a process for execution, it becomes the responsibility of
the resource manager of the distributed operating system to control the assignment of resources to
processes and to route the processes to suitable nodes of the system according to these
assignments.
• A Resource can be logical, such as a shared file, or physical, such as a CPU.
RESOURCE MANAGEMENT IN DS(1)
A resource manager schedules the processes in a distributed system to make use of the system
resources in such a manner that resource usage, response time, network congestion, and
scheduling overhead are optimized.
A scheduling algorithm is said to be unstable if it can enter a state in which all the nodes of the
system are spending all of their time migrating processes without accomplishing any useful work
in an attempt to properly schedule the processes for better performance. This form of fruitless
migration of processes is known as processor thrashing.
DESIRABLE FEATURES OF A GOOD GLOBAL SCHEDULING ALGORITHM(4)
Stability
For example, it may happen that nodes n1 and n2 both observe that node n3 is idle and
then both offload a portion of their work to node n3 without being aware of the offloading
decision made by the other. Now if node n3 becomes overloaded due to the processes
received from both nodes n1 and n2' then it may again start transferring its processes to
other nodes. This entire cycle may be repeated again and again, resulting in an unstable
state. This is certainly not desirable for a good scheduling algorithm.
DESIRABLE FEATURES OF A GOOD GLOBAL SCHEDULING ALGORITHM(5)
Scalability
• A scheduling algorithm should be capable of handling small as well as large networks. An algorithm
that makes scheduling decisions by first inquiring the workload from all the nodes and then selecting
the most lightly loaded node as the candidate for receiving the process(es) has poor scalability factor.
Such an algorithm may work fine for small networks but gets crippled when applied to large networks.
• This is because the inquirer receives a very large number of replies almost simultaneously, and the time
required to process the reply messages for making a host selection is normally too long. Moreover, the
N2 (N is the total number of nodes in the system) nature of the algorithm creates heavy network traffic
and quickly consumes network bandwidth. A simple approach to make an algorithm scalable is to
probe only m of N nodes for selecting a host. The value of m can be dynamically adjusted depending
upon the value of N.
DESIRABLE FEATURES OF A GOOD GLOBAL SCHEDULING ALGORITHM(6)
Fault Tolerance
A good scheduling algorithm should not be disabled by the crash of one or more nodes of the
system. At any instance of time, it should continue functioning for nodes that are up at that time.
Moreover, if the nodes are partitioned into two or more groups due to link failures, the algorithm
should be capable of functioning properly for the nodes within a group.
DESIRABLE FEATURES OF A GOOD GLOBAL SCHEDULING ALGORITHM(7)
Fairness or Service
While the average quality of service provided is clearly an important performance index, how
fairly service is allocated is also a common concern. For example, two users simultaneously
initiating equivalent processes expect to receive about the same quality of service.
Several researchers think that global scheduling policies that blindly attempt to balance the
average load on all the nodes of the system are not good from the point of view of fairness of
service.
This is because in any load-balancing scheme, heavily loaded nodes will obtain all the benefits
while lightly loaded nodes will suffer poorer response time than that in a stand-alone
configuration.
RESOURCE MANAGEMENT
• Task assignment approach
• Load balancing approach
• Load sharing approach.
TASK ASSIGNMENT APPROACH
Main assumptions
• Processes have been split into tasks
• Computation requirement of tasks and speed of processors are known.
• Cost of processing tasks on nodes are known.
• Communication cost between every pair of tasks are known.
• Resource requirements and available resources on node are known.
• Reassignment of tasks are not possible.
TASK ASSIGNMENT APPROACH
Note: The execution of the task (t2) on the node (n2) and the execution of the task (t6) on the node (n1) is
not possible as it can be seen from the above table of Execution costs that resources are not available.
Cost of Execution in Serial Assignment:
= t11 + t21 + t31 + t42 + t52 + t62
= 5 + 2+ 4 + 3 + 2 + 4
= 20 (Refer Execution Cost table)
1. Static policy: predefined threshold value for each node depending on processing
capability
2. Dynamic policy: threshold value is calculated from average workload and a predefined
constant
• Below threshold value node accepts processes to execute, above threshold value node
tries to transfer processes to a lightly-loaded node
PROCESS TRANSFER POLICY
• Single-threshold policy may lead to unstable algorithm because underloaded
• node could turn to be overloaded right after a process migration.
• To reduce instability double-threshold policy has been proposed which is also
• known as high-low policy.
Overloaded
Overloaded
High mark
Threshold Normal
Low mark
Underloaded
Underloaded
On-demand exchange
• In this method a node broadcast a State-Information-Request
message when its state switches from normal to either underloaded or
overloaded region.
• On receiving this message other nodes reply with their own
state information to the requesting node Further improvement can be
that only those nodes reply which are useful to the requesting node
Exchange by polling
• To avoid poor scalability (coming from broadcast messages) the
partner node is searched by polling the other nodes one by one, until
poll limit is reached
LOCATION POLICY
Threshold method
• Policy selects a random node, checks whether the node is able to receive the
process, then transfers the process. If node rejects, another node is selected
randomly. This continues until probe limit is reached.
Shortest method
• Some distinct nodes are chosen at random, each is polled to determine its load.
The process is transferred to the node having the minimum value unless its
workload value prohibits to accept the process.