Symmetric Multiprocessing

Symmetric Multiprocessors (SMP)

They are standalone computer systems characterized by the presence of two or more similar processors sharing common main memory and I/O facilities, interconnected by a bus or internal connection scheme. All processors in an SMP perform the same functions and have shared access to I/O devices. The system is controlled by an integrated operating system that facilitates interaction between processors and their programs at various levels.

Advantages of SMP include enhanced performance through parallel processing, increased availability as the failure of one processor doesn’t halt the system, incremental growth by adding processors, and scalability for vendors offering different configurations. However, these benefits depend on the operating system’s ability to exploit parallelism.

The SMP organization features multiple processors, each with its control unit, arithmetic-logic unit, and registers. Processors share main memory and access I/O devices through interconnection mechanisms, often a shared bus. Communication between processors occurs through memory or direct signalling. Cache memory introduces the cache coherence problem, addressed at the hardware level to ensure consistency among processors. SMP’s transparent nature to users is maintained by the operating system handling task scheduling and synchronization among processors.

SMP has a number of potential advantages over uniprocessor architecture, including the following:

  •  Performance: If the work to be done by a computer can be organized so that some portions of the work can be done in parallel, then a system with multiple processors will yield greater performance than one with a single processor of the same type. This is illustrated in Figure 2.12. With multiprogramming, only one process can execute at a time; meanwhile all other processes are waiting for the processor. With multiprocessing, more than one process can be running simultaneously, each on a different processor.
  •  Availability: In as symmetric multiprocessor, because all processors can perform the same functions, the failure of a single processor does not halt the system. Instead, the system can continue to function at reduced performance.
  •  Incremental growth: A user can enhance the performance of a system by add- ing an additional processor.
  •  Scaling: Vendors can offer a range of products with different price and performance characteristics based on the number of processors configured in the system.