The IBM PC Server 704

By Kazunao Teraoke and Mike Snell

'This article presents an architectural and functional view of the IBM PC Server 704. Topics include Pentium Pro technology and implementation, ECC memory subsystem, disk subsystem, and systems management.'

Different applications and environments require PC servers with varying levels of performance, scalability, and fault tolerance. IBM markets a complete family of PC Servers (shown in Figure 1) to address the spectrum of system requirements, ranging from small, entry-level systems to enterprise-wide systems supporting thousands of users.



Newest Member of the Family
The PC Server 704, the newest model in IBM's PC Server family, brings IBM's latest server technology to the marketplace. It is one of the first server products to support 4-way symmetric multiprocessing (SMP) using Pentium Pro technology.

The PC Server 704 is a high-end server that incorporates high performance, extensive scalability, and a high degree of fault tolerance. These features position the PC Server 704 at the top of IBM's product line and rank it among the top performers in the marketplace.

Providing high performance through its "balanced" system design, the PC Server 704 ensures that each of its subsystems (processor, memory, disk, I/O) is designed to support the others, thus reducing bottlenecks within the system. This "balanced" performance gives the PC Server 704 the power to drive today's many resource-demanding applications.



As applications mature and their demands on the system increase, it is important that the hardware platform be able to grow to meet the new demands. The PC Server 704 provides scalability across all subsystems, enabling the system to grow while (even more important) maintaining balanced performance.

Fault tolerance is becoming increasingly important as more mission-critical applications are deployed on PC server platforms. High reliability, fault tolerance, and quick recovery features are designed into the PC Server 704 to provide required stability.

Major Features
The PC Server 704's main features include:
 * Processor performance and scalability - The architecture of the Pentium Pro raises processor performance to unprecedented heights, particularly with today's advanced 32-bit operating systems and applications.
 * Memory capacity and performance - The use of 60 ns memory SIMMs and 4-way interleaving help keep the processor busy with data. The memory system can grow to 1 GB and provide error checking and correcting (ECC) reliability to ensure data integrity.
 * Flexible, high-performance disk subsystem - Using the integrated PCI SCSI controllers (in all models) or the PCI RAID adapter (in array models), the system provides flexible drive configurations to achieve the desired balance between performance and reliability. The system's 12 internal hot-swap drive bays support more than 25 GB of internal storage, with the ability to support further expansion outside of the system.
 * I/O bus performance and flexibility - Up to 10 adapter slots are available for expansion cards. Using dual PCI buses, the system provides an increased number of native PCI slots and improved bandwidth to the six PCI expansion slots. The additional four slots provide compatibility for EISA- and ISA-based legacy adapters.
 * Reliability - Fault tolerance can be configured for most major subsystems within the PC Server 704. This fault tolerance covers data integrity within the various subsystems as well as redundancy for protection or quick recovery in the event of component failures.

System Overview
The PC Server 704 is currently offered in two models. The non-array model starts with a single Pentium Pro processor and has two hot-swap disk drives connected to the standard SCSI-2 fast/wide controllers. The array model is configured with dual 166 MHz Pentium Pro processors and adds a PCI RAID adapter connected to four hot-swap disk drives.

To really understand the power of the PC Server 704, it is important to understand all of its subsystems. It is not the design or performance of any one of these subsystems that dictates the performance of the system as a whole. Rather, it is the balance between these components that creates a high-performance system free of bottlenecks.

Pentium Pro Architecture
As new processors are developed and manufactured, the chips get smaller and faster. Pentium processors have matured from speeds of 60 MHz to today's 166 MHz. The Pentium Pro was designed using the same manufacturing process as its Pentium predecessor, but new, innovative architectural designs were incorporated to enhance the chip's performance.

Dynamic Execution
One of the Pentium Pro's most notable enhancements is its ability to run programs in non-sequential order.

