Content deleted Content added
m WP:CHECKWIKI error 61 fix, References after punctuation per WP:REFPUNC and WP:PAIC using AWB (8459) |
|||
Line 1:
A '''parallel programming model''' is a concept that enables the expression of parallel programs which can be compiled and executed. The value of a programming model is usually judged on its generality: how well a range of different problems can be expressed and how well they execute on a range of different architectures. The implementation of a programming model can take several forms such as libraries invoked from traditional sequential languages, language extensions, or complete new execution models.
Consensus on a particular programming model is important as it enables software expressed within it to be transportable between different architectures. The [[von Neumann model]] has facilitated this with sequential architectures as it provides an efficient ''bridge'' between hardware and software, meaning that high-level languages can be efficiently compiled to it and it can be efficiently implemented in hardware.<ref name="Valiant1990">Leslie G. Valiant, A bridging model for parallel computation, Commun. ACM, volume 33, issue 8, August, 1990, pages 103--111</ref>
==Main classifications and paradigms==
Line 29:
===Problem decomposition===
Any parallel program is composed of simultaneously executing processes, problem decomposition relates to the way in which these processes are formulated. This classification may also be referred to as [[algorithmic skeleton]]s or parallel programming paradigms.
====Task parallelism====
Line 50:
* [[Parallel Random Access Machine]]
* [[Stream processing]]
* [[Bulk synchronous parallel
==See also==
* [[List of concurrent and parallel programming languages]]
* [[Bridging model]]
* [[
* [[Automatic parallelization]]
* [[Degree of parallelism]]
Line 73:
* [http://www.mcs.anl.gov/~itf/dbpp/text/book.html Designing and Building Parallel Programs] (Section 1.3, 'A Parallel Programming Model')
* [http://computing.llnl.gov/tutorials/parallel_comp/ Introduction to Parallel Computing] (Section 'Parallel Programming Models')
{{Parallel Computing}}
|