| Symmetric Multiprocessing |
Article Index for Symmetric |
Information AboutSymmetric Multiprocessing |
| CATEGORIES ABOUT SYMMETRIC MULTIPROCESSING | |
| parallel computing | |
| flynns taxonomy | |
| SHOPPER'S DELIGHT | |
|
SMP systems allow any processor to work on any task no matter where the data for that task is located in memory; with proper Operating System support, SMP systems can easily move tasks between processors to balance the workload efficiently. On the downside, memory is much slower than the processors accessing them, and even single-processor machines tend to spend a considerable amount of time waiting for data to arrive from memory. SMP makes this worse, as only one processor can access memory at a time; it is possible for several processors to be starved. ALTERNATIVES SMP is only one style of multiprocessor machine; others include NUMA which dedicates different memory banks to different processors. This allows processors to access memory in parallel, which can dramatically improve memory throughput if the data is localized to specific processes (and thus processors). On the downside, NUMA makes the cost of moving data from one processor to another more expensive, meaning that balancing a workload is more expensive. The benefits of NUMA are limited to particular workloads, notably on Server s where the data is often associated strongly with certain tasks or users. Other systems include asymmetric or asymmetrical multiprocessing ( ASMP ), in which separate specialized processors are used for specific tasks; and Computer Cluster ed multiprocessing (e.g. Beowulf ), in which not all memory is available to all processors. The former is not widely used or supported (though the high-powered 3D chipsets in modern videocards could be considered a form of asymmetric multiprocessing), while the latter is used fairly extensively to build very large supercomputers. ADVANTAGES AND DISADVANTAGES SMP has many uses in science, industry, and business where Software is usually custom programmed for multithreaded processing. However, most consumer products such as Word Processor s and Computer Games are not written in such a manner that they can gain large benefits from SMP systems. For games this is usually because writing a program to increase performance on SMP systems will produce a performance loss on Uniprocessor systems, which comprise the largest percentage of the market. Due to the nature of the different programming methods, it would generally require a separate project to support both uniprocessor and SMP systems with maximum performance. Programs running on SMP systems do, however, experience a performance increase even when they have been written for uniprocessor systems. This is because Hardware Interrupts that usually suspend program execution while the Kernel handles them can run on an idle processor instead. The effect in most applications (e.g. games) is not so much a performance increase as the appearance that the program is running much more smoothly. In some applications, particularly Software Compilers and some Distributed Computing projects, one will see an improvement by a factor of (nearly) the number of additional processors. This of course assumes that the Operating System supports SMP; if it does not, then the additional processors remain idle and the system functions as a uniprocessor system. In cases where many jobs are being processed in an SMP environment, administrators often experience a loss of hardware efficiency. Software programs have been developed to schedule jobs so that the processor utilization reaches its maximum potential. Good software packages can achieve this maximum potential by scheduling each CPU separately, as well as being able to integrate multiple SMP machines and clusters. ENTRY LEVEL SYSTEMS Entry level Server s and Workstations with two processors dominate the SMP market today. The most popular entry level SMP systems use the X86 Instruction Set architecture and are based on Intel ’s Xeon processors or AMD ’s Athlon MP, Athlon 64 X2 or Opteron 200 series processors. Other readily available non-x86 processor choices in the same market are the Sun Microsystems UltraSPARC , Fujitsu SPARC64 , SGI MIPS , Intel Itanium , Hewlett Packard PA-RISC , Hewlett-Packard (formerly Compaq formerly Digital Equipment Corporation ) DEC Alpha , IBM 's POWER and Apple Computer PowerPC processors. In all cases, these systems are available in uniprocessor versions as well. MID LEVEL SYSTEMS Mid level servers using between four to eight processors can be found using the Intel Xeon MP, AMD Opteron 800 series and the above mentioned UltraSPARC, SPARC64, MIPS, Itanium, PA-RISC, Alpha and POWER processors. High end systems with sixteen or more processors are also available with all of the above processors. SMP had been around for some years in the RISC market before penetrating the x86 market; where with the exception of a few rare 80486 systems the x86 SMP market began with the Intel Pentium processor supporting up to two processors, and later the Intel Pentium Pro expanded SMP support with up to four processors natively, and systems with as many as two thousand Pentium Pro processors were built. Later the Intel Pentium II , Intel Pentium III and AMD Athlon MP processors could be used with up to two processors in a system, and Intel Pentium II Xeon and Intel Pentium III Xeon processors could be used with up to four processors in a system natively, and although several much larger systems were built, they were all limited by the physical memory addressing limitation of 64 GB . With the introduction of 64-bit memory addressing on the AMD64 and EM64T capable processors released recently this allows systems to address much larger amounts of memory so that we will not reach their addressable limitation of 16 EB in the foreseeable future. SMP CAPABLE OPERATING SYSTEMS
SEE ALSO |