Load:

Zhou proposed that CPU queue length can act as a good indicator of load and it is also easy to determine. If the task transfer involves large delay then using CPU queue length will make the load to accept more task while the already accepted task are in transit. When all the accepted task arrives at the node then the load becomes overloaded and requires further task transfer. This problem can be solved by artificially incrementing CPU queue length whenever a task is accepted. If the task transfer does not occur in a specified amount of time period then time out occurs and if time out occurs then CPU queue length is automatically decremented.

Types of Load Distribution Algorithms:

Load Distribution Algorithms are classified as static, dynamic or adaptive. In static algorithms all load distribution decisions are hardwired in an algorithm on the basis of prior knowledge of the system. Dynamic algorithms make their load distribution decision on the basis of current system state, so they have more scope of improvement as compared to static algorithm. However the overhead incurred in correcting the system state information may overweigh the load benefit of load distribution.

Adaptive Algorithms are a special class of dynamic algorithms and they can adapt their activities by changing the parameter of the algorithm to suite the system state. Example, at high system load, dynamic algorithms continue the correction of system state information thereby further increasing the system load. On the other hand, adaptive algorithms will discontinue this procedure.

Load Balancing v/s Load Sharing :

Load Distribution Algorithms are further classified as load balancing and load sharing. The main aim of both the algorithms is to reduce the unshared state (a system in which some sites are idle while the other sites are heavily loaded) by transferring the task. Load Balancing algorithms goes one step ahead by equally distributing the load on all computers. Such algorithms have more task transfer so the overhead incurred in task transfer may overweigh the potential performance improvement.

Preemptive v/s Non- Preemptive Transfer:

Preemptive tasks are those tasks which are partially executed. Their transfer is an expansive up gradation as the task state consisting of virtual memory image , process control block, list of higher buffers and timers is also to be transferred. Non-Preemptive tasks are those tasks which have not begin their execution such task transfer are also called task placement. In both type of task transfer, the environment (such as the privileges inherited by task ) in which the terms are to be executed is also transferred.


Like it on Facebook, Tweet it or share this article on other bookmarking websites.

No comments