Parallel programming model: Difference between revisions

Content deleted Content added
Bhatele (talk | contribs)
No edit summary
Line 1:
A '''parallel programming model''' is a set of software technologies to express [[parallel algorithm]]s and match applications with the underlying parallel systems. It encloses the areas of [[application]]s, [[programming language]]s, [[compiler]]s, [[library (computer science)|libraries]], [[communications system]]s, and [[parallel I/O]]. Due to the difficulties in [[automatic parallelization]] today, 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 categoriedcategorized for two kinds of systems: [[Shared memory|shared-memory]] system and [[Distributed memory|distributed-memory]] system, though the lines between them are largely blurred nowadays.
 
A 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.