Skip to content

Parallelism

Actually executing several computations at the same time.

Software architecture

What is parallelism?

Parallelism means multiple computations actually execute simultaneously, for example on different processor cores. This differs from merely overlapping progress of concurrent tasks. To benefit, work must be suitably divisible and appropriate resources available. Coordination, data transfer and shared access may add overhead.

A fictional portal is to generate previews of independent documents. Several suitable worker processes can handle them simultaneously. The team first establishes resource needs and limits so that other portal tasks remain served. It compares actual processing with the required result. More workers do not guarantee a proportionate reduction in total duration; bottlenecks and coordination overhead can limit the benefit. Shared mutable data still requires suitable coordination.

Sources