ACM Home Page
Please provide us with feedback. Feedback
Models and languages for parallel computation
Full text PdfPdf (298 KB)
Source ACM Computing Surveys (CSUR) archive
Volume 30 ,  Issue 2  (June 1998) table of contents
Pages: 123 - 169  
Year of Publication: 1998
ISSN:0360-0300
Authors
David B. Skillicorn  Queen's Univ., Kingston, Ont., Canada
Domenico Talia  Univ. della Calabria, Rende, Italy
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 78,   Downloads (12 Months): 567,   Citation Count: 56
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/280277.280278
What is a DOI?

ABSTRACT

We survey parallel programming models and languages using six criteria to assess their suitability for realistic portable parallel programming. We argue that an ideal model should by easy to program, should have a software development methodology, should be architecture-independent, should be easy to understand, should guarantee performance, and should provide accurate information about the cost of programs. These criteria reflect our belief that developments in parallelism must be driven by a parallel software industry based on portability and efficiency. We consider programming models in six categories, depending on the level of abstraction they provide. Those that are very abstract conceal even the presence of parallelism at the software level. Such models make software easy to build and port, but efficient and predictable performance is usually hard to achieve. At the other end of the spectrum, low-level models make all of the messy issues of parallel programming explicit (how many threads, how to place them, how to express communication, and how to schedule communication), so that software is hard to build and not very portable, but is usually efficient. Most recent models are near the center of this spectrum, exploring the best tradeoffs between expressiveness and performance. A few models have achieved both abstractness and efficiency. Both kinds of models raise the possibility of parallelism as part of the mainstream of computing.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
AHMED, S., CARRIERO, N., AND GELERNTER, D. 1994. A program building tool for parallel applications. In DIMACS Workshop on Specification of Parallel Algorithms (Princeton University, May), 161-178.
 
4
 
5
 
6
ANDRE, F. AND THOMAS, H. 1989. The Pandore System. In IFIP Working Conference on Decentralized Systems (Dec.) poster presentation.
 
7
ANDRE, F., MAHEO, Y., LE FUR, M., AND PAZAT, J.-L. 1994. The Pandore compiler: Overview and experimental results. Tech. Rep. PI-869, IRISA, October.
 
8
9
 
10
ARBEIT, B., CAMPBELL, G., COPPINGER, R., PEIERLS, R., AND STAMPF, D. 1993. The ALMS systern: Implementation and performance. Brookhaven National Laboratory, internal report.
 
11
 
12
BACK, R. J.R. 1989b. Refinement calculus part II: Parallel and reactive programs. Tech. Rep. 93, bo Akademi, Departments of Computer Science and Mathematics, SF-20500 bo, Finland.
 
13
 
14
BACK, R. J. R. AND SERE, K. 1990. Deriving an Occam implementation of action systems. Tech. Rep. 99, bo Akademi, Departments of Computer Science and Mathematics, SF-20500 bo, Finland.
 
15
BAIARDI, F., DANELUTTO, M., JAZAYERI, M., PEL- AGATTI, S., AND VANNESCHI, M. 1991. Architectural models and design methodologies for general-purpose highly-parallel computers. In IEEE CompEuro 91--Advanced Computer Technology, Reliable Systems and Applications (May).
16
17
 
18
 
19
BANGER, C. 1992. Arrays with categorical type constructors. In ATABLE'92 Proceedings of a Workshop on Arrays (June), 105-121.
 
20
 
21
BAUDE, F. 1991. Utilisation du paradigme acteur pour le calcul parall~le. Ph.D. thesis, Universit6 de Paris-Sud.
 
22
 
23
BEGUELIN, A., DONGARRA, J., GEIST, A., MANCHEK, R., MOORE, K., AND SUNDERAM, V. 1993. PVM and HENCE: Tools for heterogeneous network computing. In Software for Parallel Computation, NATO ASI Series F., Vol. 106 J.S. Kowalik and L. Grandinetti, Eds. Springer-Verlag, 91-99.
 
24
BEGUELIN, A., DONGARRA, J., GEIST, A., MANCHEK, R., AND SUNDERAM, V. 1995. Recent enhancements to PVM. Int. J. Supercomput. Appl. High Perform. Comput.
 
