NEW
Executing multiple computations simultaneously across cores, processors, or nodes to accelerate performance and scale workloads.
DESCRIPTION
Parallel computing uses concurrent execution to solve problems faster by decomposing tasks across CPUs, GPUs, or clusters. Programmers employ models like shared-memory (OpenMP), distributed-memory (MPI), and GPU kernels (CUDA/SYCL). Speedup is bounded by Amdahl’s and Gustafson’s laws. Correctness requires managing synchronization, communication, and data partitioning. It powers AI training, simulation, ETL, and real-time analytics at large scale.
ALTERNATIVE DEFINITIONS
Wikipedia
Parallel computing is a type of computation in which many calculations are carried out simultaneously.
Highlights simultaneous execution characteristic.
NVIDIA
Parallel computing is the simultaneous use of multiple compute resources to solve a computational problem.
Emphasizes multiple resources solving a single problem.
Intel
Parallel programming uses multiple processors or cores working together to solve problems faster than a single processor.
Focuses on processors/cores and performance gains.
RELATED TERMS
Distributed Computing GPU Computing MPI OpenMP CUDA SIMD MIMD Amdahl’s Law MapReduce
COMPETING TERMS
Serial Computing
RELATIONS
- Narrower: CUDA
KNOWLEDGE AREAS
Infrastructure Software Engineering AI Data Engineering Real-time & Streaming Data
TARGET AUDIENCE
Software Developer AI Engineer Data Engineer Cloud Architect Hardware Engineer DevOps Engineer Software Architect
EXTERNAL SOURCES
- Wikipedia - Parallel computing
- OpenMP Architecture Review Board - Shared-memory parallel programming specs
- MPI Forum - Message Passing Interface standards
- NVIDIA - GPU programming platform resources
TOP QUESTIONS
When should Parallel Computing be used?
Use it when problems can be decomposed into independent or loosely coupled tasks to reduce runtime or handle large datasets.
Category: UseCase
What is the main risk in Parallel Computing?
Concurrency bugs, race conditions, and inefficient communication can negate speedup and compromise correctness.
Category: Risks
How does Parallel Computing differ from Distributed Computing?
Parallel often runs on shared-memory or tightly coupled resources; distributed uses networked nodes with message passing and higher latency.
Category: Alternatives
What are popular frameworks for Parallel Computing?
OpenMP for shared memory, MPI for distributed memory, and CUDA/SYCL for GPUs are widely used.
Category: Scope
What is Amdahl’s Law in Parallel Computing?
It states speedup is limited by the serial fraction of a program, constraining the benefits of parallelization.
Category: Theory
How to measure performance in Parallel Computing?
Use speedup, efficiency, scalability, and strong/weak scaling benchmarks to evaluate parallel performance.
Category: Testing
What is a hot topic around Parallel Computing?
GPU acceleration for AI training and inference, and hybrid CPU-GPU pipelines for data engineering.
Category: Topic
How to avoid race conditions?
Use synchronization primitives, immutable data structures, and careful task partitioning to prevent shared-state conflicts.
Category: HowTo
What hardware supports Parallel Computing?
Multi-core CPUs, GPUs, TPUs, and HPC clusters with high-speed interconnects support parallel workloads.
Category: Requirements