multiprocessing

The simultaneous execution of two or more instructions by a computer having more than one central processor.

Multiprocessing refers to a system's ability to support more than one processor and/or the ability to allocate tasks between them. This allows for higher throughput and better fault tolerance. Symmetric Multiprocessing (SMP) is the most common form.

        graph LR
  Center["multiprocessing"]:::main
  Rel_pipelining["pipelining"]:::related -.-> Center
  click Rel_pipelining "/terms/pipelining"
  Rel_process["process"]:::related -.-> Center
  click Rel_process "/terms/process"
  Rel_parallelism["parallelism"]:::related -.-> Center
  click Rel_parallelism "/terms/parallelism"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Knowledge Check

1 / 1

🧒 Explain Like I'm 5

Multiprocessing is like having two or more brains working together in the same body. They can handle twice as much work by sharing the load.

🤓 Expert Deep Dive

Cache coherence is the biggest challenge in multiprocessing, ensured via protocols like MESI. Asymmetric Multiprocessing (AMP) assigns specific roles to each processor. NUMA architectures are used in large-scale multi-socket servers.

📚 Sources