Multiple CPUs


Most of the processors discussed in this chapter support multiple-processor operation. Servers that contain multiple processors have the following major advantages:

  • Superior performance when running multithreaded tasks. In this scenario, different processors can run different program threads being used by a single program. Relatively few multithreaded applications are currently available (mostly CAD, high-end graphics, and 3D rendering programs).

  • Superior performance when running multiple single-threaded applications. In an environment where applications are not multithreaded, a multiprocessor system can still run individual applications on separate processors.

SMP is the multiple-CPU design used by most multiprocessor-equipped servers up to four-way designs. In a server that uses SMP, all processors use the same operating system and memory space. The operating system kernel subdivides multiple threads of a single multithreaded task or separate single-threaded tasks among the processors.

Performance Issues

At first glance, it would seem that as a single-processor system is upgraded to two or more processors, system performance would increase by the same factor as the number of processors added. The actual increase in system performance is somewhat less, however, because all processors share a common memory area and common I/O structures (expansion slots and integrated hard disk host adapters). You can estimate the overall performance boost you will obtain by adding processors to an x86 server by using the figures in Table 2.9.

Table 2.9. Processing Power in x86 Multiple-Processor Servers

Number of Processors

Processing Power[1]

1

1x

2

1.8x

4

3.5x

6

5.2x

8

6.1x


[1] Compared to the processing power of a single-processor server.

The values in Table 2.9 assume that the additional processors use the same specifications as the original processor. If faster processors are used or if other upgrades are addedsuch as faster Ethernet, faster ATA, SCSI drives or arrays, or more RAMthe performance improvement could be even greater, depending on the server's primary use. The results with other server processor architectures can be even better than those shown in Table 2.9, depending on the processors, operating system used, memory size, and tasks being performed.

Unfortunately, implementing a multiprocessor system doesn't guarantee improved performance. For example, a server used only for file and print sharing won't benefit from moving to a multiprocessor configuration. However, if the server performs calculations, computations, or other types of processor-intensive tasks, moving to a multiprocessor configuration can significantly improve performance.

SMP and Dual-Core Processors

A dual-core processor provides a performance boost that is similar to the performance of two single-core processors, and a pair of dual-core processors provides a performance boost similar to the performance of a four-way server running single-core processors.

With Intel, AMD, and IBM now supporting dual-core processors in their latest designs, even low-end servers can benefit from SMP multiprocessing.

NUMA Multiprocessing

Non-uniform Memory Access (NUMA) is a type of multiprocessing environment that enables processors to use memory that may be located on a remote bus.

Servers that use NUMA typically include two or more combinations of processorscache and main memoryknown as nodes. A node is comparable to the processor and memory subsystem in an SMP server. The difference is that a NUMA server has an interconnect bus between each pair of nodes, enabling the nodes to communicate with each other to share memory and data. Unlike SMP, in which all memory has the same latency, NUMA is designed to handle local memory (memory in the current node) and remote memory (memory in another node), and compensates for the longer latency that results from a node accessing remote memory. Virtually all real-world implementations of NUMA feature cache coherency, so NUMA is sometimes called ccNUMA.

NUMA is often used in the design of high-end x86 servers using the Intel Xeon MP as well as Itanium and RISC-based servers with more than four processors. Some of the current servers that support NUMA include the Hewlett-Packard Integrity rx8620, Hewlett-Packard Superdome, IBM xSeries 445, NEC Express5800, and Unisys ES7000 Aries and Orion series. These servers feature 16 to 64 processors. NUMA requires special chipset designs.

For more information on server chipsets, see Chapter 3, "Server Chipsets."


Figure 2.2 illustrates how a typical 16-way NUMA-based system, the IBM xSeries 445, is built up from two eight-way nodes, each of which contains two four-way Xeon MP-based Central Electronics Complexes (CECs). The SMP expansion ports connect each four-processor CEC to the other CEC in the same node and to the CECs in the other node. To help reduce the effects of memory latency on performance, each CEC contains 64MB of L4 memory cache (the Xeon MP processors contains L1L3 cache).

Figure 2.2. A typical 16-way NUMA system, an IBM x445.


Upgrading to Multiple Processors

If your multiple-processorcapable x86, Itanium/Itanium 2, or RISC-based server was manufactured by a major vendor such as Dell, Hewlett-Packard, IBM, Silicon Graphics (SGI), or Sun, you can contact your vendor for additional processors. The vendor will make sure that the additional processors are compatible with your system. Servers that use a blade architecture can accommodate a large number of blades (where each blade holds a processor, memory, and support circuitry) per enclosure. For example, a Hewlett-Packard ProLiant BL10e G2 can contain up to 20 blades per enclosure. To create a more powerful server, rack mounts can be used to hold multiple enclosures.

For more information about blade servers, see "Blade Servers," p. 725.


