Computer-assisted microanalysis of parallel programs

This paper consists of two parts: the first provides the theoretical foundations for analyzing parallel programs and illustrates how the theory can be applied to estimate the execution time of a class of parallel programs being executed on a MIMD computer. The second part describes a program analysis system, based on the theoretical model, which allows a user to interactively analyze the results of executing (or simulating the execution) of such parallel programs. Several examples illustrating the use of the tool are presented. A novel contribution is the separation (both at the conceptual and the implementation levels) of the machine-independent and the machine-dependent parts of the analysis. This separation enables the users of the system to establish speed-up curves for machines having varying characteristics.

[1]  Norman H. Cohen Parallel Quicksort: an exploration of concurrent programming in Ada , 1982, ALET.

[2]  Richard T. Snodgrass,et al.  A relational approach to monitoring complex systems , 1988, TOCS.

[3]  Jacques Cohen,et al.  A language for inquiring about the run‐time behaviour of programs , 1977, Softw. Pract. Exp..

[4]  Ivan Futó,et al.  System Simulation and Cooperative Problem-solving on a Prolog Basis , 1984, Implementations of Prolog.

[5]  Jacques Cohen,et al.  Computer-assisted microanalysis of programs , 1982, CACM.

[6]  Jacques Cohen,et al.  Automating program analysis , 1988, JACM.

[7]  Jacques Cohen,et al.  Parsing and compiling using Prolog , 1987, TOPL.

[8]  Larry Rudolph,et al.  PIE: A Programming and Instrumentation Environment for Parallel Processing , 1985, IEEE Software.

[9]  Michael J. Flynn,et al.  Very high-speed computing systems , 1966 .

[10]  Richard T. Snodgrass,et al.  The Temporal Query Language TQuel , 1987, ACM Trans. Database Syst..

[11]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[12]  Barton P. Miller,et al.  IPS: An Interactive and Automatic Performance Measurement Tool for Parallel and Distributed Programs , 1987, ICDCS.

[13]  David H. D. Warren Logic programming and compiler writing , 1980, Softw. Pract. Exp..

[14]  Leon Sterling,et al.  The Art of Prolog - Advanced Programming Techniques , 1986 .

[15]  Alain Colmerauer,et al.  Metamorphosis Grammars , 1978, Natural Language Communication with Computers.

[16]  Homer Carlisle,et al.  ADA multitasking and the single source shortest path problem , 1987, Parallel Comput..

[17]  Peter Van Roy,et al.  A distributed Prolog system with AND parallelism , 1988, IEEE Software.

[18]  Luc Devroye,et al.  A note on the height of binary search trees , 1986, JACM.

[19]  B.P. Miller DPM: A Measurement System for Distributed Programs , 1988, IEEE Trans. Computers.