4.4 Server Processor Subsystems

Although server processor subsystems resemble the typical workstation’s, there are significant differences. Before designing a server it is important to understand how much more a server’s processor subsystem can offer.

The difference between a server’s processor subsystem and that of a workstation lies in its architecture, or design. Server subsystems have more advanced buses that can move more data at a faster rate.

The demands of a server are much greater than the demands put on a workstation. For this reason, processor subsystems are designed to be scalable, or accommodate more than one processor.

Symmetric Multiprocessing

The old saying “if one is good, then two are better” holds true for processors. Symmetric Multiprocessing (SMP)—or using multiple processors, working together on a single process—has made servers more powerful than in previous generations.

In the past, dual, or multi-processor servers were used. However, each processor would work alone (or asymmetrically) on its own task. Symmetrical multiprocessing allows all the processors to work on a single process in tandem. In order to facilitate SMP, specialized software must be used.

Depending on the server, a processor node can be partitioned like a hard drive. In this type of scenario, different arrays of processors can be dedicated to specific tasks.

Multithreading

Threading refers to the way it appears that a processor is processing multiple tasks, simultaneously. In actuality, the processor is running through many individual tasks, one at a time. Because the processor works so fast, it gives the illusion that it is performing multiple tasks at the same time.

SMP enables multithreading. Multithreading is the ability for multiple tasks to be processed simultaneously. Specific software is required for SMP environments to take advantage of multithreading. Both Unix and Windows NT servers can accommodate SMP.

Like workstations, SMP servers work under a single server operating system, like Windows NT, or Unix, and shares memory as well as input and output resources and functions.

The number of processors sharing a single node can be expressed as n-way, where n is the number of processors. For example, a 16-way SMP server, is a server with sixteen processors working symmetrically.

Single vs. Multi-core processors

A Single Core CPU is a traditional CPU that organizes, executes, and stores instructions in its cache for quick retrieval. In contrast, a Multi-core CPU has two or more independent cores that can handle incoming data simultaneously—like having two or more hands to perform tasks.

Gains in speed and efficiency with multi-core CPUs are possible, depending on the software and applications being used.

Hyper-threading

Intel Pentium 4, Xeon, Atom, and Core i7 CUPs take advantage of hyper-threading to improve performance.

Hyper-threading allows a CPU to perform multiple tasks simultaneously. Through the operating system each CPU core shares the workload width an additional virtual CPU. That means that a properly scheduled two CPU system (with hyper-treading) can operate like one that has a total of 4 CPUs.

64-Bit Server Environment

64-Bit CPUs environments are an improvement over the older 32-bit standard. In essence, a 64-bit processor can do twice the amount of work as a 32-bit processor, in half the time. 

The advantages to 64-bit servers processors are:

Although SMP and 64-bit environments can be expensive, in the long run their ability to be upgraded and carry such a a large workload can justify the expense.