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.

peripheral packet transfer size differences and shared bandwidth issues. Switching fabric solutions<br />

that use technologies, such as virtual connection or circuit switching, need to carefully architect<br />

solutions that meet connection channel setup, tear down, and blocking rates as well as quality of<br />

service (QOS) for real-time, multimedia data.<br />

• Additional peripheral or system hardware solutions for specialized functions such as encryption<br />

and decryption may also be available.<br />

System Interconnect<br />

Design and implementation of system interconnect to support communication between multiple CPUs,<br />

system memory, and the peripheral subsystem is a challenging task. The solution has to satisfy several<br />

requirements.<br />

System interconnect has to provide high bandwidth, low latency access between CPUs (or system bus)<br />

and the system memory. If there is insufficient bandwidth or large memory latency, the overall server<br />

performance will degrade. Some of the design choices are multiple fast and wide memory channels,<br />

memory interleave, and high-speed pipelined CPU-to-system interconnect bus.<br />

System interconnect has to provide efficient and high bandwidth access between the system memory<br />

and the peripheral subsystem. If there is insufficient bandwidth for memory to peripheral subsystems,<br />

high performance transfer of pre- or post-processed data to network interface will not be possible. The<br />

same issue may plague the storage subsystems. The access latency for peripheral subsystems may not be<br />

as critical as that required by CPUs. The main reason for this is that peripheral accesses such as disk<br />

storage are typically pre-fetched or scheduled before they are needed.<br />

Because system memory is a shared resource, memory traffic balancing is critical. If the CPU is favored<br />

in system memory access, there may not be sufficient bandwidth available from the peripheral subsystem<br />

to fill or empty required data. As a result, the CPU will ultimately be data starved. Favoring peripheral<br />

access to the main memory may be detrimental to nonstalled CPU operation. To make matters worse,<br />

the balancing of the traffic from CPU and the peripheral subsystem to system memory is application<br />

dependent and even varying within an application. For example, at boot time large amount of data<br />

transfer from peripheral such as hard disk may be needed. On the other hand, high throughput transaction<br />

processing may require favoring CPU to memory bandwidth demands. Optimized arbitration<br />

policy for access to main memory is determined through extensive computer simulations that include<br />

dynamic models of the application, operating system (OS) services and hardware components.<br />

Other issues such as high speed signaling and dissipated power in VLSI components may also be<br />

factors. Careful balance of all these factors is critical for optimized system interconnect.<br />

Software Architecture<br />

High performance server operation is also affected by the server software architecture. Two software components<br />

that need optimization are peripheral device drivers and the operating system. Peripheral device<br />

drivers need to be optimized for efficient and high performance data transfer to and from system memory.<br />

Operating system software may need to be optimized to better utilize the capability of CPUs (such as cache<br />

sizes), system memory capacity, and interprocess communication between multiple CPUs. The operating<br />

system may also be optimized to efficiently handle scheduling of tasks among multiple CPUs.<br />

Clustered servers use independent OS for each server node. Clustered solutions may also use different<br />

OS. Internetworking issues in such heterogeneous environment is another software architecture issue.<br />

Many OS and software programs also use advanced caching techniques for high performance data<br />

access.<br />

Applications and Usage Models<br />

A variety of applications are available for servers such as database management, transaction processing,<br />

inventory management, and decision support. Many users also use an application differently. For example,<br />

a user may be updating the database with recent entries while others are trying to access and use the<br />

database. Each usage model and application has a specific system demand characteristics. Robust IT<br />

infrastructure ensures that the servers, network, and client architecture are tuned and optimized for the<br />

© 2002 by CRC Press LLC

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

Saved successfully!

Ooh no, something went wrong!