knowledge

Overview

Multi-processing refers to the ability of a computer system to execute multiple processes or instructions simultaneously using multiple CPUs or cores. It improves performance, efficiency, and responsiveness.


Terminology

TermDefinition
ProgramA set of instructions stored in memory; becomes a process when executed
ProcessA program in execution with its own memory space and resources
ThreadSmallest unit of execution within a process; shares memory with other threads
SchedulingDetermines the execution order of processes/threads
Load BalancingDistributes work efficiently across processors or cores

Core Concepts

Multithreading

A process can contain multiple threads running concurrently.

  • Threads share memory and CPU resources within the same process
  • Enables better CPU utilization and responsiveness

Multicore Processing

  • A single CPU containing multiple independent cores
  • Each core can execute instructions independently
  • Enables true parallel execution within a single chip

Multi-Processing

  • System with multiple CPUs or cores working together
  • Requires scheduling to determine execution order
  • Requires load balancing to distribute work efficiently

Parallel Computing

  • Breaks large tasks into smaller subtasks
  • Subtasks execute simultaneously across multiple processors/cores
  • Results are combined to produce final output

Flynn’s Taxonomy

Classification of computer architectures based on instruction and data streams.

TypeFull NameDescription
SISDSingle Instruction, Single DataTraditional sequential processing
SIMDSingle Instruction, Multiple DataSame operation on multiple data points (e.g., GPU)
MISDMultiple Instruction, Single DataRare; fault-tolerant systems
MIMDMultiple Instruction, Multiple DataModern multicore/multiprocessor systems

Graphics Processing Unit (GPU)

  • Specialized processor designed for parallel computation
  • Contains many smaller cores optimized for large data sets
  • Used for graphics rendering, AI/ML workloads, and parallel processing tasks
  • Contrasts with CPU: fewer, more powerful cores vs. many smaller ones

  • Race Conditions

References / Images

  • Flynn’s Taxonomy diagram
  • CPU vs GPU architecture comparison