Computer-aided programming for message-passing systems: problems and solutions

As the number of processors and the complexity of problems to be solved increase, programming multiprocessing systems becomes more difficult and error prone. Program development tools are necessary since programmers are not able to develop complex parallel programs efficiently. Parallel models of computation, parallelization problems, and tools for computer-aided programming (CAP) are discussed. As an example, a CAP tool that performs scheduling and inserts communication primitives automatically is described. It also generates the performance estimates and other program quality measures to help programmers in improving their algorithms and programs. >

[1]  John L. Gustafson,et al.  Programming and performance on a cube-connected architecture , 1988, Digest of Papers. COMPCON Spring 88 Thirty-Third IEEE Computer Society International Conference.

[2]  Ken Kennedy,et al.  PTOOL : A Semi-Automatic Parallel Programming Assistant , 1986, International Conference on Parallel Processing.

[3]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[4]  Gregory F. Pfister,et al.  “Hot spot” contention and combining in multistage interconnection networks , 1985, IEEE Transactions on Computers.

[5]  Eduardo B. Fernández,et al.  Optimal Scheduling for Homogeneous Multiprocessors , 1974, IFIP Congress.

[6]  David A. Padua,et al.  Dependence graphs and compiler optimizations , 1981, POPL '81.

[7]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

[8]  M.-Y. Wu,et al.  Programming environments for multiprocessors , 1987 .

[9]  Thomas Brandes,et al.  A Knowledge Based Parallelization Tool in a Programming Environment , 1987, ICPP.

[10]  Lawrence Snyder,et al.  Poker on the Cosmic Cube: The First Retargetable Parallel Programming Language and Environment , 1986, ICPP.

[11]  David A. Padua,et al.  High-Speed Multiprocessors and Compilation Techniques , 1980, IEEE Transactions on Computers.

[12]  C. V. Ramamoorthy,et al.  Optimal Scheduling Strategies in a Multiprocessor System , 1972, IEEE Transactions on Computers.

[13]  Daniel Gajski,et al.  A Programming Aid for Message-passing Systems , 1987, PPSC.

[14]  Ii R. G. Babb Programming the HEP with large-grain data flow techniques , 1985 .

[15]  Charles L. Seitz,et al.  The cosmic cube , 1985, CACM.

[16]  James M. Purtilo,et al.  Environments for Prototyping Parallel Algorithms , 1988, J. Parallel Distributed Comput..

[17]  Richard M. Fujimoto SIMON: a Simulator of Multicomputer Networks , 1983 .

[18]  Edward D. Lazowska,et al.  Speedup Versus Efficiency in Parallel Systems , 1989, IEEE Trans. Computers.

[19]  Boontee Kruatrachue,et al.  Grain size determination for parallel processing , 1988, IEEE Software.

[20]  Daniel Gajski,et al.  Essential Issues in Multiprocessor Systems , 1985, Computer.

[21]  Alan H. Karp,et al.  A comparison of 12 parallel FORTRAN dialects , 1988, IEEE Software.

[22]  Paul Hudak,et al.  Serial Combinators: "Optimal" Grains of Parallelism , 1985, FPCA.

[23]  G. C. Fox,et al.  Solving Problems on Concurrent Processors , 1988 .

[24]  Daniel Gajski,et al.  CAMP: A Programming Aide for Multiprocessors , 1986, ICPP.

[25]  Vivek Sarkar,et al.  Partitioning and Scheduling Parallel Programs for Multiprocessing , 1989 .

[26]  David A. Plaisted,et al.  A Multiprocessor Architecture for Medium-Grain Parallelism , 1986, ICDCS.

[27]  L. Snyder,et al.  Parallel Programming and the Poker Programming Environment , 1984, Computer.

[28]  Maurice Hanan,et al.  A review of the placement and quadratic assignment problems , 1972 .