The features of Global Scheduling Algorithm are as follows;
1) No apriori knowledge about the processes:
The working of scheduling algorithm is based on the information about the characteristics and resource requirements of the processes. These pose extra burden on the users who must provide this information while submitting their processes for execution. No such information is required for global scheduling algorithm.
2) Dynamic in Nature:
The decision regarding the assignment of process should be dynamic, which means that it should based on the current load of the system and not on the some static policy. The flexibility to migrate the process more than once should be the property of algorithm. The process should be placed on a particular node which can be changed afterwords, based on the initial decision in order to adapt to the change in system load.
3) Decision - making capabilities:
If we think about the heuristic methods, they require less computational efforts that result in less time requirement for the output. This will provide a near optimal result and has decision - making capability.
4) Balancing System performance and Scheduling overhead:
Here we require algorithm that will provide us near optimal system performance. It is desirable to collect minimum of global state information, such as CPU load. Such information is crucial because as the amount of global state information collected increases, the overhead also increases. This will have an impact on the result of the cost of gathering and processing the extra information so there is a need to improve the system performance by minimizing scheduling overhead.
5) Stability:
Processors thrashing ( due to the fruitless migration of processes) must be prevented. For example, if nodes n1 and n2 are loaded with processes and it is observed that node n3 is idle, then we can offload a portion of their work to n3 without being aware of the offloading decision made by some of the other nodes. In case n3 become overloaded due to this, it may again start transferring its processes to other nodes. The main reason for this is that scheduling decisions are being made at each node independently of decisions made by other nodes.
6) Scalability:
The scheduling algorithm should be able to scale as the number of nodes increases. An algorithm can be termed as having poor scalability if it makes a scheduling decisions by first inquiring the workload from all the nodes and then selecting the most lightly loaded node. This concept will work fine only when we have few nodes in the system. This will happen because the inquirer receives a flood of replies simultaneously, and the time required to process the reply messages for making a node selection is too long. As the number of nodes (N) increases, the network traffic consumes network bandwidth quickly.
7) Fault Tolerance:
In case one or more nodes of the system crash, good scheduling algorithm should not be disabled by this and mechanism to handle this should be available. The algorithm should be capable of functioning properly within the nodes if it is observed that the nodes are partitioned into two or more groups due to link failures. In order to have better fault tolerance capability, algorithms should decentralize the decision - making capability and must consider only available nodes in their decision - making and have better fault tolerance capability.
8) Fairness of Service:
If the global scheduling policy blindly attempts to balance the load on all the nodes of the system, then they are not good if viewed in terms of fairness of service. This is because in any load - balancing scheme, heavily nodes will obtain all benefits while lightly loaded nodes will suffer poor response time than in a stand alone configuration. Thus, we say that load balancing needs should be replaced by load sharing. That is, a node will share some of its resources as long as it users are not significantly affected.