Symmetric multiprocessor system
A symmetric multiprocessor system is a multiprocessor system with centralized shared memory called main memory (MM) operating under a single operating system with two or more homogeneous processors—i.e., it is not a heterogeneous computing system.
More precisely an SMP is a tightly coupled multiprocessor system with a pool of homogeneous processors running independently, each processor executing different programs and working on different data and with capability of sharing common resources (memory, I/O device, interrupt system, etc.) and connected using a system bus or a crossbar.
Usually each processor has an associated private high-speed memory known as cache memory (or cache) to speed-up the MM data access and to reduce the system bus traffic.
Sometimes the term "symmetric multiprocessor" is confused with the term symmetric multiprocessing.
While multiprocessing is a type of processing in which two or more processors work together to process more than one program simultaneously, the term "multiprocessor" refers to the hardware architecture that allows multiprocessing.
The term "multiprocessor" is the opposite of the term "monoprocessor" or "uniprocessor."
- "An Introduction to the New IBM e-server pSeries High Performance Switch" - Glossary pg. 246 - http://www.redbooks.ibm.com/redbooks/pdfs/sg246978.pdf
- Locking in OS Kernels for SMP Systems - http://irl.cs.ucla.edu/~yingdi/web/paperreading/smp_locking.pdf
- Intel MultiProcessor Specification - 2. System Overview - http://pdos.csail.mit.edu/6.828/2007/readings/ia32/MPspec.pdf