Several different architectures are used to enhance scalability. One hardware structure for achieving scalability beyond a single processor is the symmetric multiprocessor (SMP) system. In an SMP system, several processors share a global memory and I/O subsystem. The traditional SMP software model, known as the shared memory model, runs a single copy of the operating system with application processes running as if they were on a single processor system. If applications that do not share data are run on an SMP system, the systems will provide high scalability.
The major drawbacks to SMP systems at the hardware level are physical limitations in bus and memory speed that are expensive to overcome. As microprocessor speeds increase, shared memory multiprocessors become increasingly expensive. Today there are large price steps as a customer scales from one processor, to two to four processors, and especially when scaling beyond eight processors.
Finally, neither the SMP hardware structure nor its traditional software model provides inherent availability benefits over single-processor systems.
Only one architecture has proven advantages for availability and scalability in business-critical computing applications: the cluster.