Linus Torvalds Claims ARM Won’t Win in the Server Space
Back in 2015, AMD’s CFO, Devinder Kumar, made a startling prediction about ARM’s likelihood of succeeding in the server market. Kumar predicted that by 2019, “15 percent of the overall server space is in the ARM server business.” While 2019 has only just begun, it’s safe to say this isn’t going to happen, given that ARM’s current server market share appears to be ~0 percent. No, not literally zero — there are some dev boxes and silicon shipping in-market — but we can’t find a single report attesting to any measurable market share. According to Linus Torvalds, creator of Linux, that’s not a situation that’s likely to change any time soon.
We typically assume that the server space responds primarily to factors like performance, cost, power consumption, and scalability, with a baked-in assumption that data centers are a more conservative space than the consumer or mobile markets, with slower-moving customers who are less willing to take a dramatic bet on new technology. But according to Linus, there’s a simpler, more fundamental reason why ARM will struggle to win space in data centers: There’s no desktop development environment.
I can pretty much guarantee that as long as everybody does cross-development, the platform won’t be all that stable. Or successful.
Some people think that “the cloud” means that the instruction set doesn’t matter. Develop at home, deploy in the cloud.
That’s bullshit. 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…
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).
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. (All emphasis original)
Torvalds goes into more detail in his full post, but the gist of the argument is that a full development environment offers a convenience that simply can’t be beat. A fair number of people in the thread agreed with the thrust of this argument, though some offered nuanced disagreement on the topic and others believed that advances and changes to software development and deployment models since the late 1980s and early 1990s would obviate the importance of a native development “at home” machine. In a later post, Torvalds acknowledged that Windows on ARM (WARM?) “may make this all work out on the development side.” Apple switching to native ARM processors would also potentially resolve the issue.
Torvalds’ argument does make a certain amount of sense. If you’ve ever dabbled in hobbyist computing, or in any area where product support was limited, you’ve probably experienced how difficult it can be to finish a project when you hit unexpected roadblocks. Trying to buy a pre-built laptop with a Wi-Fi adapter that would support Linux (or finding a printer that would print under Linux) used to be an exercise in supreme frustration, for example. Console emulators have advanced enormously, but even debugging a popular emulator like PCSX2 can be headache-inducing when it stumbles on a specific game (ask me how I know!).
These are small examples compared with building and debugging code intended to run on a different platform. But they still speak to how difficult it can be to sort through issues that might come down to differences in low-level platform or hardware support. In the days after AMD launched Ryzen, I spent some time trying to bring it up under Linux, only to discover my motherboard had problems with that OS. It took time to chase down the issue precisely because the problems hadn’t been documented yet. Any time you start trying to deal with a less-supported product, OS, or hardware platform, the chance of a problem that nobody has run into (or documented) go up.
With ongoing rumors of Apple support for its own custom chips and a broad shift to ARM with macOS supposedly coming in 2021, we may find out if Torvalds is right within the next few years. Meanwhile, ARM designs are clearly winning some sockets from companies like Amazon, even if their broad market presence is very small. We’ll see how things evolve over the next few years.
- Amazon Launches ARM-Based Custom Graviton CPU
- Ampere eMag 64-bit ARM Server Platform Targets Intel Data Centers
- Samsung, ARM Expand Collaboration in HPC at 7nm, 5nm