The assignment of computational tasks among processors in a distributed system

The flexibility afforded by multiprocessor systems opens the question of how to assign computer program modules among functionally similar processors in a distributed computer network. In the model under consideration, the modules of a program are to be assigned among processors in such a way as to minimize interprocessor communication while taking advantage of affinities of certain modules to particular processors. The problem is formalized as a zero-one quadratic programming problem, and a solution is sought through an iterative technique that performs a series of transformations on an assignment matrix. Convergence to a locally optimum assignment is guaranteed, and an easily testable condition is given for which this local optimum is also a global optimum. An illustration of this algorithm is provided, results of performance experiments are reported, and suggestions are made for further study.

[1]  Edward G. Coffman,et al.  Computer and job-shop scheduling theory , 1976 .

[2]  Nils J. Nilsson,et al.  Problem-solving methods in artificial intelligence , 1971, McGraw-Hill computer science series.

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

[4]  Camille Cook Price A nonlinear multiprocessor scheduling problem. , 1979 .

[5]  Hamdy A. Taha,et al.  A Balasian-Based Algorithm for Zero-One Polynomial Programming , 1972 .

[6]  W. W. Bledsoe,et al.  Review of "Problem-Solving Methods in Artificial Intelligence by Nils J. Nilsson", McGraw-Hill Pub. , 1971, SGAR.

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

[8]  Alberto Martelli,et al.  Optimizing decision trees through heuristically guided search , 1978, CACM.

[9]  Fred W. Glover,et al.  Technical Note - Converting the 0-1 Polynomial Programming Problem to a 0-1 Linear Program , 1974, Oper. Res..

[10]  Nesa L'abbe Wu,et al.  Linear programming and extensions , 1981 .

[11]  M. Klein A Primal Method for Minimal Cost Flows with Applications to the Assignment and Transportation Problems , 1966 .

[12]  David K. Smith,et al.  Operations Research: Principles and Practice , 1977 .

[13]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[14]  J. Kruskal On the shortest spanning subtree of a graph and the traveling salesman problem , 1956 .

[15]  Charles T. Zahn,et al.  Graph-Theoretical Methods for Detecting and Describing Gestalt Clusters , 1971, IEEE Transactions on Computers.

[16]  Harold S. Stone,et al.  Critical Load Factors in Two-Processor Distributed Systems , 1978, IEEE Transactions on Software Engineering.

[17]  T. C. Hu,et al.  Multi-Terminal Network Flows , 1961 .

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

[19]  N.R. Malik,et al.  Graph theory with applications to engineering and computer science , 1975, Proceedings of the IEEE.

[20]  R. Bellman Dynamic programming. , 1957, Science.

[21]  S. Vajda,et al.  Integer Programming and Network Flows , 1970 .

[22]  R. Gomory,et al.  A Primal Method for the Assignment and Transportation Problems , 1964 .

[23]  Narsingh Deo,et al.  Graph Theory with Applications to Engineering and Computer Science , 1975, Networks.

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

[25]  Harold S. Stone,et al.  Assignment of Tasks in a Distributed Processor System with Limited Memory , 1979, IEEE Transactions on Computers.

[26]  William L. Maxwell,et al.  Theory of scheduling , 1967 .

[27]  E. Balas An Additive Algorithm for Solving Linear Programs with Zero-One Variables , 1965 .

[28]  Udo W. Pooch,et al.  A Review of Classification Schemes for Computer Communication Networks , 1977, Computer.

[29]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.