Parallelism
Actually executing several computations at the same time.
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
Related terms
- Asynchronous programmingWaiting for a result without blocking the rest of the intended workflow.
- ConcurrencyOrganising multiple tasks so that their processing periods can overlap.
- Race conditionA result depends on the timing of overlapping accesses and can therefore be wrong.
- Cache stampedeA cache stampede occurs when concurrent cache misses trigger the same expensive calculation or data query repeatedly.
- BackpressureBackpressure adjusts incoming data to the receiver’s processing capacity through signals to slow down or pause.
- Memory leakMemory that is no longer needed stays allocated while the program runs.
Your project with ASES
Describe your project to us. We will get back to you with an initial assessment.