Introduction to Server Overall Architecture

A server is composed of multiple subsystems, each playing a crucial role in determining the server’s performance. Some subsystems are more critical for performance depending on the application the server is used for.

These server subsystems include:

1. Processor and Cache
The processor is the heart of the server, responsible for handling almost all transactions. It is a highly significant subsystem, and there is a common misconception that faster processors are always better to eliminate performance bottlenecks.

Among the main components installed in servers, processors are often more powerful than other subsystems. However, only a few specialized applications can fully utilize the advantages of modern processors like P4 or 64-bit processors.

For instance, classic server examples like file servers do not heavily rely on processor workload since most of the file traffic uses Direct Memory Access (DMA) technology to bypass the processor, depending on the network, memory, and hard disk subsystems for throughput.

Today, Intel offers a variety of processors customized for X-series servers. Understanding the differences and advantages between various processors is crucial.

Cache, strictly considered part of the memory subsystem, is physically integrated with the processor. The CPU and cache work closely together, with cache operating at about half the speed of the processor or equivalent.

2. PCI Bus
The PCI bus is the pipeline for input and output data in servers. All X-series servers use the PCI bus (including PCI-X and PCI-E) to connect important adapters such as SCSI and hard disks. High-end servers typically have multiple PCI buses and more PCI slots compared to previous models.

Advanced PCI buses include technologies like PCI-X 2.0 and PCI-E, which provide higher data throughput and connectivity capabilities. The PCI chip connects the CPU and cache to the PCI bus. This set of components manages the connection between the PCI bus, processor, and memory subsystems to maximize overall system performance.

3. Memory
Memory plays a critical role in server performance. If a server doesn’t have enough memory, its performance deteriorates, as the operating system needs to store additional data in memory, but space is insufficient, leading to data stagnation on the hard disk.

One notable feature in the architecture of an enterprise X-series server is memory mirroring, which improves redundancy and fault tolerance. This IBM memory technology is roughly equivalent to RAID-1 for hard disks, where memory is divided into mirrored groups. The mirroring function is hardware-based, requiring no additional support from the operating system.

4. Hard Disk
From an administrator’s perspective, the hard disk subsystem is the key determinant of server performance. In the hierarchical arrangement of online storage devices (cache, memory, hard disk), the hard disk is the slowest but has the largest capacity. For many server applications, almost all data is stored on the hard disk, making a fast hard disk subsystem critical.

RAID is commonly used to increase storage space in servers. However, RAID arrays significantly impact server performance. The choice of different RAID levels to define different logical disks affects performance, and the storage space and parity information are different. IBM’s ServeRAID array cards and IBM Fibre Channel cards provide options to implement different RAID levels, each with its unique configuration.

Another critical factor in performance is the number of hard disks in the configured array: the more disks, the better the throughput. Understanding how RAID handles I/O requests plays a vital role in optimizing performance.

New serial technologies, such as SATA and SAS, are now being used to enhance performance and reliability.

5. Network
The network adapter is the interface through which the server communicates with the outside world. If data can achieve superior performance through this interface, a powerful network subsystem can significantly impact the overall server performance.

Network design is equally important as server design. Switches allocating different network segments or the application of technologies like ATM are worth considering.

Gigabit network cards are now widely used in servers to provide necessary high throughput. However, newer technologies like TCP Offload Engine (TOE) to achieve 10G rates are also on the horizon.

6. Graphics Card
The display subsystem in servers is relatively unimportant as it is only used when administrators need to control the server. Clients never utilize the graphics card, so server performance rarely emphasizes this subsystem.

7. Operating System
We consider the operating system as a potential bottleneck, just like the other hard disk subsystems. In operating systems like Windows, Linux, ESX Server, and NetWare, there are settings that can be changed to improve server performance.

The performance-determining subsystems depend on the server’s application. Identifying and eliminating bottlenecks can be achieved through collecting and analyzing performance data. However, this task cannot be completed at once, as bottlenecks may vary with changes in server workloads, possibly on a daily or weekly basis.


Post time: Jul-20-2023