What is SMP (Symmetric Multi-Processing)?
Multiprocessing(MP), involves computer hardware and software architecture where there are multiple(two or more) processing units executing programs for the single operating(computer) system.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
SMP i.e. symmetric multiprocessing, refers to the computer architecture where multiple identical processors are interconnected to a single shared main memory, with full accessibility to all the I/O devices, unlike asymmetric MP. In other words, all the processors have common shared(common) memory and same data path or I/O bus as shown in the figure.
Characteristics of SMP
- Identical: All the processors are treated equally i.e. all are identical.
- Communication: Shared memory is the mode of communication among processors.
- Complexity: Are complex in design, as all units share same memory and data bus.
- Expensive: They are costlier in nature.
- Unlike asymmetric where a task is done only by Master processor, here tasks of the operating system are handled individually by processors.
This concept finds its application in parallel processing, where time-sharing systems(TSS) have assigned tasks to different processors running in parallel to each other, also in TSS that uses multithreading i.e. multiple threads running simultaneously.
- Throughput: Since tasks can be run by all the processors unlike in asymmetric, hence increased degree of throughput(processes executed in unit time).
- Reliability: Failing a processor doesn’t fail whole system, as all are equally capable processors, though throughput do fail a little.
- Complex design: Since all the processors are treated equally by OS, so designing and management of such OS become difficult.
- Costlier: As all the processors share the common main memory, on account of which size of memory required is larger implying more expensive.