25
BEGUELIN, A., DONGARRA, J.J., GEIST, G.A., MANCHEK, R., AND SUNDERAM, V.S. PVM software system and documentation. Email to netlib@ornl.gov.
 
26
 
27
 
28
BICKFORD, M. 1994. Composable specifications for asynchronous systems using UNITY. In Proceedings International Symposium on Advanced Research in Asynchronous Circuits and Systems (Nov.), 216-227.
29
 
30
 
31
 
32
BLACK, A. ET AL. 1984. EPL programmers' guide. University of Washington, Seattle, June.
 
33
BLELLOCH, G. 1987. Scans as primitive parallel operations. In Proceedings of the International Conference on Parallel Processing (August), 355-362.
 
34
 
35
36
 
37
 
38
BLELLOCH, G. E. AND SABOT, G.W. 1988. Compiling collection-oriented languages onto massively parallel computers. In Proceedings of the Second Symposium on the Frontiers of Massively Parallel Computation, 575-585.
 
39
 
40
 
41
BUHR, P.A. AND STROOBOSSCHER, R.A. 1990. The t~System: Providing light-weight concurrency on shared-memory multiprocessor computers running UNIX. Softw. Pract. Exper. 20, 9 (Sept.), 929-963.
 
42
BUHR, P.A., MACDONALD, H.I., AND STROOBOSS- CHER, R.A. 1991. t~System reference manual, version 4.3.3. Tech. Rep., Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada, N2L 3G1, March.
 
43
BURKHART, H., FALC() KORN, C., GUTZWILLER, S., OHNACKER, P., AND WASER, S. 1993. BACS: Basel algorithm classification scheme. Tech. Rep. 93-3, Institut ffir Informatik der Universit~t Basel, March.
 
44
BUTLER, R. AND LUSK, E. 1992. User's guide to the p4 programming system. Tech. Rep. ANL- 92/17, Argonne National Laboratory, Mathematics and Computer Science Division, October.
 
45
 
46
CANNATARO, M., SPEZZANO, a., AND TALIA, D. 1991. A parallel logic system on a multicomputer architecture. In Fut. Gen. Comput. Syst. 6, 317-331.
 
47
CARRIERO, N. 1987. Implementation of tuple space machines. Tech. Rep. YALEU/DCS/RR- 567, Department of Computer Science, Yale University, December.
48
 
49
CARRIERO, N. AND GELERNTER, D. 1993. Learning from our success. In Software for Parallel Computation, NATO ASI Series F, Vol. 106 J.S. Kowalik and L. Grandinetti, Eds. Springer-Verlag, 37-45.
 
50
51
52
53
54
 
55
 
56
 
57
COLE, M. 1990. Towards fully local multicomputer implementations of functional programs. Tech. Rep. CS90/R7, Department of Computing Science, University of Glasgow, January.
 
58
COLE, M. 1992. Writing parallel programs in non-parallel languages. In Software for Parallel Computers: Exploiting Parallelism through Software Environments, Tools, Algorithms and Application Libraries, R. Perrot, Ed., Chapman and Hall, London, 315-325.
 
59
COLE, M. 1994. Parallel programming, list homomorphisms and the maximum segment sum problem. In Parallel Computing: Trends and Applications, G.R. Joubert, Ed., North- Holland, 489-492.
 
60
 
61
 
62
63
 
64
 
65
 
66
DANELUTTO, M., DI MEGLIO, R., ORLANDO, S., PEL- AGATTI, S., AND VANNESCHI, M. 1991a. A methodology for the development and the support of massively parallel programs. Fut. Gen. Comput. Syst. Also appears as "The P3L language: An introduction," Hewlett-Packard Rep. HPL-PSC-91-29, December.
 
67
DANELUTTO, M., DI MEGLIO, R., PELAGATTI, S., AND VANNESCHI, M. 1990. High level language constructs for massively parallel computing. Tech. Rep., Hewlett-Packard Pisa Science Center, HPL-PSC-90-19.
 
68
DANELUTTO, M., PELAGATTI, S., AND VANNESCHI, M. 1991b. High level languages for easy massively parallel computing. Tech. Rep., Hewlett-Packard Pisa Science Center, HPL- PSC-91-16.
 
