SMP - Computer Definition
(Symmetric MultiProcessing) A multiprocessing architecture in which multiple CPUs, residing in one cabinet, share the same memory. SMP systems provide scalability. As business increases, additional CPUs can be added to absorb the increased transaction volume. SMP systems range from two to as many as 32 or more processors. However, if one CPU fails, the entire SMP system is down. Clusters of two or more SMP systems can be used to provide high availability (fault resilience). If one SMP system fails, the others continue to operate. A Pool of Resources One of the CPUs boots the system and loads the SMP operating system, which brings the other CPUs online. There is only one instance of the operating system and one instance of the application in memory. The operating system uses the CPUs as a pool of processing resources, all executing simultaneously, either processing data or in an idle loop waiting to do something. Whatever Can Be Overlapped SMP speeds up the processes that can be overlapped such as running multiple applications simultaneously. If an application is multithreaded, which allows for concurrent operations within the application itself, then SMP can improve the performance of that single application. From SMP to Multicore SMP dates back to the 1960s when IBM offered a System/360 dual-CPU model. Digital Equipment added SMP to its VAX line, and companies such as Sequent, Pyramid and Encore specialized in SMP on Unix platforms. The principles of SMP evolved into today's chips that contain multiple cores within the same CPU chip that are used in everything from servers to desktop computers to smartphones (see multicore). Contrast with MPP. See also NUMA.