← Back to catalogue
Research draft

parallel computing

vr.tr.parallel-computing · ACT.ACT

Enable an agent to recognise parallel computation, assess its correctness and performance, and choose justified ways to partition, coordinate and execute computational work.

Thing Registry Activities and processes

Research draft, second pass

A second pass drafted this model: the structure a model of this thing needs, and what is known about it in the world. The line under this one says how the second half was obtained - researched against sources, or recalled without web access, in which case nothing here was read anywhere and every claim is a lead to verify. Unreviewed either way.

recalled by Codex without web access - no source was read

Researched by: Codex

Purpose and description

Enable an agent to recognise parallel computation, assess its correctness and performance, and choose justified ways to partition, coordinate and execute computational work.

Parallel computing is the execution of multiple parts of a computation simultaneously on multiple processing elements, with decomposition and coordination arranged to preserve the computation's intended result.

It can be Identify independent work and propose a decomposition that preserves required dependencies.; Select a resource mapping and data placement appropriate to the workload and execution environment.; Choose communication and synchronisation mechanisms consistent with the correctness contract.; Compare parallel executions against a declared baseline under a reproducible measurement protocol.; Diagnose limits caused by serial dependencies, imbalance, data movement or coordination overhead.; Adjust granularity, scheduling or resource allocation and evaluate whether the change improves the declared objective..

Distinguishing features

For a realised execution, identify computation occurring simultaneously on distinct processing resources; interleaving tasks on one execution resource establishes concurrency but does not by itself establish parallel execution.

Identify how simultaneous work contributes to a defined computational objective; independently operating computers do not alone establish a parallel computation.

Separate a program's available parallelism from the parallelism realised in a particular run; a parallel-capable program can execute serially.

Do not require separate machines: multiple cores, accelerators or execution lanes within one machine can provide parallel execution.

Do not require speedup: coordination overhead or imbalance can make a parallel execution slower than its serial baseline.

Scope

+ Operational boundaries between parallelism, concurrency, distribution and vectorisation

+ Decomposition of computations into tasks or data partitions with explicit dependencies

+ Mapping work and data onto processing resources

+ Communication, synchronisation and correctness under parallel execution

+ Measurement of speedup, efficiency, scaling and resource costs

- Processor and accelerator hardware design, owned by computer architecture models

- General network infrastructure and protocols, owned by networking models

- Distributed service governance, replication and availability beyond their role in a parallel computation

- Application-domain meaning and scientific validity of the computation's inputs and outputs

- Programming-language and runtime specifications except where they constrain parallel execution

Characteristics

Parallelism form
Task, data, pipeline, vector or instruction-level; multiple values permitted Identifies which work can overlap and what decomposition or execution mechanisms are relevant.
Dependency structure
Ordering and data-dependency relations among work units, with cycles or iteration boundaries identified Constrains legal schedules and exposes work that must remain ordered.
Work and critical-path span
Operations or time under a stated execution-cost model Distinguishes total computational work from the dependency chain limiting achievable parallelism.
Processing-resource allocation
Counts by resource type, such as nodes, cores, hardware threads, accelerators and lanes Makes allocation explicit without treating heterogeneous resources as interchangeable.
Memory and communication organisation
Shared memory, distributed memory or hybrid; communication mechanisms recorded separately Determines data accessibility, movement requirements and coordination choices.
Work-unit granularity
Operations, elements or execution time per task or partition, including distribution Helps assess whether useful work outweighs scheduling and communication overhead.
Correctness assessment
Unassessed, supported within stated evidence scope, or violated; equivalence criterion attached Prevents performance gains from being accepted when ordering, numerical or output requirements fail.
Speedup and parallel efficiency
Speedup T_baseline/T_parallel; efficiency speedup/p where a comparable resource count p is meaningful Relates elapsed-time gains to resource use while requiring an explicit baseline and allocation.
Scaling regime
Strong scaling, weak scaling or another explicitly defined workload-resource relationship Prevents comparisons between measurements that change problem size differently.
Load imbalance
Distribution of useful work time and waiting time across workers; summary formula stated Shows whether completion is dominated by uneven assignment, resource differences or delayed workers.

Also called

multicomputerembarrassingly parallelhardware multithreadingMIMDMISDautomatic vectorizationSIMTuniform memory accessMPMDSPMDInstruction level parallelismloop-level parallelismdata parallelismlink aggregationdata-intensive computingloop schedulingtask parallelismprocess-oriented programmingmultiprocessingspeculative multithreadingtemporal multithreadingsimultaneous multithreadingmultiprocessor system

Where this came from

wikidata · CC0 1.0

Drafted structure

Bundle to layer to finding to question, as the second pass will find it: 6 bundles · 11 layers · 17 findings · 29 questions.

Parallelism boundaries Establishes what is being called parallel and the level at which that claim applies.