If you built or are building your own x86 or Itanium server, you must make sure that any additional processor(s) you add will be compatible with your original processor. Use the following guidelines:

  • AMD Athlon MP Additional processors must run at the same clock speed as the original processor.

  • Intel Pentium II Xeon Additional processors should run at the same clock speed and preferably use the same processor stepping as the original processor. See http://support.intel.com/support/processors/pentiumII/xeon/24544.htm for additional information.

  • Intel Pentium III Xeon Additional processors should run at the same clock speed, have the same L2 cache size, and preferably use the same processor stepping as the original processor. See http://support.intel.com/support/processors/pentiumiii/xeon/sb/CS-007546.htm for additional information.

  • Intel Pentium II, Pentium III, Pentium II Xeon, Pentium III Xeon, and Xeon Refer to the latest specification update guide for each processor (available on the Intel website, at http://developer.intel.com) and use the DP Platform Population Matrix to determine which specific processor stepping combinations are compatible. See the document "How Do I Know Which Processors Support Dual Processing?" at http://support.intel.com/support/processors/sb/CS-007878.htm for instructions.

  • Intel Itanium 2 For best results, use processors with the same stepping as the original processor. These will also have the same clock speed and cache sizes. If you want to mix steppings, refer to the latest specification update guide for the Itanium 2 (available on the Intel website, at http://developer.intel.com). Search for document 251141 and go to the section "Limited Support for Mixed Steppings" for details.

  • AMD Opteron You can mix and match different revisions or clock speeds of single-core processors, provided that each processor uses revision C0 or later, uses the same L2 cache size, and meets other requirements indicated in AMD's "BIOS and Kernel Developer's Guide for the AMD Athlon 64 and AMD Opteron Processors," document #26094 (section 12.8). See the AMD website, at www.amd.com, to download this document. For best results, you should use processors that have the same ordering part number (OPN). Use the same OPN for two or more dual-core Opteron processors.

If you are building a multiprocessor server, keep in mind that most x86 server motherboards support up to four processors. However, some vendors manufacture motherboards that support up to eight AMD Opteron 8xx processors through the use of a daughterboard that fits over the original motherboard's processor section. If you need a larger server, consider a preconfigured server from a major server vendor.

Tip

To identify technical information about Intel processors up through the Pentium III and Pentium III Xeon, including clock speed, stepping, onboard cache memory size, and other features, download the Intel Processor Frequency ID Utility from Intel's website, at www.intel.com/support/processors/tools/frequencyid/. For current Intel processors, including Xeon, Pentium 4, and Pentium D, use the Intel Processor Identification Utility, available from http://support.intel.com/support/processors/tools/piu/.

To identify AMD processors, download the AMD CPUInfo utility, available from the "AMD Processor Utilities and Updates" page at the AMD website, www.amd.com.


Upgrading to a Dual-Core Processor

If a system uses a motherboard that supports dual-core processors, such as motherboards based on the Intel E8500 chipset for the Xeon MP or most AMD Opteron-based systems, you can replace the existing single-core processor(s) with dual-core processors. Upgrading a one-way (single-processor) system with a dual-core processor provides a performance boost just slightly lower than what you'd receive with a dual-processor upgrade. If you want to upgrade a multiprocessor system to use dual-core processors, you should replace all of its existing single-core processors with dual-core processors.

Caution

You must check with your system or motherboard vendor to determine whether BIOS upgrades are necessary before you can use a dual-core processor on a system with a supported chipset.


Multiprocessing and Operating Systems

All modern server operating systems are designed to use two or more single-core processors or at least one dual-core processor. However, if you are considering a four-way or larger server, you need to know the maximum number of processors supported by your operating system. Table 2.10 provides a list of popular server operating systems and the number of processors they support. For UNIX implementations, see the vendor for details.

Table 2.10. SMP Support, by Operating System

Version

Maximum Number of Processors Supported

Windows

NT Server 4.0

4

NT Server 4.0 Enterprise Edition

8

2000 Server

4

2000 Advanced Server

8

2000 Datacenter Edition

32

Server 2003 Standard Edition and Web Server Edition

2

Server 2003 Enterprise Edition

8

Server 2003 Datacenter Edition

32

Linux

2.2x kernel

16

2.4x kernel

64

Sun Solaris

8.0

128

9.0

128

10.0

128


Note

x86 and Itanium servers that support two-way and higher processor configurations include a BIOS option known as MPS (Multiprocessor Support). For Linux, select MPS v1.1. For Windows NT 4.0, 2000, and Windows Server 2003, select MPS v1.4 unless you have problems with this setting; use MPS v1.1 if MPS v1.4 does not work properly.


You also might need to add support for multiple processors to your operating system if you are upgrading from a single processor to a two-way or greater configuration. For Microsoft Windows, see the following documents, available from http://support.microsoft.com, for instructions and troubleshooting:

  • Windows NT 4.0 Document numbers 156358 and 124541

  • Windows 2000 Document number 234558

  • Windows Server 2003 Document numbers 309283, 319091, 903006, 814607, and 824721

Depending on your Linux distribution, you may not need to do anything special to have support for SMP, or you might need to install an SMP kernel or recompile your Linux kernel to add SMP. For example, Red Hat Linux version 9 and above automatically detects SMP (two-way or larger) motherboards and automatically install kernels and boot loader entries for both one-way (single-processor) and SMP operation, and it automatically boots in SMP mode. You can use the LILO boot configuration utility to select the single-processor mode if necessary. See the documentation for your Linux distribution for details.




Upgrading and Repairing Servers
Upgrading and Repairing Servers
ISBN: 078972815X
EAN: 2147483647
Year: 2006
Pages: 240

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net