Explicit parallelism

Explicit parallelism

In computer programming, explicit parallelism is the representationof concurrent computations by means of primitivesin the form of special-purpose directives or function calls. Most parallel primitives are related to process synchronization, communication or task partitioning. As they seldom contribute to actually carry out the intended computation of the program, their computational cost is often consideredas parallelization overhead.

The advantage of explicit parallel programming is the absolute programmercontrol over the parallel execution. A skilledparallel programmer takes advantage of explicit parallelism to producevery efficient code. However, programming with explicit parallelism is often difficult, especially for non computing specialists, because of the extra work involved in planningthe task division and synchronization of concurrent processes.

In some instances, explicit parallelism may be avoided with the use of an optimizing compiler that automatically extracts the parallelism inherent to computations (see implicit parallelism).

Programming with explicit parallelism

*Erlang (programming language)
*Message Passing Interface
*Parallel Virtual Machine
*Ease programming language
*Ada programming language
*Java programming language
*JavaSpaces


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Explicit Parallelism Instruction Computing —   [Abk. EPIC, dt. »Computernutzung mit expliziter paralleler Befehlsausführung«], VLIW Prozessor …   Universal-Lexikon

  • Task parallelism — (also known as function parallelism and control parallelism) is a form of parallelization of computer code across multiple processors in parallel computing environments. Task parallelism focuses on distributing execution processes (threads)… …   Wikipedia

  • Data parallelism — (also known as loop level parallelism) is a form of parallelization of computing across multiple processors in parallel computing environments. Data parallelism focuses on distributing the data across different parallel computing nodes. It… …   Wikipedia

  • Memory-level parallelism — or MLP is a term in computer architecture referring to the ability to have pending multiple memory operations, in particular cache misses or translation lookaside buffer misses, at the same time. In a single processor, MLP may be considered a… …   Wikipedia

  • Transputer — A transputer was a pioneering concurrent computing microprocessor design of the 1980s from INMOS, a British semiconductor company based in Bristol. [ Allen Kent, James G. Williams (eds.) (1998) Encyclopedia of Computer Science and Technology ,… …   Wikipedia

  • Parallel computing — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Thread (computer science) — This article is about the concurrency concept. For the multithreading in hardware, see Multithreading (computer architecture). For the form of code consisting entirely of subroutine calls, see Threaded code. For other uses, see Thread… …   Wikipedia

  • Message Passing Interface — MPI, the Message Passing Interface, is standardized and portable message passing system designed by a group of researchers from academia and industry to function on a wide variety of parallel computers. The standard defines the syntax and… …   Wikipedia

  • Simultaneous multithreading — Simultaneous multithreading, often abbreviated as SMT, is a technique for improving the overall efficiency of superscalar CPUs with hardware multithreading. SMT permits multiple independent threads of execution to better utilize the resources… …   Wikipedia

  • Parallel Random Access Machine — In computer science, Parallel Random Access Machine (PRAM) is a shared memory abstract machine. As its name indicates, the PRAM was intended as the parallel computing analogy to the random access machine (RAM). In the same way, that the RAM is… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”