written 8.7 years ago by |
- A resource manager of a distributed operating system schedules the processes in a distributed computing environment to a pool of free resources that can optimize a combination of resource usage, response time, network congestion and scheduling overhead.
- The process scheduling decisions are based on factors such as the resource requirements of the processes, the availability of resources on different nodes of the system and the static or dynamic state information of the resources on different nodes of the system.
- A good global scheduling should possess features such as having no a priori knowledge about the process, being dynamic in nature and having quick decision-making capability, balanced system performance, scheduling efficiency, stability, scalability, fault tolerance and fairness of service.
- The three different approaches used for the design of global scheduling algorithms are the task assignment approach, the load balancing approach and the load sharing approach.
- In the task assignment approach the process assignment decisions are based on apriori knowledge of the characteristics of both the process to be executed and the system. The basic task assignment model deals with the tasks to the various nodes of the system in such a manner so as to minimize inter-process communication costs and improve the turnaround time for the complete task force.
The task assignment approach has limited applicability as it works on the assumption that the characteristics of all the processes to be scheduled are known in advance and also because task assignment algorithms are generally not dynamic in nature. - In load-balancing approach the process assignment decisions attempt to equalize the average workload on all nodes of the system. The problem associated with the dynamic load-balancing algorithms is the decision about the amount of global state information to be used. Only limited success can be achieved, hence the results of the efforts shown that attempting to gather a large amount of information to describe the current global state of the system is not always beneficial.
The degree of global knowledge in an algorithm must be normalized to the complexity of the performance objective of the algorithm.
- In the load-sharing approach the process assignment decisions attempt to keep all the nodes busy if there are sufficient processes in the system for all the nodes.
This is achieved by ensuring that no node is idle while processes wait to be processed at other nodes. Since load-sharing algorithms do not attempt to balance the load on all the nodes, they are simpler and easier to implement as compared to load-balancing algorithms.