69
DARLINGTON, J., CRIPPS, M., FIELD, T., HARRISON, P.G., AND REEVE, M.J. 1987. The design and implementation of ALICE: A parallel graph reduction machine. In Selected Reprints on Dataflow and Reduction Architectures, S.S. Thakkar, Ed., IEEE Computer Society Press, Los Alamitos, CA.
 
70
 
71
 
72
 
73
74
 
75
DOUGLAS, A., ROWSTRON, A., AND WOOD, A. 1995. ISETL-Linda: Parallel programming with bags. Tech. Rep. YCS 257, Department of Computer Science, University of York, UK, September.
76
 
77
EISENBACH, S. AND PATTERSON, R. 1993. ~r-calculus semantics for the concurrent configuration language Darwin. In Proceedings of 26th Annual Hawaii International Conference on Systern Science (Jan.) Vol. II, IEEE Computer Society Press, Los Alamitos, CA.
78
 
79
 
80
FAIGLE, C., FURMANSKI, W., HAUPT, T., NIEMIC, J., PODGORNY, M., AND SIMONI, D. 1993. MOVIE model for open systems based high performance distributed computing. Concurrency Pract. Exper. 5, 4 (June), 287-308.
81
 
82
 
83
FLYNN-HUMMEL, S. AND KELLY, R. 1993. A rationale for parallel programming with sets. J. Program. Lang. 1, 187-207.
 
84
 
85
FOSTER, I. AND TUECKE, S. 1991. Parallel programming with PCN. Tech. Rep. ANL-91/32, Rev. 1, Mathematics and Computer Science Division, Argonne National Laboratory, December.
 
86
FOSTER, I., OLSON, R., AND TUECKE, S. 1992. Productive parallel programming: The PCN approach. Sci. Program. 1, 1, 51-66.
 
87
FOSTER, I., TUECKE, S., AND TAYLOR, S. 1991. A portable run-time system for PCN. Tech. Rep. ALMS/MCS-TM-137. Argonne National Laboratory and CalTech, December. Available at ftp ://i nfo. mcs. an l. go v/p u b/t ec h_re ports/.
 
88
 
89
90
 
91
 
92
GOGUEN, J. AND WINKLER, T. 1988. Introducing OBJ3. Tech. Rep. SRI-CSL-88-9, SRI International, Menlo Park, CA, August.
 
93
 
94
GOGUEN, J., WINKLER, T., MESEGUER, J., FUTAT- SUGI, K., AND JOUANNAUD, J.-P. 1993. Introducing OBJ. In Applications of Algebraic Specification using OBJ. J. Gouguen, Ed., Cambridge.
 
95
GOLDMAN, K.J. 1989. Paralation views: Abstractions for efficient scientific computing on the Connection Machine. Tech. Rep. MIT/ LCS/TM398, MIT Laboratory for Computer Science.
 
96
GOTTLIEB, A. ET AL. 1983a. The NYU Ultracomputer--designing an MIMD shared memory parallel computer. IEEE Trans. Comput. C-32 (Feb.), 175-189.
97
 
98
 
99
 
100
 
101
 
102
GRIMSHAW, A.S., LOYOT, E.C., AND WEISSMAN, J.B. 1991a. Mentat programming language. MPL Reference Manual 91-32, University of Virginia, 3 November.
 
103
GRIMSHAW, A. S., LOYOT, E. C., SMOOTAND, S., AND WEISSMAN, J.B. 1991b. Mentat user's manual. Tech. Rep. 91-31, University of Virginia, 3 November 1991.
 
104
105
 
106
 
107
HEINZ, E.A. 1993. Modula-3*: An efficiently compilable extension of Modula-3 for problemoriented explicitly parallel programming. In Proceedings of the Joint Symposium on Parallel Processing 1993 (Waseda University, Tokyo, May), 269-276.
 
108
HEMPEL, R. 1991. The ANL/GMD macros (PAR- MACS) in FORTRAN for portable parallel programming using the message passing programming model--users' guide and reference manual. Tech. Rep., GMD, Postfach 1316, D-5205 Sankt Augustin 1, Germany, November.
 
109
HEMPEL, R., HOPPE, H.-C., AND SUPALOV, A. 1992. PARMACS-6.0 library interface specification. Tech. Rep., GMD, Postfach 1316, D-5205 Sankt Augustin 1, Germany, December.
 
110
 
111
HIGH PERFORMANCE FORTRAN LANGUAGE SPECIFICATION 1993. Available by ftp from titan.rice.cs.edu, January.
 