When a program runs on a Pentium, instructions are carried out in the strict order of the program. If one instruction requires data from system memory, the processor must wait for the data to be obtained before moving to the next instruction. In contrast, the Pentium Pro can perform other independent instructions, out of sequence, while it waits for data to be returned.

In addition, the Pentium Pro analyzes a program's flow to execute commands in the most efficient order. Although the program may be "decoupled" during execution, all results are reported back to the system in their original order. As a result, when the Pentium Pro runs the same programs as its predecessors, particularly 32-bit applications, it yields better performance.

Pipeline Implementation
The Pentium can execute two integer operations in a single clock cycle by building two separate pipelines in the processor to simultaneously process instructions. This helps the Pentium achieve 50 percent better performance than a 486 processor operating at the same speed.

The Pentium Pro executes up to three instructions per clock cycle by providing a super-pipelined architecture. By reducing the complexity of these pipelines, the Pentium Pro clock speeds run up to 33 percent faster than a similarly manufactured Pentium.

L2 Cache
Caching is a technique that provides fast, efficient access to data stored in system memory. By storing the most frequently used data in a cache, the system can retrieve that data more quickly when it is required.

Pentium processors have 16 KB of Level 1 cache, which is internal to the processor. Many Pentium systems also have a Level 2 cache that provides further caching resource to the processor.

The Pentium Pro has a dual-cavity design that integrates Level 2 cache into the processor. By doing so, the cache can be accessed at the internal clock speeds of the chip, rather than at external clock speeds.

In the PC Server 704, the Pentium Pro 166 provides 16 KB of Level 1 cache and 512 KB of Level 2 cache. Both caches can be accessed at the 166 MHz internal clock speed, rather than the 66 MHz external clock speed. The L2 cache can operate in write-back mode for peak performance or write-through mode for improved data protection.

Figure 4 contrasts the Pentium Pro and Pentium chips.

SMP Implementation
The multiprocessor bus in the PC Server 704 supports from one to four Pentium Pro processors. The processors are interconnected using a gunning transistor logic (GTL) multiprocessor bus that supports up to 528 megabytes per second (Mbps) of data.

The processors reside on one of the two processor complex cards and are seated in one of the two zero insertion force (ZIF) sockets on each card (see Figure 5). Because both processor cards are provided in all PC Server 704 models, adding more processors requires no complementary parts, and no parts end up on the floor. In contrast, some competitive offerings use one processor card plus a terminator card; to upgrade to the third and fourth processors, a second processor card must be purchased, and the terminator card is thrown away.

Memory Subsystem
The PC Server 704 has an ECC memory system that supports up to 1 GB of memory. By combining the fast access times of 60 ns memory and 4-way memory interleaving, the PC Server 704 gives its processors fast, efficient access to system memory.

This section covers several aspects of memory architecture.

SIMMs and DIMMs
In a Pentium or Pentium Pro system, information is retrieved from memory in 64-bit units. Most systems today use Single In-Line Memory Modules (SIMMs) to store data in memory. These SIMMs provide 32 bits of information at each memory location. To accommodate the 64 bits required by the processor, memory SIMMs must be added in pairs. The emergence of Dual In-Line Memory Module (DIMM) technology will eventually eliminate the requirement for adding memory in pairs, because DIMM stores the full 64 bits of data in one memory location.

Memory Interleaving
Memory interleaving, a common technology in high-end systems, reduces the time that the processor spends waiting for information. Overhead is involved each time the processor requests data from memory (see Figure 6). Memory interleaving is used to overlap these memory requests, thus reducing the overhead and time wasted.

In an interleaved memory system, the memory controller fetches the 64 bits of data requested by the processor, while queuing requests for the next data stored in memory. In effect, the controller predicts which information the processor will request next. If it is correct, time will be saved since that information is already retrieved.

In a 2-way interleave, the memory controller fetches the requested 64 bits of data, as well as the next 64-bits of data stored in memory. A 4-way design retrieves the requested data and the next three 64-bit packages stored in memory. For best performance, we highly recommend using 4-way memory interleaving.

