SMP configurations typically have 2, 4, 8, or 16 CPUs. They require an SMP knowledgable Operating system that can handle SMP hardware configurations and efficiently allocate work between multiple CPUs. There are many complications related the fact that inefficient allocation of work will cause the overall throughput to be limited by communication bandwidth between the CPUs rather than the capacity of the CPUs. Once that happens, additional CPUs do not increase throughput significantly. Linux and Windows NT/2000/XP support SMP. Other software issues include forcing processes to specific CPUs, using finer granularity in resource locking than is needed for single CPUs, moving processes between CPUs, and persuading the OS not to use SMP when single processor operation is desired.
Because of overhead, two CPUs usually do not produce twice the work of one CPU and four rarely produce twice the work of two. Depending on the application, workload management can be a major concern. However, multiple CPUs can be very effective when dealing with problems that inherently have a great deal of parallelism.
Return To Index Copyright 1994-2008 by Donald Kenney.