Simulations of Three Adaptive, Decentralized Controlled, Job Scheduling Algorithms

Abstract Simulation results of three adaptive, decentralized controlled job scheduling algorithms which assume absolutely no a priori knowledge about jobs are presented. The results provide insight into the workings and relative effectiveness of the three algorithms, as well as insight into the performance of a special type of decentralized control. The simulation approach includes tuning the parameters of each algorithm, and then comparing the three algorithms based on response time, load balancing and the percentage of job movement. Each of the algorithm is compared under light, moderate, and heavy loads in the system, as well as a function of the traffic in the communication subnet and the scheduling interval. Modifications to the models are then introduced to further investigate the impact of various other parameters such as the cost of the scheduling algorithm itself, the effect of highly degraded state information and eliminating the movement of large (in size) jobs. Three simple analytical models are also presented and compared to the simulation results. A general observation is that, if tuned correctly, the decentralized algorithms exhibit stable behavior and considerably improve performance (response time and load balancing) at modest cost (percentage of job movement and algorithm execution cost).

[1]  Arne A. Nilsson,et al.  On Optimal Scheduling Algorithms for Time-Shared Systems , 1981, JACM.

[2]  Mario J. Gonzalez Deterministic Processor Scheduling , 1977, CSUR.

[3]  John K. Ousterhout,et al.  Medusa: An experiment in distributed operating system structure (Summary) , 1979, SOSP '79.

[4]  Raphael A. Finkel,et al.  A Stable Distributed Scheduling Algorithm , 1981, IEEE International Conference on Distributed Computing Systems.

[5]  Nils R. Sandell,et al.  Strategies for Distributed Decisionmaking , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[6]  Ray A. Jarvis,et al.  Optimization Strategies in Adaptive Control: A Selective Survey , 1975, IEEE Transactions on Systems, Man, and Cybernetics.

[7]  Wesley W. Chu,et al.  Task Allocation in Distributed Data Processing , 1980, Computer.

[8]  Walter H. Kohler,et al.  Models for Dynamic Load Balancing in a Heterogeneous Multiple Processor System , 1979, IEEE Transactions on Computers.

[9]  Masahiro Tsuchiya,et al.  A Task Allocation Model for Distributed Computing Systems , 1982, IEEE Transactions on Computers.

[10]  Reid G. Smith,et al.  The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver , 1980, IEEE Transactions on Computers.

[11]  Yan Hong Ng The distributed computer system , 1983 .

[12]  John A. Stankovic,et al.  An Application of Bayesian Decision Theory to Decentralized Control of Job Scheduling , 1985, IEEE Transactions on Computers.

[13]  Kemal Efe,et al.  Heuristic Models of Task Assignment Scheduling in Distributed Systems , 1982, Computer.

[14]  Shahid H. Bokhari,et al.  Control of Distributed Processes , 1978, Computer.

[15]  Harold S. Stone,et al.  Multiprocessor Scheduling with the Aid of Network Flow Algorithms , 1977, IEEE Transactions on Software Engineering.

[16]  Satish K. Tripathi,et al.  Adaptive Routing Using a Virtual Waiting Time Technique , 1982, IEEE Transactions on Software Engineering.

[17]  Wesley W. Chu,et al.  Optimal File Allocation in a Multiple Computer System , 1969, IEEE Transactions on Computers.

[18]  John A. Stankovic,et al.  A Heuristic for Cooperation Among Decentralized Controllers , 1983, INFOCOM.

[19]  Michael Athans,et al.  Survey of decentralized control methods for large scale systems , 1978 .

[20]  E. Douglas Jensen,et al.  The Honeywell Experimental Distributed Processor - an Overview , 1978, Computer.

[21]  Larry D. Wittie,et al.  MICROS, A Distributed Operating System for MICRONET, A Reconfigurable Network Computer , 1980, IEEE Trans. Computers.

[22]  John A. Stankovic,et al.  An Adaptive Bidding Algorithm For Processes, Clusters and Distributed Groups , 1984, ICDCS.

[23]  Shahid H. Bokhari,et al.  Dual Processor Scheduling with Dynamic Reassignment , 1979, IEEE Transactions on Software Engineering.

[24]  Wing H. Huen,et al.  Distributed Enumeration on Between Computers , 1980, IEEE Transactions on Computers.

[25]  Paul L. McEntire,et al.  Tutorial, distributed control , 1982 .

[26]  Gérard Le Lann,et al.  Distributed Systems - Towards a Formal Approach , 1977, IFIP Congress.

[27]  Philip H. Enslow What is a "Distributed" Data Processing System? , 1978, Computer.

[28]  Nils R. Sandell,et al.  Structures for Distributed Decisionmaking , 1981, IEEE Transactions on Systems, Man, and Cybernetics.