Although we in this society complain about lack of choice, we really like simple options—Coke vs. Pepsi, metric vs. English, paper vs. plastic. Having only two options makes life simple. That's why only two teams play in the Super Bowl and most voters choose either a Democrat or a Republican. Sure, there are a few that vote Libertarian or talk about speed in knots. But most of us, often grudgingly, rally behind one of the top two contenders once they emerge from the pack.
This Law of Two, as I call it, also applies to the arcane world of backplane and system interconnect architectures for computers and embedded systems. There are many possibilities: PCI, PCI Express, RapidIO, Serial RapidIO, InfiniBand, HyperTransport, Advanced Switching, and Ethernet. Each has genuine advantages that serve real-world requirements. But the two main contenders are shaping up to be PCI Express and Ethernet. Both are establishing themselves firmly in their respective designs.
Given the huge momentum of these two standards, this is no lightning bolt of insight. However, the degree to which PCI Express and Ethernet dominate and marginalize the other standards will surprise many, and it will be an unpleasant surprise for some who invest otherwise.
An objective analysis may indicate the need for multiple standards to support the diverse requirements of PCs, servers, communications gear, storage systems, medical equipment, and other embedded systems. Yet history shows that the standards adopted by the PC swamp out the others. Therefore, the fact that PCs are loaded with PCI Express and Ethernet will drive the interconnect choices for many other microprocessor-based systems.
I learned this lesson at a mid-1990s InterOp conference. I visited dozens of networking companies to discuss their use of the then-new PCI standard, just being adopted by PCs, as an interconnect architecture. I was laughed off the show floor! Compared to other alternatives, PCI had high latency, low speed, limited scalability, and so on. Meanwhile, the Asynchronous Transfer Mode (ATM) crowd was ridiculing Ethernet for its lack of quality-of-service control, its lack of scalability, and its barbaric arbitration scheme.
Despite the logic of these criticisms, PCI and Ethernet became the leading interconnect architectures for a wide range of systems. PC industry economies of scale were the driving force. System designers, eager to cut cost, found a way to make one or both interconnects work, even if they had to compromise system performance and functionality. Another driving force was innovation. Clever engineers came up with CompactPCI and nontransparent bridging to support hot-swap and high-availability operation, while at the same time permitting use of inexpensive PCI components. Ethernet applied brute force, ramping from 10 to 100 to 1000 Mbits/s to render irrelevant shortcomings in the protocol.
We're witnessing a parallel situation today. PCI Express gets the rap that it's great for PCs but not for complex high-availability systems. Many believe that Ethernet has maxed out at 1 Gbit/s because 10 Gbits/s is too difficult over copper. But innovation is rising to the challenge. PLX, for example, is shipping PCI Express switches with nontransparent bridging logic that meet the high-availability and scalability needs of complex systems. A new company, Solarflare, is on its way to producing chips that drive 10 Gigabit Ethernet cost-effectively over the installed base of copper.
The two standards have overlapping capabilities. Yet inside the box, for backplane and chip-to-chip connections, PCI Express is vastly superior in terms of throughput, latency, scalability, processor overhead, and compatibility with Advanced Switching. Outside the box, Ethernet has a deep installed base and long-distance capability.
I am not saying that there is no future for backplane and system interconnects other than PCI Express and Ethernet. After all, even in our two-party government system, one out of the 435 congressmen is neither a Democrat nor a Republican. But the Law of Two tells me that the clout of the PC will drive the proliferation of PCI Express and Ethernet into every backplane and system interconnect that can possibly use them.