Ampere recently released AltraTM, an Arm-based processor described as the world’s first cloud native CPU, which may seem odd to those who have grown up with the cloud. Surely the processor is just a generic component and the software is the specialized part? Not anymore.
Moore’s Law is slowing down, everyone knows that. But what is less well understood is how the silicon and related hardware industry is shifting to keep pace with the exponentially increasing performance expectations of software.
The key word is heterogeneity, but that is a mouthful, so let us go with specialization instead. The point is that generic CPUs are incredibly inefficient, but it has been (relatively) easy to keep on optimizing the same chip manufacturing process to churn out more cycles. If workloads are generic and operating at modest scale, this can work out fine, but once you put the pedal to the metal (so to speak), new approaches make a massive impact.
Ampere is leading the way with the Arm-powered ‘Altra’ CPU, which was designed for cloud native workloads. But this trend is not just about CPUs. Many common computing tasks can be handled at far greater efficiency by other types of silicon. GPUs, programmable ASICs, and SmartNICs are excellent examples of silicon tailored to less generic, but fast-growing, workloads.
As exciting as all this innovation is, there remains a huge hurdle to widespread adoption: the software that end users care about needs to make use of it.
As I pointed out in my Linaro Connect 2019 BKK talk, building for multiple architectures is not easy, and it is certainly too much work for any hardware manufacturer to ensure that all software works on their gear. Furthermore, it is likely impossible for them to know exactly which software they should prioritize for compatibility. Software is a fast-moving world, and making silicon is pretty slow by comparison.
When thinking about how hardware manufacturers should approach compatibility I am always reminded of a line from Eric S. Raymond’s The Cathedral and the Bazaar: “Every good work of software starts by scratching a developer’s personal itch.”
Arm and Packet recognized this early on and worked together to create the Works on Arm project which provides early access to hardware and support for developers looking to “scratch an itch” with Arm. This is why, when Ampere’s Altra systems land in data centers in Q3 2020, all major CNCF projects will already be compatible.
In recent years, we have seen how free and open-source software (FOSS) has been able to revolutionize entire areas of computing at incredible speed. Commoditization is so yesterday; craftsmanship is key. In 2016 Kubernetes was a bright idea, in 2020 it’s the largest software movement ever, involving tens of thousands of contributors from all over the globe, in use by most (if not all) major companies, and containing more lines of code than Linux itself.
Only FOSS ecosystems have the scale and velocity to make or break the adoption of specialized hardware, and judging by the response to the Works on Arm project they are certainly hungry for the challenge, which leads to the question, how to best enable them?
Companies working on the increasingly specialized hardware of the future need to look beyond fabrication. To make their hardware a success they need to enable FOSS ecosystems with access to their hardware, community support and importantly by speaking their language.
Almost an entire generation of developers has grown up with the cloud, which means a large number have little to no familiarity with hardware, in other words, they do not understand why they should be excited about your new silicon.
At Packet we like to talk about “Time To Dopamine,” because we think it is the TTD that gets FOSS ecosystems excited about innovation. The feeling that “I could MVP that in a weekend” is what unleashes the most excitement.
What one problem could FOSS communities solve in a weekend to help your specialized hardware succeed?