Parallel Computing
Parallel computing is a model of computation in which multiple calculations or processes are carried out simultaneously, splitting a larger problem into smaller pieces that run concurrently across multiple processing units.
15 resources across 2 libraries
Glossary Terms(7)
Quantum Computing
Quantum computing is a model of computation that uses quantum-mechanical phenomena such as superposition and entanglement, encoded in units called qubits, to p…
GPU Computing
GPU computing is the use of a graphics processing unit's highly parallel architecture to accelerate general-purpose computation, not just rendering graphics, b…
CUDA
CUDA (Compute Unified Device Architecture) is NVIDIA's parallel computing platform and programming model that lets developers write software running directly o…
Parallel Computing
Parallel computing is a model of computation in which multiple calculations or processes are carried out simultaneously, splitting a larger problem into smalle…
Grid Computing
Grid computing is a distributed computing model that pools the processing power, storage, and other resources of many independently owned and geographically di…
High-Performance Computing (HPC)
High-Performance Computing (HPC) refers to the use of aggregated computing power — typically supercomputers or clusters of tightly interconnected servers — to…
Cache Coherence
Cache coherence is the property of a multiprocessor system in which all processor cores see a consistent, up-to-date view of shared memory data, even though ea…
Interview Questions(8)
What is Barrier Synchronization?
Barrier synchronization is a coordination mechanism where every thread in a group must reach a defined checkpoint before any of them is allowed to proceed past…
What is Cache Coherence in Multiprocessor Systems?
Cache coherence is the guarantee that all CPU cores in a multiprocessor system see a single, consistent view of a shared memory location, even though each core…
What is Gang Scheduling?
Gang scheduling is a multiprocessor scheduling technique that schedules all the related threads of a parallel program to run simultaneously on separate CPU cor…
What is Load Balancing in a Multiprocessor OS?
Load balancing in a multiprocessor OS is the scheduler policy of spreading runnable tasks evenly across all available CPU cores so no core sits idle while anot…
Symmetric vs Asymmetric Multiprocessing (SMP vs AMP)
Symmetric multiprocessing (SMP) has every CPU core run the same copy of the OS kernel and share equal access to memory and I/O, while asymmetric multiprocessin…
What is Processor Affinity?
Processor affinity is the tendency, or explicit configuration, for a process or thread to keep running on the same CPU core it ran on before, so it can keep re…
What Are the Key Challenges in Multicore Scheduling?
Multicore scheduling is harder than single-core scheduling because the OS must simultaneously reason about cache locality, load balancing across cores, synchro…
How Does an OS Support GPU Computing?
An OS supports GPU computing through a kernel-mode driver that manages GPU memory and command submission, a scheduler that time-slices or preempts the GPU amon…