Parallel computing

related topics
{system, computer, user}
{math, number, function}
{rate, high, increase}
{law, state, case}
{theory, work, human}
{woman, child, man}
{car, race, vehicle}
{acid, form, water}

Parallel computing is a form of computation in which many calculations are carried out simultaneously,[1] operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel"). There are several different forms of parallel computing: bit-level, instruction level, data, and task parallelism. Parallelism has been employed for many years, mainly in high-performance computing, but interest in it has grown lately due to the physical constraints preventing frequency scaling.[2] As power consumption (and consequently heat generation) by computers has become a concern in recent years,[3] parallel computing has become the dominant paradigm in computer architecture, mainly in the form of multicore processors.[4]

Parallel computers can be roughly classified according to the level at which the hardware supports parallelism—with multi-core and multi-processor computers having multiple processing elements within a single machine, while clusters, MPPs, and grids use multiple computers to work on the same task. Specialized parallel computer architectures are sometimes used alongside traditional processors, for accelerating specific tasks.

Parallel computer programs are more difficult to write than sequential ones,[5] because concurrency introduces several new classes of potential software bugs, of which race conditions are the most common. Communication and synchronization between the different subtasks are typically one of the greatest obstacles to getting good parallel program performance.

The speed-up of a program as a result of parallelization is observed as Amdahl's law.

Contents

Full article ▸

related documents
X86 architecture
Spyware
WordPerfect
Mach (kernel)
PID controller
Unix
Network address translation
Freenet
Symbian OS
Booting
CP/M
Analog-to-digital converter
MIPS architecture
Internet Explorer
Motorola 68000
Internet Relay Chat
NTFS
I²C
Timeline of computing 1950–1979
IBM PC compatible
IBM 1620
Home computer
X.25
Framebuffer
Integrated circuit
Digital subscriber line
Interlace
Digital television
Subwoofer
Phreaking