Thsoe who don’t know history, as the saying goes, are doomed to repeat it. That saying is just as applicable to tech as anything else, and so today we’re going to do a little tech primer on communication busses.
Serial communications have been around as long as computers have. Basically, a serial bus transmits information one bit at a time, so it takes eight transmission “cycles” to transmit one byte. Serial busses are dead-simple to build, for that reason, but anyone can easily understand why they might be slow.
Parallel communications have also been around pretty much forever. Remember the big ol’ IEEE bus that your dot-matrix printer plugged into? Parallel. Or the trusty old Integrated Drive Electronics (IDE) bus that your CD-ROM and hard drives plugged into? Parallel. These busses transmit eight bits of data at once, reserving a single wire for each of the eight communication “lanes.” Just as a multi-lane superhighway is faster than an old single-lane country road, parallel was king of speed.
Except parallel busses, in 2017, are essentially a thing of the past. Today, we have USB – the “S” stands for “serial.” We have Lightning, Thunderbolt, DisplayPort, SATA (the “S” stands for “serial”), and so on – all serial busses. So’s Ethernet, for that matter.
You see, the problem with parallel is that the wires run – well, parallel to each other, in close proximity. The electromagnetic properties of electricity means that, at high frequencies, signals tend to “leak” from one “lane” to another, like a drunken driver hurtling down the highway. Serial busses don’t have that problem, and so as timing and signaling techniques improved, serial busses overtook parallel busses in terms of speed. Serial is also cheaper to manufacture, uses smaller connectors, thinner cables, and so on. These days, parallel busses are basically dead, outside internal-only, short-run busses used by processors to talk to banks of memory (and even those have physical design challenges).
You see something similar in the Ethernet world. Everyone’s constantly claiming that Ethernet has hit its limit, and that for faster networking we need to go with vastly more expensive systems like Fiber Channel. Except that good ol’ Ethernet – a noisy, serial bus running over cheap, usually unshielded copper – always comes around and passes the competition. It’s so simple that, like serial busses, it’s relatively easy to engineer improvements into it. And because it’s so simple and widespread, it’s also cheap. Cheap tends to win.
In fact, nearly every time the tech industry tries to engineer something complex to provide a faster “whatever” than an older, simpler competing technology, that older, simpler technology usually evolves quickly, and beats the pants of the more-complex competitor in terms of performance and price. Commodity nearly always wins.
Take storage: companies like EMC and NetApp have made zillions selling giant boxes full of hard drives, connected to expensive Storage Area Network equipment. And yet today, should you choose, you can get essentially the same capacity, redundancy, and performance simply by hanging a bunch of dumb drives off the back of a cheap Linux or Windows server, running on commodity hardware and using commodity networking (SMB 3.0 over Ethernet, for example, can equal or outperform both FC and iSCSI). Sure, there might be some management layers to the more expensive solutions that you love and need, but the point is that the underlying technology tends to drive toward “cheap, simple, commodity” versus “expensive, complex, proprietary” over time.
I think it’s a useful historical perspective. Not a call to action – I’m not suggesting you go rip out all that expensive FC on the SAN, because it probably does its job just fine – but I’m suggesting that the next time you see a complex new shiny being touted as the solution for the slow-and-old, maybe give it a minute. Remember that the cheap-and-simple will usually win it before long.