The reason is simple: Intel can easily change chip designs and leave out unwanted core features or alter other properties, such as to gain compute and power optimization for public cloud servers. It’s a matter of a few commands to the production systems to get custom chips.
The public cloud providers are willing to pay for custom chips if they can save power during operations or get better performance when processing common workloads. Indeed, since 2012, Intel has had an internal “Just Say Yes” program dedicated to looking for workloads that require custom chips.
In fact, most public cloud providers already contract with Intel or other chipmakers for custom chips, again for cost and workload optimization purposes. There does not seem to be much of a downside to doing so, and I suspect the practice will continue.
But there is a downside: Workload characteristics change over time, so the underlying software that supports a public cloud system needs to change as well. If the chips are customized for specific system requirements, changing the system means a mismatch in what the workloads need to do — and the services the custom chips provide.
However, general-purpose chips won’t provide the same optimization and cost efficiencies, so it may still be more economical to swap out the chips (or the servers using them) as the workloads change. I suspect such chip-planning meetings are happening in cloud providers’ offices all over the world right now, as public cloud computing expands and the margins continue to be small to nonexistent, which only increases the pressure to increase efficiency.
The use of custom chips for public clouds seems to be the right thing to do, but it’s also a bit strange. Software was always the part of the system you customized, and the hardware supported the software. But these days, software and hardware need to work closer together, so hardware may have to be more malleable than before, especially for the scale and fast pace of the cloud.