Symmetric Multiprocessing, And How Sun Makes it Scale
Written by TomKranz on December 3rd, 2008 in Computers and Technology.
When one comes up against an unbreakable barrier, what do you do? Symmetrical multiprocessing is a classic example of handling the problem by going around the barrier rather than trying to break through it. The technological barrier, in this case, is the computer processor. Although CPU technology is constantly evolving, becoming faster and more powerful, it’s not growing fast enough to keep up with our computing needs. If one can’t break through it, how does one go around it? The answer is to add a second processor, or a third, or ten, or a hundred. Symmetrical multiprocessing is the computer architecture that allows a computer to divide different tasks among multiple processors working in unison.
In symmetric multiprocessing, or SMP, two or more processors act independently, but share the share the memory bank. When using processors that have more than one core, each core acts as a separate processor. Each processor (or core) can be assigned to any process or thread, and can pass the tasks back and forth between the different processors for load balancing. SMP architecture is most useful for systems running multiple programs simultaneously, because each program can be assigned its own dedicated processor.
Obviously, one must have an SMP-capable operating system to order to take full advantage of the multiple processors. Without one, a multiprocessor computer would behave like a uniprocessor system—maxing out one CPU while the others remain unused.
Modern entry-level SMP systems (which these days includes home PCs and laptops) often have only one processor with multiple cores, the most popular ones being Intel’s Xeon, Pentium D, and Core Duo series, and AMD’s Athlon64 and Operton processor families. Entry-level servers also use CPUs, along with Sun Microsystems’ UltraSPARC family of multicore processors. Midrange servers usually contain several multicore processors, most often between four and eight.
High-end servers have sixteen or more multicore processors. However, for a long time high-end servers’ processing power was blocked by another unbreakable barrier—the physical memory addressing limitation of 64 Gigabits. The development of 64-bit memory addressing about five years ago got around this barrier. Intel’s EM64T Xeon processor, AMD’s AMD64 Operton, and Sun’s SPARC64 processors are all now able to perform 64-bit addressing.
Sun Microsystems’ M-class Enterprise servers using SPARC64 VII processors are good examples of the power of an SMP system. The most powerful of Sun’s high-end servers is the Enterprise M9000, which can be equipped with up to 64 processors. If combined with Sun’s SPARC64 VII processor, a quad core CPU, this server can effectively utilize 256 separate, independent processing cores. In fact, in May of 2008, a Sun Enterprise M9000 server set a worldwide performance record on the TPC-H data warehousing benchmark at the 1 Terabyte scale factor using an Oracle Database.
For now, the unbreakable barrier of processor speed has been sidestepped. The combination of multicored processors, 64-bit memory addressing and symmetrical multiprocessing allows this to happen. The next technological barrier we’ll come up against is the limit of physical memory addressing for the processors. But with 64-bit architecture capable of addressing up to 16 ExaBits of memory, this is not a barrier we’ll bumping up against anytime soon.
Tom Kranz runs a Unix Consulting business, as well as a help site for users of Silicon Graphics computers. He specialise in Solaris consultancy and larger scale infrastructure solutions.
Popularity: unranked [?]





















