This Article 
 Bibliographic References 
 Add to: 
Hypertool: A Programming Aid for Message-Passing Systems
July 1990 (vol. 1 no. 3)
pp. 330-343

Programming assistance, automation concepts, and their application to a message-passing system program development tool called Hypertool are discussed. Hypertool performs scheduling and handles the communication primitive insertion automatically, thereby increasing productivity and eliminating synchronization errors. Two algorithms, based on the critical-path method, are presented for scheduling processes statically. Hypertool also generates the performance estimates and other program quality measures to help programmers improve their algorithms and programs.

[1] J. Rattner, "Concurrent processing: A new direction in scientific computing," inProc. National Comput. Conf., 1985, pp. 157-166.
[2] Ametek System 14 User's Guide: C Edition, Ametek Computer Research Division, Arcadia, CA, 1986.
[3] J. P. Hayeset al., "A microprocessor-based hypercube supercomputer,"IEEE Micro, vol. 6, pp. 6-17, Oct. 1986.
[4] H. L. Gustafson, S. Hawkinson, and K. Scott, "The architecture of a homogeneous vector supercomputer," inProc. Int. Conf. Parallel Processing, Aug. 1986, pp. 649-652.
[5] L. W. Tucker and G. G. Robertson, "Architecture and applications of the Connection Machine,"IEEE Comput. Mag., pp. 26-38, Aug. 1988.
[6] A.H. Karp, "Programming for Parallelism,"Computer, Vol. 20, No. 5, May 1987, pp. 43- 57.
[7] C. L. Seitz, "The Cosmic Cube,"Commun. ACM, pp. 22-33, Jan. 1985.
[8] A. H. Karp and R. G. Babb II, "A comparison of 12 parallel Fortran dialects,"IEEE Software, pp. 52-67, Sept. 1988.
[9] D. A. Padua, D. J. Kuck, and D. L. Lawrie, "High speed multiprocessor and compilation techniques,"IEEE Trans. Comput., vol. C-29, pp. 763-776, Sept. 1980.
[10] M. Y. Wu and D. D. Gajski, "Computer-aided programming for message-passing systems: Problems and a solution,"Proc. IEEE, vol. 77, no. 12, pp. 1983-1991, Dec. 1989.
[11] D. D. Gajski and J. Peir, "The essential issues in multiprocessor systems,"IEEE Comput. Mag., vol. 18, pp. 9-27, June 1985.
[12] J. K. Peir, D. D. Gajski, and M. Y. Wu, "Programming environments for multiprocessors," inSupercomputing.New York: North Holland, 1987, pp. 73-93.
[13] V. Sarkar,Partitioning and Scheduling Parallel Programs for Multiprocessing, MIT Press, 1989.
[14] L. Snyder, "Parallel programming and the POKER programming environment,"IEEE Comput. Mag., pp. 27-36, July 1984.
[15] W. F. Appelbe and C. McDowell, "Anomaly detection in parallel Fortran programs," inProc. Workshop Parallel Processing Using HEP, May 1985.
[16] R. Allan, D. Baumgartner, K. Kennedy, and A. Porterfield, "PTOOL: A semiautomatic parallel programming assistant," inProc. Int. Conf. Parallel Processing, Aug. 1986, pp. 164-170.
[17] J. K. Peir and D. D. Gajski, "CAMP: A programming aide for multiprocessors," inProc. Int. Conf. Parallel Processing, Aug. 1986, pp. 475-482.
[18] M. Y. Wu and D. D. Gajski, "A programming aid for message-passing systems, " inParallel Processing for Scientific Computing, G. Rodrigue, Ed, Philadelphia, PA: SIAM, pp. 328-332.
[19] T. C. Hu, "Parallel sequencing and assembly line problems,"Oper. Res., vol. 9, no. 6, pp. 841-848, 1961.
[20] T. L. Adam, K. M. Chandy, and J. R. Dickson, "A comparison of list schedules for parallel processing systems,"Commun. ACM, vol. 17, no. 12, pp. 685-690, Dec. 1974.
[21] W. H. Kohler, "A preliminary evaluation of the critical path method for scheduling tasks on multiprocessor systems,"IEEE Trans. Comput., vol. C-24, pp. 1235-1238, Dec. 1975.
[22] C. V. Ramamoorthy, K. M. Chandy, and M. J. Gonzales, "Optimal scheduling strategies in a multiprocessor system,"IEEE Trans. Comput., vol. C-21, pp. 137-146, Feb. 1972.
[23] B. Bussell, E. Fernandez, and O. Levy, "Optimal scheduling for homogeneous multiprocessors, " inProc. IFIP Congress 74, North-Holland, 1974, pp. 286-290.
[24] B. Kruatrachue and T. Lewis, "Grain size determination for parallel processing,"IEEE Software, pp. 23-32, Jan. 1988.
[25] D. Landskov, S. Davidson, B. D. Shriver, and P. W. Mallett, "Local microcode compaction techniques,"ACM Comput. Surveys, vol. 12, no. 3, pp. 261-294, Sept. 1980.
[26] R. Sethi, "Algorithms for minimal-length schedules," inComputer and Job-Shop Scheduling Theory. New York: Wiley, 1976, ch. 2.
[27] R. P. Bianchini, Jr. and J. P. Shen, "Interprocessor traffic scheduling algorithm for multiple-processor networks,"IEEE Trans. Comput., vol. C-36, pp. 396-409, Apr. 1987.
[28] M. Hanan and J. Kurtzberg, "A review of the placement and quadratic assignment problems,"SIAM Rev., vol. 14, pp. 324-342, Apr. 1972.
[29] S.-Y. Lee and J. K. Aggarwal, "A mapping strategy for parallel processing,"IEEE Trans. Comput., vol. C-36, pp. 433-442, Apr. 1987.

Index Terms:
Index TermsHypertool; programming aid; message-passing systems; automation concepts; scheduling; communication primitive insertion; synchronization errors; critical-path method; performance estimates; program quality measures; electronic messaging; scheduling; software tools
M.Y. Wu, D.D. Gajski, "Hypertool: A Programming Aid for Message-Passing Systems," IEEE Transactions on Parallel and Distributed Systems, vol. 1, no. 3, pp. 330-343, July 1990, doi:10.1109/71.80160
Usage of this product signifies your acceptance of the Terms of Use.