Data Center.com

SMP (symmetric multiprocessing)

By Alexander S. Gillis

What is SMP (symmetric multiprocessing)?

SMP (symmetric multiprocessing) is computer processing done by multiple processors that share a common operating system (OS) and memory. In symmetric multiprocessing, the processors share the same input/output (I/O) bus or data path. A single copy of the OS is in charge of all the processors.

SMP systems are better suited for online transaction processing than massively parallel processing (MPP) systems in which many users access the same database in a relatively simple set of transactions. Unlike MPP systems, SMP systems can dynamically balance the workload among computers to serve more users faster.

The SMP computer architecture is a multiprocessor hardware and software architecture that has multiple identical processors. The processors equally share main memory and have access to all I/O devices. Today, most modern OSes support SMP machines. In the past, users had to learn special programming skills to use SMP.

How is SMP used?

Symmetric multiprocessing systems are used primarily in resource-intensive computing environments. These are environments that need a large amount of computing power to execute application tasks and processes. Most multiprocessor systems use SMP architectures.

SMP is most useful for time-sharing systems and multithreading time-sharing systems. Time sharing is the distribution of a computing resource to multiple users at one time. Similarly, multithreading is a central processing unit (CPU) feature that enables multiple, concurrent tasks to be performed in one process. More specifically, multithreading enables multiple instruction threads to execute independently, all sharing the same processing resources.

Time sharing uses SMP, as it distributes computing resources to multiple users and can run multiple processes in parallel. This process is aided by SMP, which is designed to have more than one process running on different processing units. SMP is used in multithreading for the same reason, as multithreading handles multiple processes at one time and SMP divides the threads up to each processor.

SMP, however, is not commonly used in PCs or applications that have not been modified to take multithreaded programming into account. Applications and programs need to be designed to enable multithreading so that threads can be scheduled on different parallel processors.

What are the advantages and disadvantages of SMP?

Advantages of symmetric multiprocessing include the following:

However, SMP also comes with the following disadvantages:

Learn about different server hardware configurations, including more about CPU configurations and how to choose them.

22 Mar 2022

All Rights Reserved, Copyright 2000 - 2024, TechTarget | Read our Privacy Statement