In a relatively obscure processor web forum, Real World Technologies, Linus Torvalds shared his thoughts on why x86 took over the server market and ARM is unlikely to be as successful. A few people immediately thought Torvalds was saying you should forget about ARM in servers. That's not what he said.
First, Torvalds explained why he doesn't think cross-platform CPU development, such as that between x86 and ARM, works well. "I can pretty much guarantee that as long as everybody does cross-development, the platform won't be all that stable." He went on:
Some people think that "the cloud" means that the instruction set doesn't matter. Develop at home, deploy in the cloud.
That's bull***t. If you develop on x86, then you're going to want to deploy on x86, because you'll be able to run what you test "at home" (and by "at home" I don't mean literally in your home, but in your work environment).
Which means that you'll happily pay a bit more for x86 cloud hosting, simply because it matches what you can test on your own local setup, and the errors you get will translate better.
This is true even if what you mostly do is something ostensibly cross-platform like just run perl scripts or whatever. Simply because you'll want to have as similar an environment as possible,
Which in turn means that cloud providers will end up making more money from their x86 side, which means that they'll prioritize it, and any ARM offerings will be secondary and probably relegated to the mindless dregs (maybe front-end, maybe just static html, that kind of stuff).
Top 12 Raspberry Pi alternatives (February 2019)
This isn't an ARM problem. It's just how development works. Torvalds continued:
Guys, do you really not understand why x86 took over the server market?
It wasn't just all price. It was literally this "develop at home" issue. Thousands of small companies ended up having random small internal workloads where it was easy to just get a random whitebox PC and run some silly small thing on it yourself. Then as the workload expanded, it became a "real server". And then once that thing expanded, suddenly it made a whole lot of sense to let somebody else manage the hardware and hosting, and the cloud took over.
Do you really not understand? This isn't rocket science. This isn't some made up story. This is literally what happened, and what killed all the RISC vendors, and made x86 be the undisputed king of the hill of servers, to the point where everybody else is just a rounding error.
Torvalds went on... The problem isn't with ARM. It's that there aren't enough ARM PCs:
Without a development platform, ARM in the server space is never going to make it. Trying to sell a 64-bit "hyperscaling" model is idiotic, when you don't have customers and you don't have workloads because you never sold the small cheap box that got the whole market started in the first place.
The price advantage of ARM will never be there for ARM servers unless you get enough volume to make up for the absolutely huge advantage in server volume that Intel has right now. Being a smaller die with cheaper NRE doesn't matter one whit, when you can't make up for the development costs in volume.
So, does that mean ARM is doomed to be an also ran on the cloud and servers? Nope.
Torvalds wrote the answer is staring us in the face:
And the only way that changes is if you end up saying "look, you can deploy more cheaply on an ARM box, and here's the development box you can do your work on. Actual hardware for developers is hugely important. I seriously claim that this is why the PC took over, and why everything else died."
We spoke about these issues afterwards via e-mail and Torvalds doubled down on the need for ARM PCs. Torvalds said: "my argument wasn't that 'ARM cannot make it in the server space' like some people seem to have read it. My argument was that 'in order for ARM to make it in the server space, I think they need to have development machines.'
Torvalds is hopeful about this:
[It] may well happen. The current set of ARM laptops aren't great, but they're likely going to improve. And people have been talking about Apple switching to ARM for years, and that was actually how there were developer boxes for PowerPC many moons ago.
There are ARM servers today. And there are enterprise-grade Linux operating systems such as Red Hat Enterprise Linux (RHEL) for ARM, SUSE Linux for ARM, and Ubuntu Server for ARM. But, in the data center and server room, they're still as scarce as hen's teeth
For server ARM to take up, we need more than the popular, but low-powered ARM systems, such as the Raspberry Pi. For ARM to become an important server and cloud architecture, Torvalds thinks we'll need powerful ARM developer PCs.
He's not wrong.
The tech that changed us: 50 years of breakthroughs