An agent must distinguish available parallel work from actual simultaneous execution and avoid equating parallelism with distribution or speedup.

Instance and observation

Locates the claim in an algorithm, program, runtime configuration or observed execution.

Claimed and realised parallelism

Record whether parallelism is a capability or an observed property, together with the processing resources and observation interval.

  1. Does this instance denote a parallel algorithm, a parallel-capable implementation or a particular execution? definition
  2. What trace or measurement demonstrates simultaneous computation, and at what resource and time resolution? measurement

Forms and neighbours

Identifies the forms of parallelism and their overlap with neighbouring concepts.

Parallelism classification

Record the relevant task, data, pipeline or lower-level parallelism without treating these categories as mutually exclusive.

  1. Which work overlaps: different tasks, partitions of the same operation, pipeline stages or execution lanes? definition
  2. What makes this claim about parallel computing rather than only concurrency, distributed deployment or independent computer use? boundary
Work decomposition and dependencies Represents the independent work, required ordering and partition boundaries of a computation.

Useful parallel execution depends on exposing enough independent work while preserving dependencies and controlling partition costs.

Dependency limits

Identifies ordering constraints and the chains that limit simultaneous progress.

Work and span account

Record work units, dependency relations, total work and critical-path span under an explicit cost model.

  1. Which dependencies arise from the computation itself, and which are introduced by the implementation? boundary
  2. What are total work and critical-path span for the stated input, and how were their costs estimated? measurement

Partition and granularity

Describes how tasks and data are divided and how much useful work each division contains.

Partition quality

Record partition sizes, boundary exchanges, duplicated work and variability in task cost.

  1. How are tasks or data partitioned, and what communication or redundant computation does each boundary introduce? definition
  2. Which granularity changes could reduce overhead without eliminating enough parallel work to leave resources idle? action
Resource mapping and data movement Connects computational work to execution resources, scheduling and data location.

The same decomposition can behave differently depending on placement, resource heterogeneity, memory locality and transfer costs.

Placement and scheduling

Records where work runs and how ready work is assigned over time.

Worker assignment

Record worker-to-resource mapping, scheduling policy, oversubscription and constraints on task migration.

  1. How do software workers map to physical execution resources, including accelerators and shared resources? definition
  2. Would static assignment, dynamic scheduling or work stealing better address the observed task-cost variation and locality constraints? action

Locality and transfers

Tracks the data access and movement required for workers to progress.

Data movement account

Record data ownership or sharing, placement, transfer volume and contention affecting execution.

  1. Which data accesses are local, shared-memory remote, device transfers or inter-node messages? definition
  2. How much elapsed time and traffic are attributable to data movement, and what evidence identifies bandwidth or latency limits? measurement
Coordination and correctness Defines acceptable results and the coordination needed to obtain them across parallel executions.

Parallel schedules can change visibility, ordering and numerical results; an agent needs a correctness contract before modifying execution.

Ordering and progress

Captures communication protocols, synchronisation and assumptions about memory visibility and progress.

Coordination contract

Record ownership rules, required ordering, coordination mechanisms and the runtime guarantees they depend on.

  1. Which locks, atomics, barriers, message exchanges or ownership rules enforce required ordering and visibility? definition
  2. Which runtime or memory-model guarantees support those mechanisms, and where are those guarantees documented? provenance
  3. What evidence addresses races, deadlock, starvation and mismatched collective operations where applicable? measurement

Result equivalence

Establishes how outputs from different schedules and resource allocations are judged.

Acceptable output variation

Record whether correctness requires exact equality, numerical tolerance or another application-defined relation.

  1. Must parallel results match a reference bit for bit, within a numerical tolerance or through another explicit equivalence criterion? definition
  2. How will schedule-dependent reductions, random-number generation and resource-count changes be checked against that criterion? action
Performance and scaling decisions Supports reproducible performance assessment and justified changes to parallel execution.

Resource count alone does not establish benefit; decisions require comparable baselines, a declared objective and evidence about limiting costs.

Measurement contract

Defines the workload, baseline and timing boundaries used in performance claims.

Comparable performance evidence

Record input, implementation, resource allocation, timing inclusions, repeated-run variation and baseline selection.

  1. Which baseline is used, and are its algorithm, optimisation level, input and output requirements comparable to the parallel run? boundary
  2. What elapsed-time distribution, speedup and resource cost were measured, including or excluding setup, transfers and output as explicitly stated? measurement

Scaling limits and interventions

Relates changes in workload and resources to measured bottlenecks and possible improvements.

Scaling decision

Record the scaling regime, measured limits and evidence supporting a proposed intervention or stopping point.

  1. As resources increase, is total workload fixed, workload per resource fixed or another relationship used? definition
  2. How do serial work, coordination, imbalance and data movement contribute to the observed scaling limit? measurement
  3. Which measured change justifies adding resources, changing decomposition or reducing the allocation for the declared time, cost or energy objective? action
