Always remember that anything that can be done in hardware, can be done in software, and vice versa.
This isn’t a cool coincidence, it’s a provable mathematical fact. As processing capability approaches infinity, hardware scaling will be less and less useful.
I’m 25. As a forward looking professional, I don’t care about your ASIC. I want to see how your software architecture will make me a rockstar in 10 years.
You are right, but only partially because the software only can do what the hardware supports. Better, faster ASICs & CPU allow software to improve and enables new functionality. In the x86 architecture, Intel continues to add more and more hardware to their CPUs so that software is able to forward packets at a fast enough performance.
The image below shows the performance improvements for packet processing when using hardware acceleration in the CPU. The point, I think, is that once you have 28.5Mpps forwarding then you can use software to some very cool things. Until this was possible, you couldn’t make a viable software router.
The hardware always matters but it will be commoditised and modularised in the years ahead. Very few people care about the x86 CPU in their laptop today but ten years ago, most people knew which CPU gave better performance and which one to buy. Today, just about every laptop and tablet is fast enough.
In networking, we have merchant silicon for the switching engines, people are already starting to forget that 48 x 10GbE ports in a low cost 1RU form factor is way ahead of what most people need.
The EtherealMind View
Silicon matters to software. Many software functions only exist if the silicon enables enough performance, capacity, throughput, bandwidth ….. etc to be able to enable. Perhaps the most classic example is the Brocade Vyatta v5600 router which uses DPDK Version 1.7 APIs to drive more than 80 Gbps in software. That is, more or less, double the throughput of a certain Cisco ASR 1K routers costing $100,000 or more.
The hardware makes the software possible but disappears quickly from view.