This Article 
 Bibliographic References 
 Add to: 
The Post-Game Analysis Framework-Developing Resource Management Strategies for Concurrent Systems
September 1989 (vol. 1 no. 3)
pp. 293-309

Research has been conducted to determine how distributed computations can be mapped to multiprocessors to minimize execution time. The approach described here, known as post-game analysis, incrementally changes the program partitioning in between program execution time in subsequent runs. Post-game analysis differs from conventional iterative refinement or controlled opportunistic perturbation in that no abstract program models or any single objective function are employed to determine the relative merits of two alternative mappings. Multiple optimization subgoals are formulated, based on actual timing data gathered during program execution. Heuristics, based on various optimization subgoals, are then applied to propose changes to the current mapping. Finally, a mapping generation process which prioritizes and resolves conflicting proposals is applied. Results obtained from simulations show that post-game analysis consistently out-performs random placement, load-balancing, and clustering algorithms by 15%. Few iterations are required for simulations involving more than 200 processes and 64 sites. A rule-based architecture enables incremental strategy refinement, thus making post-game analysis easily tailorable to programs written in many concurrent programming paradigms and multiprocessor architectures.

[1] S. Fernbach, "Applications of supercomputers in the U.S.--Today and tomorrow," inProc. Symp. Supercomputer Architecture, Tokyo, Japan, Oct. 1981.
[2] H. P. Nii, "'Blackboard systems Part two: Blackboard application systems,"AI Mag., Aug. 1986.
[3] G. Rodrigue, E. Giroux, and M. Pratt, "Large-scale scientific computation,"IEEE Comput., vol. 13, pp. 65-88, Oct. 1980.
[4] B. L. Buzbee and D. H. Sharp, "Perspectives on supercomputing,"Science, vol. 227, pp. 46-87, Feb. 1985.
[5] J. C. Yan and S. F. Lundstrom, "Experimental results of resource management heuristics for multiprocessors," in preparation.
[6] A. K. Agrawala, S. K. Tripathi, and G. Ricart, "Adaptive routing using virtual waiting time techniques,"IEEE Trans. Software Eng., vol. SE-8, pp. 76-85, Jan. 1982.
[7] A. K. Ezzat, R. D. Bergeron, and J. L. Pokoski, "Task allocation heuristics for distributed computing systems," inProc. Int. Conf. Distributed Comput. Syst., May 1986, pp. 337-346.
[8] T. C. K. Chou and J. A. Abraham, "Load balancing in distributed systems,"IEEE Trans. Software Eng., vol. SE-8, pp. 401-411, July 1982.
[9] M. N. Lionel and K. Hwang, "Optimal load balancing in a multiple processor system with many job classes,"IEEE Trans. Software Eng., vol. SE-11, pp. 491-496, May 1985.
[10] L. M. Ni and K. Hwang, "Optimal load balancing strategies for a multiple processor system," inProc. 1981 Int. Conf. Parallel Processing, Columbus, OH, Aug. 1981, pp. 352-357.
[11] C. Gao, J. W. S. Liu, and M. Railey, "Load balancing algorithms in homogeneous distributed systems," inProc. 1984 Int. Conf. Parallel Processing, Aug. 1984, pp. 302-306.
[12] Y. C. Chow and W. H. Kohler, "Models for dynamic load balancing in a heterogeneous multiple processor system,"IEEE Trans. Comput., vol. C-28, pp. 354-361, May 1979.
[13] R. M. Bryant and J. R. Agre, "A queueing network approach to the module allocation problem in distributed systems," Dep. Comput. Sci., Univ. Wisconsin, Madison, Tech. Rep. 430, 1981.
[14] L. Ni and K. Abani, "Non-preemptive load balancing in a class of local area networks," inProc. 1981 Comput. Network Symp., Dec. 1981, pp. 352-357.
[15] B. Lint and T. Agerwala, "Communication issues in the design and analysis of parallel algorithms,"IEEE Trans. Software Eng., vol. SE-7, pp. 174-188, Mar. 1981.
[16] C. C. Price and S. Krishnaprasad, "Software allocation models for distributed computing systems," inProc. Int. Conf. Distributed Comput. Syst., May 1984, pp. 40-48.
[17] J. F. Cooper, "Monte Carlo positioning of connected elements on a carrier," IBM Rep. 64-520-005, June 1964.
[18] S. K. Bokhari, "Dual processor scheduling with dynamic reassignment,"IEEE Trans. Software Eng., vol. SE-5, pp. 341-349, July 1979.
[19] C. Steele, "Placement of communicating processes on multiprocessor networks," M.S. thesis, Dep. Comput. Sci., California Inst. Technol., Pasadena, CA, Tech. Rep. 5184:Tr:85, 1985.
[20] S. M. Jacobs, L. V. Johnson, and O. Khedr, "A technique for systems architecture analysis and design applied to the satellite ground system (SGS)," inProc. Int. Conf. Distributed Comput. Syst., May 1984, pp. 131-140.
[21] P. R. Ma, E. Y. S. Lee, and M. Tsuchiya, "A task allocation model for distributed computing systems,"IEEE Trans. Comput., vol. C-31, pp. 41-47, Jan. 1982.
[22] H. Stone, "Multiprocessor scheduling with the aid of network flow algorithms,"IEEE Trans. Software Eng., vol. SE-3, pp. 85-93, Jan. 1977.
[23] 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, pp. 291-299, Apr. 1979.
[24] V. M. Lo and J. W. S. Liu, "Task assignment in distributed multiprocessor systems," inProc. Int. Conf. Parallel Processing, Aug. 1981, pp. 358-360.
[25] S. H. Bokhari, "On the mapping problem,"IEEE Trans. Comput., vol. C-30, pp. 207-214, Mar. 1981.
[26] K. Efe, "Heuristic models of task assignment scheduling in distributed systems,"IEEE Comput., vol. 15, pp. 50-57, June 1982.
[27] J. A. Edwards, "A two-level hierarchical control system for a distributed network of computers," Ph,D. dissertation, Univ. Oklahoma, 1975.
[28] E. Cuthill, "Several strategies for reducing the bandwidth of matrices," inSparse Matrices and their Applications, Rose and Willoughby, Eds. New York: Plenum, 1972, pp. 157-166.
[29] D. E. Culler, "Resource management for the tagged token dataflow architecture," Lab. Comput. Sci., Mass. Inst. Technol., M.I.T./LCS/ TR-322, 1985.
[30] M. L. Campbell, "Static allocation for a dataflow multiprocessor," inProc. 1985 Int. Conf. Parallel Processing, Aug. 1985, pp. 511- 517.
[31] A. E. Oldehoeft and S. F. Jennings, "Dataflow resource managers and their synthesis from open path expressions,"IEEE Trans. Software Eng., vol. SE-10, pp. 244-256, May 1984.
[32] L. Y. Ho and K. B. Irani, "An algorithm for processor algorithm in a dataflow multiprocessing environment," inProc. 1983 Int. Conf. Parallel Processing, Aug. 1983, pp. 338-340.
[33] K. Hwang and S. P. Su, "Priority scheduling in event-driven datalow computers," School Elec. Eng., Purdue Univ., Rep. TR-EE83- 36, Dec. 1983.
[34] A. J. Catto and J. R. Gurd, "Resource management in dataflow," inProc. ACM Symp. Functional Programming Languages and Comput. Architecture, 1981, pp. 77-84.
[35] B. Jayaraman and R. M. Keller, "Resource control in a demand-driven data-flow model," inProc. 1980 Int. Conf. Parallel Processing, Aug. 1980, pp. 118-127.
[36] K. Schwans, "Tailoring software for multiple processor systems," Ph.D. dissertation, Dep. Comput. Sci., Carnegie-Mellon Univ., 1982.
[37] V. Sarkar, "Partitioning and scheduling parallel programs for execution on multiprocessors," Ph.D. dissertation, Dep. Elec. Eng., Stanford Univ., Apr. 1987.
[38] M. L. Kazar, "Automatic distribution of programs and data in a distributed environment," Ph.D. dissertation, (CMUCS) CMU-CS-85- 137 Dep. Comput. Sci., Carnegie-Mellon Univ., 1985.
[39] F. C. Colon, R. M. Glorioso, W. H. Kohler, and D. C. Li, "Coupling small computers for performance enhancement," inAFIPS Conf. Proc. NCC, June 1976, vol. 45, pp. 755-764.
[40] L. M. Ni, C. W. Xu, and T. B. Gendreau, "Drafting algorithm--A dynamic process migration protocol for distributed systems," inProc. 5th Int. Conf. Distributed Comput. Syst., Denver, CO, May 1985, pp. 539-546.
[41] P. Krueger and R. Finkel, "An adaptive load balancing algorithm for a multicomputer," Dep. Comput. Sci., Univ. Wisconsin, Madison, Tech. Rep. 539, 1985.
[42] B. W. Wah and J. Y. Juang, "Resource scheduling for local computer systems with a multiaccess network,"IEEE Trans. Comput., vol. C-34, pp. 1144-1157, Dec. 1985.
[43] K. Baumgartner and B. W. Wah, "GAMMON: A load balancing strategy for a local computer system with a multiaccess network,"IEEE Trans. Comput., vol. 38, Aug. 1989.
[44] J. E. Wirshing, "A multiprocessor model with distributed task creation," Lawrence Livermore Nat. Lab., Univ. California, Livermore, CA, Tech. Rep. 53648, 1985.
[45] A. Barr and E. A. Feigenbaum,The Handbook of Artificial Intelligence, vol. I, Los Altos, CA: William Kaufmann, 1981.
[46] R. M. Keller, F. C. H. Lin, and J. Tanaka, "Rediflow multiprocessing," inDigest of Papers, IEEE Spring COMPCON, 1984, pp. 410- 417.
[47] M. R. Zargham and R. D. Purcell, "A protocol for load balancing on CSMA networks," inProc. Int. Conf. Parallel Processing, 1985, pp. 163-165.
[48] F. C. H. Lin and R. M. Keller, "Gradient model: A demand-driven load balancing scheme," inProc. Int. Conf. Distributed Comput. Syst., May 1986, pp. 329-336.
[49] D. J. Farber and K. C. Larson, "The structure of a distributed processing system-software," inProc. Symp. Comput. Commun. Networks and Teletraffic, Polytechnic Inst. Brooklyn, NY, Apr. 1972.
[50] A. Kratzer and D. Hammerstrom, "A study of load leveling," inProc. COMPCON '80, IEEE Computer Society, Sept. 1980, pp. 647- 654.
[51] R. G. Smith, "The contract net protocol: High-level communication and control in a distributed problem solver,"IEEE Trans. Comput., vol. C-29, pp. 1104-1113, Dec. 1980.
[52] J. A. Stankovic and I. S. Sidhu, "An adaptive binding algorithm for processes, clusters and distributed groups," inProc. 4th Int. Conf. Distributed Comput. Syst., May 1984, pp. 49-59.
[53] D. Ferrari, "A study of load indices for load balancing schemes," Comput. Sci. Division, Univ. California, Berkeley, Tech. Rep. UCB/CSD 85/ 262, Oct. 1985; also inWorkload Characterization of Computer Networks, North-Holland, 1986.
[54] M. Conway, "A multiprocessing system design," inProc. AFIPS Fall Joint Comput. Conf., 1963, pp. 139-148.
[55] J. B. Dennis and E. C. Van Horn, "Programming semantics for multiprogrammed computations,"Commun. ACM, pp. 143-155, Mar. 1966.
[56] P. Brinch Hansen, "The programming language concurrent pascal,"IEEE Trans. Software Eng., pp. 199-207, June 1975.
[57] C. A. R. Hoare, "Communicating sequential processes,"Commun. ACM, vol. 21, pp. 666-677, 1978.
[58] R. H. Halstead, "Parallel symbolic computing,"IEEE Comput. Mag., vol. 19, pp. 35-43, Aug. 1986.
[59] B. J. Nelson, "Remote procedure call," Xerox Palo Alto Research Center, Palo Alto, CA, Tech. Rep. CSL-81-9; 1981.
[60] G. A. Agha, "Actors: A model of concurrent computation in distributed systems," Ph.D. dissertation, Artificial Intell. Lab., Mass. Inst. Technol., 1985.
[61] R. Atkinson and C. Hewitt, "Specification and proof techniques for serializers," Artificial Intell. Lab., Mass. Inst. Technol., 1977.
[62] J. C. Yan, "Post-game analysis"--A heuristic resource management framework for concurrent systems," Ph.D. dissertation, Dep. Elec. Eng., Stanford Univ., Dec. 1988.
[63] W. W. Chu and L. M.-T. Lan, "Task allocation and precedence relations for distributed real-time systems,"IEEE Trans. Comput., vol. C-36, pp. 667-679, June 1987.
[64] V. M. Lo, "Task assignment to minimize completion time," inProc. 5th Int. Conf. Distributed Comput., May 1985, pp. 329-336.
[65] S.-Y. Lee and J. K. Aggarwal, "A mapping strategy for parallel processing,"IEEE Trans. Comput., vol. C-36, pp. 433-442, Apr. 1987.
[66] J. K. Aggarwal, L. S. Davis, and W. N. Martin, "Correspondence processes in dynamic scene analysis," inProc. IEEE, vol. 69, pp. 562-572, 1981.
[67] S. Y. Lee and J. K. Aggarwal, "Exploitation of image parallelism via the hypercube," inProc. IEEE Int. Conf. Syst., Man, Cybern., Tucson, AZ, Nov. 1985, pp. 680-686.
[68] L. Welty, R. Glenn, T. Holman, K. Zinket al., "Routing application study," Microelectronics and Computer Technol. Corp., Austin, TX. MCC Tech. Rep. PP-137-85.
[69] R. Glenn and H. Schwetman, "The performance of the Burstein hierarchical parallel router using MCC's parallel programming language on the Sequent Balance B-8000," Microelectronics and Comput. Technol. Corp., Austin, TX, MCC Tech. Rep. PP-137-85.
[70] T. A. Davis, "PSOLVE: A concurrent algorithm for solving sparse systems of linear equations," Center for Supercomput. Res. Development, Univ. Illinois, Urbana, IL, Tech. Rep. UILU-ENG-86-8010, Dec. 1986.
[71] J.-L. Baer, S. C. Kwan, G. Zick, and T. Snyder, "Parallel tag-distribution sort," inProc. 1985 Int. Conf. Parallel Processing, Aug. 1985, pp. 854-861.
[72] H. G. Baker, Jr. and C. Hewitt, "The incremental garbage collection of processes," Artificial Intell. Lab., Mass. Inst. Technol., AI Working Paper 149, July 1977.
[73] B. Hayes-Roth, "The blackboard architecture: A general framework for problem solving?," Knowledge Syst. Lab., Dep. Comput. Sci., Stanford Univ., Rep. HPP-83-30, May 1983.
[74] V. R. Lesser and L. D. Erman, "The retrospective view of the HEARSAY-II Architecture," inProc. 5th Int. Joint Conf. Artificial Intell., Los Altos, CA, 1977, pp. 790-800.
[75] H. P. Nii, E. Feigenbaum, J. J. Anton, and A. J. Rockmore, "Signal-to-symbol transformation: HASP/SIAM case study,"AI Mag., vol. 3, pp. 23-35, 1982.
[76] H. D. Brown, E. Schoen, and B. A. Delagi, "An experiment in knowledge-based signal understanding using parallel architectures," Knowledge Syst. Lab., Dep. Comput. Sci., Stanford Univ., Rep. KSL-86-69, Oct. 1986.
[77] I. D. Craig, "A distributed blackboard architecture," Comput. Sci., Univ. Warwick, Coventry, United Kingdom, Res. Rep. 91, Jan. 1987.
[78] M. Williams, H. Brown, and T. Barnes, "TRICERO design description," ESL, Inc., Tech. Rep. ESL-NS539, 1984.
[79] J. C. Yan and S. F. Lundstrom, "Axe: A simulation environment for actor-like computations on ensemble architectures," inProc. Winter Simulation Conf., Washington, DC, Dec. 1986, pp. 424-429.
[80] J. C. Yan, "Parallel program behavior specification and abstraction using BDL," Comput. Syst. Lab., Stanford Univ., CSL-TR-298, Aug. 1986.
[81] H.D. Schwetman, "CSIM: A C-Based, Process-Oriented Simulation Language,"Proc. 1986 Winter Simulation Conf., American Statistical Assoc., Washington, DC, 1986.

Index Terms:
post-game analysis framework; resource management strategies; concurrent systems; distributed computations; multiprocessors; execution time; program partitioning; optimization subgoals; timing data; simulations; rule-based architecture; concurrent programming paradigms; multiprocessor architectures; operations research; parallel processing; performance evaluation
Y.C. Yan, S.F. Lundstrom, "The Post-Game Analysis Framework-Developing Resource Management Strategies for Concurrent Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 1, no. 3, pp. 293-309, Sept. 1989, doi:10.1109/69.87976
Usage of this product signifies your acceptance of the Terms of Use.