Evidence and external alignment What the world already says about this thing, gathered so the model can be checked against it.

A model that cannot be lined up against existing standards, identifiers and practice cannot be adopted by anyone who already uses them.

Reported evidence

Findings from the breadth pass, kept separate from the structural claims.

Check these first

Recalled without web access and unsourced; every item is a lead to verify.

  • This is recall-based content; no sources were consulted.
  • The listed kinds overlap: decomposition strategies and memory architectures are separate classification axes.
  • Performance comparisons require an explicit baseline, workload and definition of processing element; terminology also varies on whether instruction-level parallelism is included.
  1. Which of these check these first hold for the sense of parallel computing this model covers, and on what evidence? provenance

Kinds and varieties

Recalled without web access and unsourced; every item is a lead to verify.

  • Data parallelism
  • Task parallelism
  • Pipeline parallelism
  • Shared-memory parallel computing
  • Distributed-memory parallel computing
  • Hybrid shared-memory and distributed-memory parallel computing
  1. Which of these kinds and varieties hold for the sense of parallel computing this model covers, and on what evidence? provenance

Standards and regulation

Recalled without web access and unsourced; every item is a lead to verify.

  • MPI standard, maintained by the MPI Forum, specifies interfaces for message passing in parallel programs.
  • OpenMP specification, maintained by the OpenMP Architecture Review Board, specifies directives, routines and environment variables for parallel programming.
  • OpenCL specification, maintained by the Khronos Group, specifies programming interfaces and execution models for heterogeneous parallel computing.
  1. Which of these standards and regulation hold for the sense of parallel computing this model covers, and on what evidence? provenance

Real-world use

Recalled without web access and unsourced; every item is a lead to verify.

  • Numerical simulation of weather, fluid flow and physical systems
  • Training and inference for machine learning models
  • Rendering images and processing video
  • Executing database queries and large-scale data processing
  • Scientific searches and ensembles of independent simulation runs
  1. Which of these real-world use hold for the sense of parallel computing this model covers, and on what evidence? provenance

Typical measurements

Recalled without web access and unsourced; every item is a lead to verify.

  • Speedup - Workload-dependent; T1/Tp compares execution time on one processing element with time on p elements; values below 1 indicate slowdown. - dimensionless ratio
  • Parallel efficiency - Commonly between 0 and 1; calculated as speedup divided by p, with values above 1 possible when memory or other execution effects produce superlinear speedup. - dimensionless ratio
  • Strong scaling - Measured by varying processing-element count while holding total problem size fixed; no universal numerical range. - execution time in seconds versus processing-element count
  • Weak scaling - Measured by increasing problem size with processing-element count while holding work per element approximately fixed; ideal execution time remains constant. - execution time in seconds versus processing-element count
  1. Which of these typical measurements hold for the sense of parallel computing this model covers, and on what evidence? provenance

Failure modes and hazards

Recalled without web access and unsourced; every item is a lead to verify.

  • Data races and incorrect synchronization can corrupt results or make behaviour depend on timing.
  • Deadlock or livelock can prevent useful progress.
  • Load imbalance and serial portions can leave processing elements idle and limit speedup.
  • Communication overhead, synchronization costs and memory-bandwidth contention can make parallel execution slower than serial execution.
  • Changes in floating-point operation order can alter numerical results and impede reproducibility.
  1. Which of these failure modes and hazards hold for the sense of parallel computing this model covers, and on what evidence? provenance

Neighbouring kinds and how to tell them apart

Recalled without web access and unsourced; every item is a lead to verify.

  • Concurrent computing - Concurrency concerns computations whose progress overlaps; parallel computing requires simultaneous execution, whereas concurrency can occur through interleaving on one processing element.
  • Distributed computing - Distributed computing concerns components on distinct networked computers; parallel computing can occur within one computer, and a distributed system need not execute parts of a computation simultaneously.
  • High-performance computing - High-performance computing concerns demanding computational workloads and performance; parallel computing is an execution approach used both in such systems and in ordinary devices.
  • Vector computing - Vector computing applies operations to vectors of data and is one mechanism for data parallelism; parallel computing also includes independently executing tasks and processes.
  1. Which of these neighbouring kinds and how to tell them apart hold for the sense of parallel computing this model covers, and on what evidence? provenance

What the second pass must settle

  • Which authoritative definitions should anchor the registry entry, and how do they treat implicit instruction-level parallelism and vector execution?
  • Should the catalogue treat an ensemble of independent jobs as one parallel computation when its only shared objective is aggregate throughput?
  • Which neighbouring registered models already own concurrency, distributed computing and computer architecture, and where should explicit links replace duplicated content?
  • What normalisation, if any, makes efficiency comparisons meaningful across heterogeneous CPU and accelerator allocations?
  • How much fault recovery and partial-result handling should this model own for long-running parallel jobs before responsibility passes to a distributed-systems model?