Programming Environments for Parallel and Distributed Computing: a Comparison of P4, Pvm, Linda, and Tcgmsg

Parallel programmers must choose from a confusing array of parallel programming environments. When success has to be measured by the success of applica tion-software development rather than theoretical re search, the choice must be made quickly without the luxury of experimentation. In this paper, we help the programmer make this choice by looking closely at four of the most heavily used portable programming environments—p4, PVM, TCGMSG, and Linda. For each of these programming environments, we look at three different programs: one that computes π by numerical integration and two that benchmark communication performance. The four programming environments are analyzed in terms of performance, support, ease of coding, and ease of debugging.

[1]  Allan R. Larrabee,et al.  The P4 Parallel Programming System, the Linda Environment, and Some Experiences with Parallel Computation , 1993, Sci. Program..

[2]  Ewing L. Lusk,et al.  Monitors, Messages, and Clusters: The p4 Parallel Programming System , 1994, Parallel Comput..

[3]  James H. Patterson,et al.  Portable Programs for Parallel Processors , 1987 .

[4]  Robert J. Harrison,et al.  Portable tools and applications for parallel computers , 1991 .

[5]  Peter Hinz,et al.  Visualizing the performance of parallel programs , 1996 .

[6]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[7]  Timothy G. Mattson,et al.  Portable Molecular Dynamics Software for Parallel Computing , 1995 .

[8]  Ewing Lusk,et al.  Studying parallel program behavior with upshot , 1991 .

[9]  Jack J. Dongarra,et al.  Visualization and debugging in a heterogeneous environment , 1993, Computer.

[10]  David Gelernter,et al.  The Linda® Alternative to Message-Passing Systems , 1994, Parallel Comput..

[11]  Timothy G. Mattson The Efficiency of Linda for General Purpose Scientific Programming , 1994, Sci. Program..

[12]  Michael T. Heath,et al.  Visualizing the performance of parallel programs , 1991, IEEE Software.

[13]  Nicholas Carriero,et al.  How to write parallel programs - a first course , 1990 .

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

[15]  David W. Walker,et al.  The Design of a Standard Message Passing Interface for Distributed Memory Concurrent Computers , 1994, Parallel Comput..

[16]  Robert J. Harrison,et al.  Global Arrays: a portable "shared-memory" programming model for distributed memory computers , 1994, Proceedings of Supercomputing '94.