MODELS AND LANGUAGES FOR PARALLEL COMPUTATION

Citation
Db. Skillicorn et D. Talia, MODELS AND LANGUAGES FOR PARALLEL COMPUTATION, ACM computing surveys, 30(2), 1998, pp. 123-169
Citations number
214
Categorie Soggetti
Computer Science Theory & Methods","Computer Science Theory & Methods
Journal title
ISSN journal
03600300
Volume
30
Issue
2
Year of publication
1998
Pages
123 - 169
Database
ISI
SICI code
0360-0300(1998)30:2<123:MALFPC>2.0.ZU;2-8
Abstract
We survey parallel programming models and languages using six criteria to assess their suitability for realistic portable parallel programmi ng. We argue that an ideal model should be easy to program, should hav e a software development methodology, should be architecture-independe nt, should be easy to understand, should guarantee performance, and sh ould provide accurate information about the cost of programs. These cr iteria reflect our belief that developments in parallelism must be dri ven by a parallel software industry based on portability and efficienc y. We consider programming models in six categories, depending on the level of abstraction they provide. Those that are very abstract concea l even the presence of parallelism at the software level. Such models make software easy to build and port, but efficient and predictable pe rformance is usually hard to achieve. At the other end of the spectrum , low-level models make all of the messy issues of parallel programmin g explicit (how many threads, how to place them, how to express commun ication, 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 tradeo ffs between expressiveness and performance. A few models have achieved both abstractness and efficiency. Both kinds of models raise the poss ibility of parallelism as part of the mainstream of computing.