Parallel programming model: Difference between revisions

Content deleted Content added
Bluebot (talk | contribs)
m Bringing "External links", "See also" and "Reference" sections in line with the Manual of Style.
Line 1:
A '''parallel programming model''' is a set of software technologies to express [[parallel algorithmsalgorithm]]s and match applications with the underlying parallel systems. It encloses the areas of applications[[application]]s, languages[[programming language]]s, compilers[[compiler]]s, [[library (computer science)|libraries]], communication[[communications systemssystem]]s, and [[parallel I/O]]. People have to choose a proper parallel programming model or a form of mixture of them to develop their parallel applications on a particular platform.
 
Parallel models are implemented in several ways: as libraries invoked from traditional sequential languages, as language extensions, or complete new execution models. They are also roughly categoried for two kinds of systems: shared-memory system and distributed-memory system, though the lines between them are largely blured nowadays.
 
A program[[programming model]] is usually judged by its expressibility and simplicity, which are by all meanings conflicting factors. The ultimate goal is to improve productivity of programming.
 
Currenty== main-streamExample parallel programming models are:==
 
As of 2006, the current main-stream parallel programming models are:
* [[Parallel Virtual Machine|PVM]]
* [[Message Passing Interface|MPI]]
Line 15 ⟶ 17:
* [[SHMEM]]
* [[Stream_processing]]
 
Other reseach-level models are:
* Cray’s Chapel,
Line 21 ⟶ 24:
 
==External links ==
 
* http://www.pmodels.org
 
[[Category:Parallel computing|Programming model]]
[[Category:Programming paradigms]]