It's been about 9 years since the first introduction of the PCI, Vesa and OPTi bus. The introduction of these technologies meant a revolution in bus bandwidth, which was at the time limited to a mere 5MB/s from the ISA-bus. Even though Vesa Local Bus (VLB) got off to a good start it was PCI that emerged victorious. The consequences of this can be felt to this day since we are still using the same PCI technology, introduced 9 years ago, in most of our modern desktop computers. The clock speed of 33MHz, the bus bandwidth of 32-bits and the maximum bandwidth of 133MB/s has stayed the same all this time.
It won't come as a shock to you when I say the hunger for more bus bandwidth has grown dramatically over the last decade. In the early '90s a hard disk could pat him on the back for achieving a transfer rate of 3MB/s or more. Components like 8-channel audio cards, TV-cards, RAID-adapters and Gigabit-Ethernet where nowhere to be found or had an exorbitantly high price tag. Nowadays it is not a big problem to create a situation where the bandwidth of the PCI-bus is the limiting factor. For that reason server and workstation solutions have made the step to faster forms of PCI with a bus bandwidth of 64-bits and clock speeds of 66, 100 or 133MHz. Most of the time these systems are equipped with more than one PCI bus to avoid devices sharing one bus. The benefits are evident: higher bandwidth, lower latencies and fewer conflicts between devices.
Regretfully these faster PCI variants are found to be too expensive for desktop systems. A new version of the current PCI system is in the making; PCI Express. PCI Express is a completely new technology that is based on serial rather than parallel data transfer. The technology will first of all be used to replace the current AGP (Accelerated Graphics Port) port but will in the near future also replace the current PCI-bus.
One of the biggest consumers of bus bandwidth is RAID storage. Even a simple stripe-set of two 10.000rpm Serial-ATA disks can fully use the PCI-bus in some cases. On the forums we regularly hear people say a large RAID array is useless on a normal PCI-bus. They base their opinion on the fact that an array of two or more disks can already generate a higher sequential transfer rate than the PCI-bus can provide. In practice a sequential access pattern is only one of many access patterns. Opening a large file in Photoshop for instance will in the most ideal case indeed be a sequential read (the read-head does not have to move to a different part of the disk). When reading large amounts of data on a disk with heavy fragmentation there will be a greater need for extra head movements. When starting an application of which the files are further apart or simultaneously running multiple disk-intensive tasks the transfer rates will fall far below the theoretic maximum. Depending on the rpm of the drive and the performance of the actuators a change in head-position will take on average 5.5 to 12.0ms or more. Each head-movement will result in a dip in the overall transfer rate. The differences can be so dramatic that even the fastest 15.000rpm hard disks can get a transfer rate of only 4MB/s using a completely random access pattern whilst a sequential transfer rate of 75MB/s is possible.
So the question is: to what extent does the maximum transfer rate of the standard PCI-bus limit the real world performance of desktop- and server- environments. To check if there is a real loss in performance when using fast RAID-arrays combined with low bus-speeds we have tested a pair of SCSI RAID-adapters in different PCI-configurations. The purpose of this test is not only to see if the PCI-bus is a bottleneck for present day servers and workstations, but also to demonstrate if PCI Express is a useful upgrade for future desktops which will in a couple of years have the same storage-performance as do the SCSI RAID-configurations tested by us.