This Article 
 Bibliographic References 
 Add to: 
On the Assignment Problem of Arbitrary Process Systems to Heterogeneous Distributed Computer Systems
March 1992 (vol. 41 no. 3)
pp. 257-273

The authors propose and evaluate an efficient hierarchical clustering and allocation algorithm that drastically reduces the interprocess communications cost while observing lower and upper bounds of utilization for the individual processors. They compare the algorithm with branch-and-bound-type algorithms that can produce allocations with minimal communication cost, and show a very encouraging time complexity/suboptimality tradeoff in favor of the algorithm, at least for a class of process clusters and their random combinations which it is believed occur naturally in distributed applications. The heuristic allocation is well suited for a changing environment, where processors may fail or be added to the system and where the workload patterns may change unpredictably and/or periodically.

[1] A. Barak and A. Shiloh, "A distributed load-balancing policy for a multicomputer,"SPAE, vol. 15, pp. 901-913, 1985.
[2] S. H. Bokhari, "On the mapping problem,"IEEE Trans. Comput., vol. C- 30, Mar. 1981.
[3] R. M. Bryant and R. A. Finkel, "A stable distributed scheduling algorithm," inProc. Second Int. Conf. Distributed Comput. Syst., Apr. 1981.
[4] W. W. Chu, M. Lan, and J. Hellerstein, "Estimation of intermodule communication (IMC) and its applications in distributed processing systems,"IEEE Trans. Comput., vol. C-33, Aug. 1984.
[5] A. Dutta, G. Koehler, and A. Whinston, "On optimal allocation in a distributed processing environment,"Management Sci., vol. 28, no. 8, pp. 839-853, Aug. 1982.
[6] D. L. Eager, E. D. Lazowska, and J. Zahorjan, "Dynamic load sharing in homogeneous distributed systems," Univ. of Saskatchewan Tech. Rep. 84-10-01, Oct. 1984.
[7] K. Efe, "Heuristic models of task assignment scheduling in distributed systems,"IEEE Comput. Mag., June 1982.
[8] D. Ferguson, G. Leitner, C. Nikolaou, and G. Kar, "Relocating processes in a distributed computer system," inProc. 5th Symp. Reliability in Distributed Software and Database Syst., Jan. 1986.
[9] V. B. Gylys and J. A. Edwards, "Optimal partitioning of workload for distributed systems," inProc. COMPCON Fall '76, 1976.
[10] K. Haessig and C. J. Jenny, "An algorithm for allocating computational objects in distributed computing systems," IBM, Zurich Research Lab. RZ 1016, 1980.
[11] J. Hagouel, "Issues in routing for large and dynamic networks," IBM Research RC 9942, 1983.
[12] IBM Corp.,IBM Mathematical Programming System Extended/370 (MPSX/370) Mixed Integer Programming/370 (MIP/370) Program Reference Manual, SH19-1099, 1975.
[13] G. Kar, C. Nikolaou, and J. Reif, "Assigning processes to processors: A fault-tolerant approach," inProc. FTCS-14, June 1984.
[14] B. Kruatrachue and T. Lewis, "Grain size determination for parallel processing,"IEEE Software, Jan. 1988.
[15] P. Krueger and M. Livny, "When is the best load sharing algorithm a load balancing Algorithm?," Comput. Sci. Dep., Univ. of Wisconsin-Madison 694, Apr. 1987.
[16] T.-H. Lai and W. White, "Mapping pyramid algorithms into hypercubes,"J. Parallel Comput., vol. 8, 1990.
[17] R. S. Liggett, "The quadratic assignment problem: An experimental evaluation of solution strategies,"Management Sci., vol. 27, no. 4, pp. 442-458, Apr. 1981.
[18] M. Livny and M. Melmen, "Load balancing in homogeneous broadcast distributed systems," inProc. Computer Network Perform. Symp., 1982, pp. 47-55.
[19] R. G. Melhem and G. Y. Hwang, "Embedding rectangular grids into square grids with dilation two,"IEEE Trans. Comput., vol. 39, pp. 1446-1455, Dec. 1990.
[20] C. Nikolaou, D. Ferguson, G. Leitner, and G. Kar, "Allocation and relocation of processes in a distributed computer system," inCurrent Advances in Distributed Computing and Communications, Vol. 1, Y. Yemini, Ed. Rockville, MD: Computer Science Press, 1986.
[21] K. K. Parhi and D. G. Messerschmitt, "Static rate-optimal scheduling of iterative data-flow programs via optimum unfolding,"IEEE Trans. Comput., vol. 40, pp. 178-195, Feb. 1991.
[22] G. S. Rao, H. S. Stone, and T. C. Hu, "Assignment of tasks in a distributed processor system with limited memory,"IEEE Trans. Comput., vol. C-28, Apr. 1979.
[23] H. S. Stone, "Multiprocessor scheduling with the aid of network flow algorithms,"IEEE Trans. Software Eng., vol. SE-3, Jan. 1977.
[24] A.S. Tanenbaum, "Distributed Operating System,"Computing Surveys, Dec. 1985, pp. 419-470.
[25] A. Thomasian and P. Bay, "Data allocation heuristics for distributed system," inProc. IEEE INFOCOM 1985, 1985, pp. 118-129.
[26] L. J. Watters, "Reduction of integer polynomial programming problem to zero-one linear programming problems,"Oper. Res., vol. 15, pp. 1171-1174, 1967.
[27] P. S. Yu, D. W. Cornell, D. M. Dias, and B. R. Iyer, "Analysis of affinity based routing in multi-system data sharing," IBM Research, RC 11424, 1985.
[28] S. P. Yu, S. Balsamo, and Y. H. Lee, "Notes on dynamic load sharing and transaction routing," IBM Research, RC 11537, 1985.

Index Terms:
lower bounds; assignment problem; arbitrary process systems; heterogeneous distributed computer systems; hierarchical clustering; allocation algorithm; upper bounds; branch-and-bound-type algorithms; time complexity; suboptimality tradeoff; heuristic allocation; workload patterns; distributed databases; heuristic programming; performance evaluation.
N.S. Bowen, C.N. Nikolaou, A. Ghafoor, "On the Assignment Problem of Arbitrary Process Systems to Heterogeneous Distributed Computer Systems," IEEE Transactions on Computers, vol. 41, no. 3, pp. 257-273, March 1992, doi:10.1109/12.127439
Usage of this product signifies your acceptance of the Terms of Use.