It’s been a rule of thumb for the last 30+ years that any functionality implemented in hardware will surely migrate to software. But that is starting to change.

At the beginning of a new application – say RAID controllers – the volumes are low and the trade-offs poorly understood. Perfect for FPGAs, which are relatively costly per unit, but flexible and easily updated.

Once the application is better understood the cycle-intensive bits can be optimized and hardware accelerated in ASICs, which are cheaper than FPGAs in higher volumes.

But the movement to all software comes when CPUs are fast enough to run the software without extra hardware acceleration. Most RAID controllers have been all software running on standard x86 CPUs for the last 8 years or so.

There’s a new sheriff in town
Sheriff Moore – and he’s telling you to slow down.

Moore’s Law – the doubling of the number of transistors on a chip every 18-24 months – is still hanging on. But the assumed performance increase that has accompanied that is not. Haswell processors are barely faster than Ivy Bridge and the next gen Broadwell performance improvements will be marginal as well – except for graphics.

Transistors no longer get faster as they get smaller. So extra transistors are used to speed up common functions. Codec acceleration. Fancier graphics.

Great stuff! But it means that today’s FPGA-based hardware is much more likely to remain hardware. And the comforting assumption that we can put all the cool stuff in software real soon is no longer operative.

The StorageMojo take
The entire infrastructure world’s acceleration is slowing down. CPUs aren’t much faster. Storage densities aren’t improving as they were 10 years ago. Network speeds and more importantly costs aren’t dropping as they were.

Several things have obscured the trend and blunted its impact: multiprocessing; NAND flash SSDs; 10GigE uptake; massively parallel GPUs; scale-out architectures. But those too are less and less effective.

The current mania for Software Defined Everything relies on the availability of unused hardware infrastructure resources. That was VMware’s original value prop. But over the next decade – unless there are some fundamental breakthroughs not now visible – that will change.

It’s not the end of Software Defined Everything, but you can see it from here.

Courteous comments welcome, of course. If you see it differently, why?