112
 
113
114
 
115
HUMMEL, R., KELLY, R., AND FLYNN-HUMMEL, S. 1991. A set-based language for prototyping parallel algorithms. In Proceedings of the Computer Architecture for Machine Perception '91 Conference (Dec.).
116
 
117
 
118
JERID, L., ANDRE, F., CHERON, O., PAZAT, J. L., AND ERNST, T. 1994. HPF to C-PANDORE translator. Tech. Rep. 824, IRISA: Institut de Recherche en Informatique et Systemes Aleatoires, May.
 
119
 
120
 
121
KALE, L.V. 1987. The REDUCE-OR process model for parallel evaluation of logic programs. In Proceedings of the Fourth International Conference on Logic Programming (Melbourne, Australia), 616-632.
 
122
 
123
 
124
 
125
KILIAN, M.F. 1992a. Can O-O aid massively parallel programming? In Proceedings of the Dartmouth Institute for Advanced Graduate Study in Parallel Computation Symposium D. B. Johnson, F. Makedon, and P. Metaxas, Eds. (June), 246-256.
 
126
127
128
 
129
KUNG, H.T. 1982. Why systolic architectures? IEEE Comput. 15, 1, 37-46.
 
130
LARUS, J.R., RICHARDS, B., AND VISWANATHAN, G. 1992. C**: A large-grain, object-oriented, data-parallel programming language. Tech. Rep. TRl126, University of Wisconsin- Madison, November.
 
131
 
132
133
 
134
LINCOLN, P., MARTi-OILIET, N., AND MESEGUER, J. 1994. Specification, transformation, and programming of concurrent systems in rewriting logic. Tech. Rep. SRI-CSL-94-11, SRI, May.
135
 
136
 
137
LOBE, G., Lu, P., MELAX, S., PARSONS, I., SCHAEF- FER, J., SMITH, C., AND SZAFRON, D. 1992. The Enterprise model for developing distributed applications. Tech. Rep. 92-20, Department of Computing Science, University of Alberta, November.
 
138
MALCOLM, G. 1990. Algebraic data types and program transformation. Ph.D. Thesis, Rijksuniversiteit Groningen, September.
 
139
 
140
 
141
 
142
MCCOLL, W.F. 1994b. An architecture independent programming model for scalable parallel computing. In Portability and Performance for Parallel Processors, J. Ferrante and A. J. G. Hey, Eds., Wiley, New York.
 
143
MCGRAW, J., SKEDZIELEWSKI, S., ALLAN, S., OLDE- HOEFT, R., GLAUERT, J., KIRKHAM, C., NOYCE, B., AND THOMAS, R. 1985. Sisal: Streams and iteration in a single assignment language: Reference manual 1.2. Tech. Rep. M-146, Rev. 1, Lawrence Livermore National Laboratory, March.
 
144
MCGRAW, J.R. 1993. Parallel functional programming in Sisal: Fictions, facts, and future. In Advanced Workshop, Programming Tools for Parallel Machines (June). Also available as Laurence Livermore National Laboratories Tech. Rep. UCRL-JC-114360.
 
145
 
146
MENTAT 1994. Mentat tutorial. Available at ftp ://uv acs. cs. vi r g i n ia. ed u/p u b/m e ntat/t uto ri al. ps.Z.
 
147
MESEGUER, J. 1992. A logical theory of concurrent objects and its realization in the Maude language. Tech. Rep. SRI-CSL-92-08, SRI International, July.
 
148
149
 
150
MORE, T. 1986. On the development of array theory. Tech. Rep., IBM Cambridge Scientific Center.
151
 
152
MULLIN, L. M.R. 1988. A mathematics of arrays. Ph.D. Dissertation, Syracuse University, Syracuse, NY, December.
 
153
 
154
155
 
156
 
157
PEIERLS, R. AND CAMPBELL, G. 1991. ALMS-- programming tools for coupling application codes in a network environment. In Proceedings of the Heterogeneous Network-Based Concurrent Computing Workshop (Tallahassee, FL, Oct.). Supercomputing Computations Research Institute, Florida State University. Proceedings available via anonymous ftp from ftp.scri.fsu.edu in directory pub/parallel-workshop.91.
 
