Distributed computing implements a kind of concurrency. It interrelates
tightly with concurrent programming so much that they are sometimes not taught
as distinct subjects
Multiprocessor systems
A multiprocessor system is simply a computer that has more than one CPU on
its motherboard. If the operating system is built to take advantage of this, it
can run different processes (or different threads belonging to the same process)
on different CPUs.
Multicore systems
Intel CPUs from the late Pentium 4 era (Northwood and Prescott cores)
employed a technology called Hyperthreading that allowed more than one thread
(usually two) to run on the same CPU. The more recent Sun UltraSPARC T1, AMD
Athlon 64 X2, AMD Athlon FX, AMD Opteron, Intel Pentium D, Intel Core, Intel
Core 2 and Intel Xeon processors feature multiple processor cores to also
increase the number of concurrent threads they can run.
Multicomputer systems
A multicomputer may be considered to be either a loosely coupled NUMA
computer or a tightly coupled cluster. Multicomputers are commonly used when
strong compute power is required in an environment with restricted physical
space or electrical power.
Common suppliers include Mercury Computer Systems, CSPI, and SKY Computers.
Common uses include 3D medical imaging devices and mobile radar.
Computing taxonomies
The types of distributed systems are based on Flynn's taxonomy of systems;
single instruction, single data (SISD), single instruction, multiple data (SIMD),
multiple instruction, single data (MISD), and multiple instruction, multiple
data (MIMD). Other taxonomies and architectures available at Computer
architecture and in Category:Computer architecture.
Computer clusters
A cluster consists of multiple stand-alone machines acting in parallel across
a local high speed network. Distributed computing differs from cluster computing
in that computers in a distributed computing environment are typically not
exclusively running "group" tasks, whereas clustered computers are usually much
more tightly coupled. Distributed computing also often consists of machines
which are widely separated geographically.
|