In a galaxy not too far away, fear spread that Moore’s law was coming to an end. It was getting harder to increase the frequency on a CPU, leakage was increasing even as transistor size was decreasing, and a breakthrough in material science seemed desperately necessary. What was a scared IT industry to do? Go horizontal young (wo)man!!!
Into the horizontal forest, we went, where the IT industry had not gone before. First more cores, then more cores and then hyperthreading. When that was not enough servers were clustered. This created all kinds of problems, problems that could only be solved by software. Software that clustered servers, and then approaches that sliced software into smaller and smaller pieces so that the horizontal scaling could become more highly utilized: virtual machines, containers, and serverless computing (function as a service). With this hyper-scale of processing, storage, and networking, we also needed to do something with all this capacity. Engineers needed to become more productive, which intersected with the open-source movement, which led to today’s pervasiveness of Linux, Python, etc. This mass of complexity needed automation, and automation needed more information (measurements) to be effective, so more software was needed for measuring everything, analysis, and automation. On top of this was new cloud services and the modern disruption of IT was born, customer experience and operational excellence, mostly on the back of software innovation. Today, any company that cannot match the customer experience and operations excellence of cloud, has to look in the mirror and ask itself some serious questions about its strategy (the long-term costs of usage-based computing notwithstanding). [Disclosure: I enjoy writing simple software functions/projects for pleasure and am fairly passionate about the experience].
IT had a huge problem, Moore’s law potentially coming to an end, and software was the only way to solve the problem. However, silicon is always there, just lurking beneath the surface. Over the last year, silicon, or more generally speaking compute, has been grabbing my attention. There is a fascinating array of things going on.
As is well known, the discovery of graphics processing units (GPUs) as excellent compute engines for machine learning, has so dramatically reduced training times, that now you are either doing machine learning or you are being left behind. Some even assert GPUs might have a role in IP networks, of course, that might depend on what you want your IP network to do. On top of that huge success, you have wafer as a chip startup Cerebras with 400,000 “AI-optimized” cores – talk about horizontal scaling! Cerebras claims their chip has 1.2 trillion transistors compared to the largest GPU having 21.1 Billion transistors. So, wafer-scale, and an optimized instruction set. The people who lost the RISC vs CISC wars must be loving that.
Then there is the whole thing about fixed pipelines vs fully programmable in networking, and in compute, how do you give the programmer a little bit of customizability, well do what ARM is doing and put aside a little bit of silicon for that very purpose. Cisco’s newish Q100 is of course interesting, looks mostly like a data center switch optimized more for maximum throughput than for things like quality of service (QoS), but with latency characteristics and some asserted interesting pipeline reconfigurability more useful in a router. Where Cisco goes with future SiliconOne chips will be interesting to see. While Cisco is working that silicon play, access/aggregation SP router products from all the major router vendors have shifted to merchant silicon, primarily Broadcom, and of course the response from Broadcom to Cisco’s SiliconOne strategy promises to be interesting to watch given how big Broadcom is, and their investment capacity.
There are many angles on security, but the one that has grabbed my attention over the last year is the race to make sure that a chip is only executing the software it is supposed to be executing, and if that is not achievable, at least have very low-level memory access features that prevent one program from corrupting another, once again, ARM, at least, has some processors with features along those lines. Perhaps other CPU suppliers/architectures do as well. ARM is also collaborating with academia on more radical approaches to CPU security, but they may be a long way off, if ever. Speaking of ARM-based processors (ARM being an intellectual property company), ARM-based processors are increasingly finding their way into access/aggregation routers as control plane processors, for cost reasons. And if I have not said enough about ARM 😉 an ARM-based supercomputer is reportedly now the biggest in the world. [Note: This article is not paid for by ARM, I have never done any work for or with ARM, and I have no relationship with ARM].
Then there is quantum computing. No short-term threat of disrupting the world, but Google’s claimed quantum supremacy did make waves, whether you are dismissive of its useless function, or impressed with how much the error rates were claimed to have been lowered. Quantum computing often uses super-chilled superconductors, but not always. Many believe quantum computing will be disruptive, at least as a co-processor to traditional compute engines if it becomes practical. Of course, when it will become practical is the question. Today, if you want to play with quantum computing, you are better off using a cloud service, than trying to buy and manage your own.
If that is not enough, those masters-of-manufacturing and breakthroughs in silicon tech, Intel, believes there is a bright future for Moore’s Law. TSMC is expecting volume production of 5nm process technology during 2020. Notwithstanding the challenge of comparing process tech from different suppliers, in 2009, Intel’s leading chip used a 32 nm process.
If you are involved in strategy & planning, it might be worth taking a look at what is happening in silicon / other material-based compute. Whether it is optimized instructions, hundreds of thousands of cores, wafer-scale engines, new security architectures, customizability, fixed vs programmable, new merchant suppliers, or a radical change in the programming model such as quantum computing would represent, there is a ton of interesting stuff going on, and worth keeping an eye on.