parallel computer

parallel processor

Try this search on OneLook / Google


Nearby terms: paradigm « paradox « paradoxes of material implication « parallel computer » parallel computing » parallel distributed process » parallel distributed processing

parallel computing

parallel processing

Try this search on OneLook / Google


Nearby terms: paradox « paradoxes of material implication « parallel computer « parallel computing » parallel distributed process » parallel distributed processing » parallelism

parallel distributed process

parallel distributed processing

Try this search on OneLook / Google


Nearby terms: paradoxes of material implication « parallel computer « parallel computing « parallel distributed process » parallel distributed processing » parallelism » parallel processing

parallel distributed processing

also known as PDP. See connectionism, parallel processing parallelism, artificial neural network.

<2001-03-16>

Try this search on OneLook / Google


Nearby terms: parallel computer « parallel computing « parallel distributed process « parallel distributed processing » parallelism » parallel processing » parallel processor

parallelism

1. <philosophy of mind> the view that mental and physical phenomena occur in parallel but that these simultaneities never involve causal interactions.

See dualism, pre-established harmony, occasionalism

2. parallel processing

3. <PI> The maximum number of independent subtasks in a given task at a given point in its execution. E.g. in computing the expression

	(a + b) *

(c + d) the expressions a, b, c and d can all be calculated in parallel giving a degree of parallelism of (at least) four. Once they have been evaluated then the expressions a + b and c + d can be calculated as two independent parallel processes.

The Bernstein condition states that processes P and Q can be executed in parallel (or in either sequential order) only if:

(i) there is no overlap between the inputs of P and the outputs of Q and vice versa and

(ii) there is no overlap between the outputs of P, the outputs of Q and the inputs of any other task.

If process P outputs value v which process Q reads then P must be executed before Q. If both processes write to some variable then its final value will depend on their execution order so they cannot be executed in parallel if any other process depends on that variable's value.

<2001-03-16>

Try this search on OneLook / Google


Nearby terms: parallel computing « parallel distributed process « parallel distributed processing « parallelism » parallel processing » parallel processor » param

parallel processing

<parallel> The simultaneous use of more than one computer to solve a problem. There are many different kinds of parallel computer (or "parallel processor"). They are distinguished by the kind of interconnection between processors (known as "processing elements" or PEs) and between processors and memory. Flynn's taxonomy also classifies parallel (and serial) computers according to whether all processors execute the same instructions at the same time ("single instruction/multiple data" - SIMD) or each processor executes different instructions ("multiple instruction/multiple data" - MIMD).

The processors may either communicate in order to be able to cooperate in solving a problem or they may run completely independently, possibly under the control of another processor which distributes work to the others and collects results from them (a "processor farm"). The difficulty of cooperative problem solving is aptly demonstrated by the following dubious reasoning:

	If it takes one man one minute to dig a post-hole
	then sixty men can dig it in one second.

Amdahl's Law states this more formally.

Processors communicate via some kind of network or bus or a combination of both. Memory may be either shared memory (all processors have equal access to all memory) or private (each processor has its own memory - "distributed memory") or a combination of both.

A huge number of software systems have been designed for programming parallel computers, both at the operating system and programming language level. These systems must provide mechanisms for partitioning the overall problem into separate tasks and allocating tasks to processors. Such mechanisms may provide either implicit parallelism - the system (the compiler or some other program) partitions the problem and allocates tasks to processors automatically or explicit parallelism where the programmer must annotate his program to show how it is to be partitioned. It is also usual to provide synchronisation primitives such as semaphores and monitors to allow processes to share resources without conflict.

Load balancing attempts to keep all processors busy by moving tasks from heavily loaded processors to less loaded ones.

Communication between tasks may be either via shared memory or message passing. Either may be implemented in terms of the other and in fact, at the lowest level, shared memory uses message passing since the address and data signals which flow between processor and memory may be considered as messages.

See also cellular automaton.

Usenet newsgroup: comp.parallel.

Institutions, research groups.

[FOLDOC]

<2001-03-16>

Try this search on OneLook / Google


Nearby terms: parallel distributed process « parallel distributed processing « parallelism « parallel processing » parallel processor » param » parameter

parallel processor

<parallel> A computer with more than one central processing unit, used for parallel processing.

[FOLDOC]

<2001-03-16>

Try this search on OneLook / Google


Nearby terms: parallel distributed processing « parallelism « parallel processing « parallel processor » param » parameter » parametric polymorphism