Interleaving requires that memory SIMMs be added to a system in specific multiples to accommodate the interleaving. A 2-way system requires memory SIMMs to be added in multiples of four, while a 4-way system requires adding SIMMs in multiples of eight.

Data Integrity
As systems come with more and more memory, the likelihood of memory errors increases. It is therefore important to protect your system's memory by using an error-detection technique.

Standard parity memory protects your data from becoming corrupt, but it halts the system when it encounters a single-bit error. Multi-bit errors are generally not detectable using parity. ECC provides a further layer of protection. When a single-bit error is encountered in ECC, that bit is corrected without interrupting the system. Many multi-bit errors can also be detected using ECC techniques.

There are several different mechanisms for implementing ECC. The PC Server 704's error correction implementation uses an ECC memory controller and standard parity SIMMs. By combining the parity bits included with each parity SIMM, the ECC memory controller can correct the error on the data.

Memory Implementation
The PC Server 704 has:
 * Up to 1 GB of memory
 * 16 memory SIMM sockets
 * Industry-standard 60 ns parity SIMMs
 * Support for 16 MB, 32 MB, and 64 MB SIMMs
 * 64 MB of memory (16 MB x 4) standard in the uni-processor, non-array model
 * 128 MB of memory (16 MB x 8) standard in the dual-processor, array model

Memory Upgrades
When adding memory, several rules must be followed to ensure compatibility and the highest level of performance. Figure 7 summarizes memory configurations and interleaving.
 * The system supports only 4, 8, or 16 physical SIMM combinations.
 * All SIMMs in one bank must be of equal size.
 * Bank 0 must be fully populated before Bank 1 can be used.
 * When Bank 0 is populated with 16 MB SIMMs, Bank 1 must use 16 MB or 32 MB SIMMs.
 * When Bank 0 is populated with 64 MB SIMMs, Bank 1 must use 64 MB SIMMs.

Storage Subsystem
The PC Server 704 has a high-speed, high-capacity disk subsystem to meet the demands of disk-intensive applications. Both PC Server 704 models ship with all the cabling and trays required to fully populate the system with drives and storage devices, plus its storage bays hold more than 25 GB of drive space using today's drive technology. External storage can be provided using the IBM SCSI Multi-Storage Tower or the IBM Enterprise Expansion Tower.

Physical Storage
The PC Server 704 comes with:
 * Drive Bays
 * 17 drive bays
 * Capacity for more than 25 GB of storage
 * 12 hot-swap bays (3.5-inch, half-height), with all 12 hot-swap trays included
 * Four front-accessible, removable media bays (5.25-inch, half-height)
 * One 3.25-inch slimline bay for a 1.44 MB diskette drive
 * Storage Devices
 * Support for 2.14 GB SCSI-2 fast/wide drives (9.0 ms / 7200 rpm)
 * Quad-speed CD-ROM drive
 * One 24 / 48 GB DAT AutoLoader, supported by bridging two front-accessible bays
 * Cabling (Non-Array Model)
 * Two internal SCSI-2 fast/wide cables (SCSI controllers to backplanes)
 * 3-drop, SCSI-2 fast cable (daisy chain from upper backplane to CD-ROM and removable media bays)
 * Cabling (Array Model)
 * 2 internal SCSI-2 fast/wide cables (RAID adapter to backplanes)
 * 4-drop, SCSI-2 fast cable (SCSI controller A to CD-ROM and removable media bays)

SCSI Adapter
All PC Server 704 models come with two integrated SCSI-2 fast/wide controllers. These busmaster PCI controllers, located on PCI Bus 1, use RISC-based Adaptec AIC-7880 controller chips. Each controller supports up to 15 physical devices.

Because the system provides two separate SCSI controllers and two independent backplanes, the components can provide mirroring or duplexing through a network operating system. Mirroring and duplexing are software-based techniques similar to RAID-1 striping. Mirroring provides protection in the event of a drive failure, while duplexing gives additional protection in the event that a SCSI controller fails. When failures occur, the system continues to operate uninterrupted.

