Moore’s Law is about exponential growth. Martin Geddess believes it doesn’t apply to networks, and I beg to differ.
In his latest newsletter (which is excellent by the way), Martin Geddes gives 5 reasons why there’s no Moore’s law for networks. But I think he is missing the point.
I’d like to use this opportunity to go over Martin’s reasoning, item by item, explain why they don’t matter in the larger picture of things, and then explain why Gordon Moore is here to stay.
Martin tries to compare CPU enhancements that follow Moore’s law and explain what barriers exist in networks that make it impossible.
Reason #1: The ground is the limit, not the sky
Martin Geddess believes that maximizing is easier than minimizing due to the physical constraints associated. End result? You can improve on CPU but can’t on the network.
Here’s a newsflash: there are physical limits on what you can do in transistors as well and they suffer the same fate as networks when it comes to the speed of light, power consumption and dissipation and a lot of other technical problems. And yet, engineers have found ways to work with these limits and improve year over year the capabilities we get.
We won’t be able to send bits faster than light anytime soon, but we can reduce latencies further than what we have today in most applications and services – there’s a lot of headroom for improvements.
Reason #2: It’s not just about link speeds
Martin explains why getting more out of our networks isn’t a simple task. I agree.
But neither is CPU development. Intel needs to improve their chips with every generation and introduce a lot of new techniques for getting there. No “get out of jail free” for processing speeds either. And yet we expect it from our computers.
Only thing needed here? A company with the same ambitions and vision of Intel to take the lead and churn out innovation after innovation in the network domain.
Easy? No. possible? Yes.
Reason #3: Demand is not fixed
We don’t consume networks linearly and our communication protocols are aggressive.
So are the apps running on my phone and laptop for that matter – they compete over my CPU, trying to eat up as much as they can to do their tasks ever faster.
Demand isn’t fixed on processing power either, so why does Moore’s law apply to processors but not to the network?
Reason #4: Demand is not just for volume
Here’s a doozy:
Computation can be measured by the number of logical operations performed, which is a simple scalar.
Simple scalar? A branching decision (if statement) on a CPU has a varying degree of the time it takes to perform. This is due to pipelining of operations on CPUs, branch predictions technologies, hyperthreading and a bunch of other CPU design black magic.
There is no way to easily compare chips on a general basis – each comparison may yield different results, and the nature of the applications you run on these chips change their behavior as well.
You measure chipset performance by logical operations, mathematical capabilities (fixed point, real numbers, vectors, etc), 3D graphics, image processing, video compression, cache performance, power consumption, bus speeds, etc.
The days of measuring a chipset by its clock speeds are long gone.
So what if the networks today are different than they were or that we need to measure them by more than pure bandwidth? I expect networks to improve over time. Drastically improve. If network vendors aren’t working towards this goal than what’s the point of their existence?
Reason #5: Physics is not on your side
It isn’t in the side of Intel either. And still they endure.
When clock speeds weren’t enough, we moved to multiple cores. There are talks about 3D chips, optics, etc.
With each such change, there are changes in the way application need to be written to make use of these new capabilities.
Networks can be the same.
Nothing is easy
Nothing is easy in life. Especially not if you are in a Moore’s law environment, needing to work with exponential growth.
While Martin Geddes is explaining to us why we shouldn’t be expecting networks to improve exponentially, Qualcomm is out there with an ambitious goal called “1000x Data Challenge“. What is it? A different way to say “Moore’s Law for Networks”.
In this debate, I side for Gordon Moore and Qualcomm.