158
PEREIRA, L.M. AND NASR, R. 1984. Delta-Prolog: A distributed logic programming language. In Proceedings of the International Conference on Fifth Generation Computer Systerns (Tokyo, Nov.), 283-291.
 
159
PEYTON-JONES, S.L., CLACK, C., AND HARRIS, N. 1987. GRIP--a parallel graph reduction machine. Tech. Rep., Department of Computer Science, University of London.
 
160
 
161
 
162
 
163
 
164
 
165
RAINA, S. 1990. Software controlled shared virtual memory management on a transputer based multiprocessor. In Transputer Research and Applications 4, D.L. Fielding, Ed., IOS Press, Amsterdam, 143-152.
 
166
 
167
168
 
169
SEUTTER, F. 1985. CEPROL, a cellular programming language. Parallel Comput. 2, 327- 333.
 
170
171
 
172
 
173
SINGH, P. 1993. Graphs as a categorical data type. Master's Thesis, Computing and Information Science, Queen's University, Kingston, Canada.
174
 
175
 
176
 
177
 
178
 
179
 
180
 
181
SKILLICORN, D.B., HILL, J. M. D., AND MCCOLL, W.F. 1997. Questions and answers about BSP. Sci. Program. 6, 3, 249-274.
 
182
SPEZZANO, G. AND TALIA, D. 1997. A high-level cellular programming model for massively parallel processing. In Proceedings of the Second International Workshop on High-Level Programming Models and Supportive Environments, HIPS'97, IEEE Computer Society Press, Los Alamitos, CA, 55-63.
 
183
184
 
185
SUNDERAM, V. 1992. Concurrent computing with PVM. In Proceedings of the Workshop on Cluster Computing (Tallahassee, FL, Dec.). Supercomputing Computations Research Institute, Florida State University. Proceedings available via anonymous ftp from ftp.scri.fsu. edu in directory pub/parallel-workshop.92.
 
186
187
 
188
SZAFRON, D., SCHAEFFER, J., TONG, P. S., CHAN, E., LU, P., AND SMITH, C. 1991. Enterprise: An interactive graphical programming environment for distributed software. Available by ftp from cs.ualberta.ca.
 
189
 
190
TALIA, D. 1994. Parallel logic programming systerns on multicomputers. J. Program. Lang. 2, 1 (March), 77-87.
 
191
THOMPSON, S.J. 1992. Formulating Haskell. Tech. Rep. No. 29/92, Computing Laboratory, University of Kent, Canterbury, UK.
 
192
 
193
UEDA, K. 1985. Guarded Horn clauses. Tech. Rep. TR-103, ICOT, Tokyo.
 
194
VALIANT, L.G. 1989. Bulk synchronous parallel computers. Tech. Rep. TR-08-89, Computer Science, Harvard University.
195
 
196
 
197
VAN HENTENRYCK, P. 1989. Parallel constraint satisfaction in logic programming: Preliminary results of Chip within PEPSys. In Proceedings of the Sixth International Congress on Logic Programming, MIT, Cambridge, MA, 165-180.
 
198
VIOLARD, E. 1994. A mathematical theory and its environment for parallel programming. Parallel Process. Lett. 4, 3, 313-328.
199
 
200
WILKINSON, T., STIEMERLING, T., OSMON, P., SAULS- BURY, A., AND KELLY, P. 1992. Angel: A proposed multiprocessor operating system kernel. In Proceedings of the European Workshops on Parallel Computing (EWPC'92), (Barcelona, March 23-24) 316-319.
 
201
 
202
203
 
204
 
205
YANG, A. AND CHOO, Y. 1992b. Metalinguistic features for formal parallel-program transformation. In Proceedings of the Fourth IEEE International Conference on Computer Languages (April), IEEE Computer Society Press, Los Alamitos, CA.
 
206
 
207
 
208
ZENITH, S.E. 1991a. The axiomatic characterization of Ease. In Linda-Like Systems and their Implementation, Edinburgh Parallel Computing Centre, TR91-13, 143-152.
 
209
 
210
ZENITH, S.E. 1991c. Programming with Ease. Centre de Recherche en Informatique, I~cole Nationale Sup~rieure des Mines de Paris, Sept. 20.
211

CITED BY  56

Collaborative Colleagues:
David B. Skillicorn: colleagues
Domenico Talia: colleagues