RAID Adapter
In the RAID model of the PC Server 704, the RAID adapter features: The PC Server 704 RAID model includes a Mylex DAC960 RAID adapter. The standard 4 MB of cache increases disk performance, while the adapter's i960 processor and busmastering relieve some of the burden on the main processor. The cache and processor perform better than a software-based RAID implementation.
 * Two SCSI-2 fast/wide channels (20 Mbps each), internal or external
 * Up to seven devices per channel
 * Up to four arrays (packs) and a total of eight logical drives (system drives) per adapter
 * RAID-0, RAID-1, and RAID-5 striping on any logical drives
 * 4 MB cache and i960 processor

I/O Bus
The IBM PC Server 704 provides six PCI expansion slots and four EISA slots, for a total of 10 expansion slots. With this design, the system can support a large number of today's high-performance PCI cards, as well as legacy EISA- and ISA-based cards.

PCI Bus
Due to electrical load limitations on a PCI bus, a single bus traditionally does not support more than three expansion slots. By implementing dual PCI buses, as shown in Figure 8, the PC Server 704 provides support for up to six PCI expansion adapters in addition to its integrated PCI SCSI fast/wide adapter. This dual-bus design also improves bandwidth, because each bus provides up to a full 132 Mbps to the system.

PCI Bus 0 supports three expansion slots and a bridge to the EISA slots provided for legacy cards. Because of these legacy cards, we recommend that any high-performance PCI adapters, such as RAID adapters or network cards, be placed on PCI Bus 1. PCI Bus 1 also supports three physical slots and carries the traffic for the integrated SCSI controllers.

All PCI slots are busmaster-enabled to provide direct memory access (DMA) to adapters without processor intervention.

EISA Bus
To provide support for legacy EISA and ISA adapters, the EISA bus supports up to four adapters, all of which can be busmaster adapters. The maximum bus speed supported by this EISA bus is 33 Mbps. It is important to note that traffic on this bus is not parity-protected as it is on a PCI bus. For this reason, as well as performance reasons, we recommend that these EISA slots not be used unless necessary.

Video Subsystem
The integrated system video controller is a Cirrus Logic GD5424 with 512 KB (upgradable to 1 MB) of video memory. This adapter supports standard VGA resolutions, as well as many SVGA resolutions up to 1024 lines. (Since graphics chipsets change frequently, this implementation is also subject to change without notice.)

Network Card
The standard IBM 100/10 PCI Ethernet adapter attaches to a 10BaseT or 100Base-TX using a single RJ-45 connector. This busmaster adapter resides in one of the six PCI slots. The busmastering feature enables this card to access the system memory directly, without the main processor's intervention.

Power
All PC Server 704 models ship with two 420-watt power supplies which provide power to the entire system. An optional third power supply can be added to provide fault tolerance in the event that one of the primary power supplies fails.

Server Reliability
The importance of reliability in a PC server warrants special focus. Although some of these points have been discussed previously, it's important to discuss them together to emphasize the PC Server 704's high degree of reliability.

Processor
A system equipped with more than one processor is protected in the event of a processor failure. Although it is likely that the operating system will require a reboot to recover from this error, the system simply disables the failed processor during the reboot process.

Memory
ECC automatically corrects single-bit failures without service interruption. When most multi-bit errors are encountered, the system halts so that the corrupted data is not further propagated. If an entire memory SIMM fails, the system must be restarted to recover. If the failure occurs in Bank 1, the system will reconfigure to operate using Bank 0 only. If the failure occurs in Bank 0, it may be necessary to replace that SIMM with one from Bank 1 before rebooting.

Disk Subsystem
PC Server 704 array models provide RAID-1 and RAID-5 protection against single-disk failures. Failed drives can be removed, replaced, and rebuilt without bringing the system down. Hot standby drives can also be defined to automatically rebuild failed drives. Drives can be rebuilt via the operating system-specific utilities provided with the system or through the RAID Manager in TME 10 NetFinity.

