15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FIGURE 5.4<br />

also available and are used for applications requiring large data sets. Each CPU processing core consists<br />

of several arithmetic and logic units (ALU), multi-ported register files, floating point multipliers, and<br />

branch execution units. Most widely used CPU architecture can execute instructions out of order (OOO)<br />

and several operations at a time (super scalar).<br />

Server applications operate on many instruction and data sets. During program execution, the same<br />

instruction and data elements may be repeatedly used. High-performance CPU execution rate requires<br />

high instruction and data bandwidth. Caches are used to store and operate on the most frequently used<br />

instruction and data as well as provide high bandwidth for fast execution. A high-performance server<br />

CPU contains several levels of hardware caches. Each cache may consist of separate instruction and data<br />

caches or an integrated instruction and data cache. Caches are numbered in increasing order, starting<br />

from one from the processing core toward system memory. The size of each cache in the order of increasing<br />

number is several times that of a lower level cache. Current server microprocessors use L3 or L4 caches<br />

to achieve highest level of performance. Cache size, associativity, line size, and replacement policy are<br />

determined by the characteristics of the desired applications running on the server using performance<br />

simulation models. Caches costs are determined by the state-of-the-art VLSI processing technology,<br />

implementation, and power dissipation considerations.<br />

The number of CPUs used in a server is determined by the server performance requirement and design<br />

limitations. Most server designs contain several sockets for optional future CPU enhancement. Multiple<br />

CPUs provide more computing performance. Architecture and design of high performance MP architectures<br />

is still an active area of research.<br />

Cost considerations also demand sharing of expensive resources such as system memory or peripheral<br />

storage devices. High-performance arbitrated access to common system resources by all CPUs is another<br />

topic of current research in server design.<br />

System Memory<br />

One of the critical subsystems in a server is the system memory. System memory consists of several banks<br />

of dynamic random access memory (DRAM) modules. The larger the number of independent memory<br />

banks, the larger is the total bandwidth available to system devices requesting memory access (such as<br />

CPUs and peripheral devices). There are a variety of DRAM memory configurations such as single in-line<br />

memory module (SIMM) or dual in-line memory module (DIMM). Current servers can have several<br />

gigabytes of system memory.<br />

Due to need for improved reliability and robustness, server system memory use fault tolerance features<br />

such as ECC. Errors can happen for a variety of reasons such as DRAM memory soft error rate (SER)<br />

or errors in transmission signaling among various chips. Another robustness measure is the number of<br />

error bits than can be detected and corrected. Low-end servers use single error correct double error detect<br />

(SECDED). Another robustness feature is chipkill. Chipkill enables isolation and correction of multi-bit<br />

faults such as failure of a single memory chip.<br />

Finally, because server system memory may be large, auto-initialization of memory values to known<br />

values such as during power up may be required. Other robustness features include memory mirroring,<br />

© 2002 by CRC Press LLC<br />

CPU<br />

CPU<br />

CPU<br />

Symmetric multiprocessor architecture.<br />

Interconnect<br />

Peripheral<br />

System<br />

Memory<br />

M<br />

E<br />

M<br />

O<br />

R<br />

Y

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!