It's always tempting to pick bleeding-edge technology when making new hardware purchases. One of the few places...
where this actually pays off is with new system bus technologies -- specifically, the new PCIe (formerly abbreviated PCI-E) bus. If the money's there to spend, and you have the luxury of choice, opt for a PCIe system over PCI-X.
Here are three reasons why:
Reason 1: The PCI-X spec is already outdated as far as new and future systems go. In fact, some of the changes made to PCI through PCI-X have only made some of the inherent limitations of PCI worse, not better. PCI-X doubles the clock speed and bus width of the PCI bus, but the actual performance gains yielded from this PCI-on-steroids approach are nowhere near what they should be. The reason: The higher speeds also made the bus more sensitive to noise and crosstalk (interference from neighboring circuits), and shielding the bus from these things is an expensive proposition. (Many of the same problems with PCI-X are present in the DDR-II memory bus spec as well.)
Reason 2: Since PCIe was redesigned from the ground up to deal with the problems, it represents a fresh architectural approach instead of an attempt to squeeze more life out of an old design merely by ramping up speeds. If PCI-X is like a network router, PCIe is a network switch: Instead of each device using all of the bus whenever it's free (the router model), each device has its own data lane to the PCIe controller that can always run at full speed (the switch model). In fact, PCIe uses a network-style protocol to manage bus traffic, including quality-of-service provisions for devices that need it most.
Reason 3: The PCIe design allows old-school PCI and newer PCIe devices to run side-by-side on the same system without problems, so any older devices that might need to be migrated along to the new architecture can still run. This makes PCIe the better choice as both a short- and long-term investment. Many of the existing device classes that were offered in PCI or PCI-X implementations in the past (especially video controllers) are now being offered as PCIe as well.
One caveat: PCIe is meant only to be used as a local interconnection bus. If you're planning a system where the bus is meant to support external connections as well, then something like the InfiniBand architecture might be better suited to your needs (i.e., for a datacenter, in place of Fibre Channel or a similar architecture).
Serdar Yegulalp is editor of the Windows Power Users Newsletter. Check it out for the latest advice and musings on the world of Windows network administrators -- and please share your thoughts as well!
Fast Guide: Peripheral Component Interconnect (PCI)
A primer on PCI devices
Four ways to troubleshoot PCI-X
Three reasons to choose PCIe over PCI-X technology