The dual SCSI controllers permit software-based mirroring or duplexing. In a mirrored system, redundancy is provided in the event of a drive failure, while duplexing also provides protection in the event of a SCSI controller failure.

Bus Traffic
Parity checking is provided on the SCSI, PCI, keyboard, and serial transmission lines. The parity protection will detect and re-transmit any data that has experienced a single-bit error during transmission. As outlined in the specifications for EISA, there is no parity protection provided on the EISA bus.

Power
In the standard dual-power supply system, no redundancy is provided. When a third power supply is added to the system, the power load is shared across all three 420-watt sources. If one of these independent power supplies fails, the system continues to run on the remaining two power supplies without interruption. When a power supply is lost, a scheduled downtime is required, however, to replace the failed power supply.

System Utilities and Management
When installing the operating system on the PC Server, you must use a few important DOS-based utilities to configure the system. Most of these disks are not bootable, so you may need a DOS boot diskette.

System Configuration Utility
The System Configuration Utility (SCU) alters the system settings stored in CMOS and other NV-RAM. Many of the settings available through this utility are also available through the standard setup program stored in CMOS. We recommend that you use the SCU instead of the Setup program, because it provides additional functions and better conflict resolution.

Whenever you change the hardware configuration on the system, you should run SCU. It ensures that hardware changes are recognized and appropriately set.

RAID Utility Disk
This utility defines and prepares the system's RAID arrays (packs) and logical drives (system drives); you must run it before installing the operating system.

Operating System Support
Operating system support for the PC Server 704 is currently available for OS/2 SMP v2.11, Windows NT v3.51, and NetWare. Additional operating systems are being tested.

If you are installing OS/2 SMP, be sure to use a CD-ROM with CSD 630. Use the SCU diskette to set the MP Spec version to 1.1 for OS/2 SMP and 1.4 for Windows NT.

Controls and Indicators
The four LEDs on the system's front panel show the status of the power system, cooling systems, and hard drives (see Figure 9). A front-panel LCD displays system messages. These indicator lights are controlled by the I2C management bus built into the PC Server 704.

Security
Both physical and system security features are available on the PC Server 704. Physical security includes loopholes to secure the server and all covers with a padlock and cable. A door lock prevents the front access door from being opened.

System security is available to prevent unauthorized use or access to the system. Some optional system security settings include:
 * User password, which locks the keyboard, mouse, and display during startup or upon system timer expiration (1-128 minutes)
 * Administrative password, which accesses setup utilities
 * Secure mode, which disables the power switch, reset button, and writing to a diskette drive

TME 10 NetFinity
Included with the purchase of a PC Server 704 is a licensed copy of the TME 10 NetFinity systems management product. This program currently supports OS/2, NetWare, Windows NT, Windows 95, Windows for Workgroups, and Windows 3.1.

Some key features of TME 10 NetFinity on the PC Server 704 are:
 * Hardware management - Collect hardware configuration (adapter, disk, processor, etc.) and asset information using automated remote functions
 * Software management - Collect software inventory and monitor critical files and processes
 * System monitors - View usage statistics about system resources to identify bottlenecks and problematic behavior
 * RAID adapter - Provide notification of drive failure (using pager, network messages, etc.) and functionality to rebuild data when a drive has been replaced (RAID-1 and RAID-5 only)
 * PFA alerts - Provide notification of impending drive failures up to 40 hours in advance using PFA-enabled drives
 * Remote management - Provide utilities for file transfer, screen capture, and remote session

Further Information
IBM maintains extensive, timely information on the World-Wide Web. Visit the following sites for product information, performance data, and technical literature about IBM PC Servers and other IBM products.
 * IBM PC Server Home Page
 * IBM Home Page
 * IBM PC Company Home Page
 * IBM PC Company Support
 * TechConnect Program
 * File Repositories or ftp://ftp.pcco.ibm.com