Live data from Hacker News

Linus Torvalds on Why ARM Won't Win the Server Space

realworldtech.com

151–160 of 545 posts

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#151
post #77

I disagree with Linus here, in large part because modern system architectures are so distributed. There are so many parts of modern deployments which are not developed in-house anymore. Databases, organizational productivity software, monitoring systems... the list goes on. So let's say the developers of PostgreSQL or Prometheus or JIRA or Mattermost or any one of numerous others were to come to their audience and sa…

> Developers are using cheap Raspberry PIs as local desktop development platforms.

IMHO this is still a problem, it is easy to get RPi-style devices but for development a more powerful device would be great, however this is much harder to get. Sure, cross-compilation works but is usually tedious to setup and work with.

I've had the chance to work on one of these powerful ARM servers for some time. I was connected via ssh and mostly working with tmux+vim, I could compile natively with all these available cores and memory - development was a breeze.

Nevertheless there were some pain points compared to x86: Often no ARM64 binary packages, except for the packages provided by the distro. No precompiled binaries. Software wasn't working/building e.g. because Fedora on ARM64 uses 64K page size. perf didn't support as many performance counters as on x86. Sometimes I would've really liked to use rr (the reverse debugger) but it only supports x86. Pretty sure I've encountered more pain points that I don't remember and also I think I didn't discover all of them.

Development is almost exclusively done on x86. So it is only natural that x86 is the most tested and optimized architecture. This wouldn't be a problem if your offering would be much better/cheaper in some way and although I think ARM servers can compete in certain areas it doesn't seem to provide enough benefit to be worth the trouble. I agree with Linus that they should be focusing on developers and software and let the machines bubble up into the server segment.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#153
post #89

Earlier quoted context omitted.

It's lower level than the JVM and more of an abstraction over hardware. So native libraries can be compiled directly into it, so everything can interop on top of Wasm.

>>more of an abstraction over hardware Same can be said for jvm.

The jvm is explicitly designed to run the Java language. It has Java's type system baked into the bytecode. It is not an abstraction over hardware. (it doesn't even have unsigned comparisons :()

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#154
post #33

It's of course impossible not to respect Linus' opinion and first hand experience in this space, but doesn't this whole post completely ignore the 100 ton blue whale in the room? Namely smartphones . That's an entire enormous segment of the industry and it's nearly 100% (or entirely 100%?) literally develop-on-x86-deploy-on-ARM. Smartphones also fit > "This isn't rocket science. This isn't some made up story. This is…

I don't think that in any way contradicts his position

>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".

Sure, as soon as these merge and you have a development platform as productive as a desktop computer that allows you to natively build for ARM, then absolutely, it could displace x86. And maybe when (if) the two platforms really merge that could be a real possibility.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#155

Ok. Perhaps ARM won't. But what about RISC-V? Aren't RISC-V laptops and servers going to start conquering the markets soon?

I really encourage you to read his entire post. There's a critical part of it where he says:

> 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".

So sure, if RISC-V laptops become inexpensive and accessible for developers so they can develop and target the same platforms, absolutely, it _could_ take over.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#156
post #134

Earlier quoted context omitted.

Native (NDK) development on Android is hard on purpose, as means to increase the platform security and target multiple SOCs. NDK level programming is explicitly only allowed for scenarios where ART JIT/AOT still isn't up to the job like Vulkan/real time audio/machine learning, or to integrate C and C++ from other platforms. In fact, with each Android release, the NDK gets further clamped down. I would like a better N…

Yeah, right, just like the PS3 was intentionally hard to develop for to keep away the rubble. That worked out really great (at least Sony did a complete 180 and made the PS4 SDK a great development environment). https://www.tomshardware.co.uk/sony-playstation-ps3-develope... As long as Android allows running native code via JNI, the security concerns are void anyway. If they are really concerned about security, they…

I guess you haven't been paying attention to the clamping down of the NDK I was talking about.

https://android-developers.googleblog.com/2016/06/improving-...

https://android-developers.googleblog.com/2017/04/fortify-in...

https://android-developers.googleblog.com/2017/08/hardening-...

https://android-developers.googleblog.com/2018/10/control-fl...

Also Google is working with ARM to adopt the new memory tagging architecture from ARMv83+ in Android.

https://llvm.org/devmtg/2018-10/slides/Serebryany-Stepanov-T...

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#157
post #18
post #9

> 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). But developers can ssh to the cloud, and develop there, right?

And he's wrong. In the enterprise, the vast majority of devs are on Windows, for Java for example. That doesn't mean that their deployment target is Windows, most of the time it's Linux. And the development differences, chance of bugs, performance profiles are way different between OSes than they are between CPU architectures.

You're comparing a bytecode virtual machine to a processor microarchitecture. He's talking about why a particular hardware platform becomes dominant. You could say the same thing about any interpreted language, not just Java. How about python or javascript? Java didn't displace x86.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#158

Ok. Perhaps ARM won't. But what about RISC-V? Aren't RISC-V laptops and servers going to start conquering the markets soon?

I really encourage you to read his entire post. There's a critical part of it where he says: > 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". So sure, if RISC-V laptops become inexpensive and accessible for developers so they can develop and target the same platforms, absolutely, it _could_ take over.

I've read it. And as far as I knos RISC-V systems are meant to be inexpensive.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#159
post #147

Earlier quoted context omitted.

The argument isn't "same instruction set". The argument is "same development & deployment environment", by the logic of which the Apple argument fails because not many people deploy to Apple servers.

So you run a Linux VM, just as lots of Mac-using developers do today. But the instruction set of the VM has to match the instruction set of the host, unless you’re in the mood for slow emulation.

> So you run a Linux VM, just as lots of Mac-using developers do today

I hear far more make do with just homebrew.

> unless you’re in the mood for slow emulation

I run an embedded OS (made for a quad-core ARM Cortex-A53 board) on both Real Hardware and on my ThinkPad (via systemd-nspawn & qemu-arm). I found (and confirmed via benchmarks) the latter to be much faster than the former — across all three of compute, memory, and disk access.

Re: Linus Torvalds on Why ARM Won't Win the Server Space

#160
...except that ARM laptops and desktops are the next wave, as ARM dominates mobile devices and tablets already, it's sneaking up on Linus from behind.

Additionally, Linux is the server platform, abstracting the ISA to a large degree, particularly with regards to what most people consider web applications development, tooling, etc. Docker and Kubernetes serves as this paper for many, as well.

This all will matter in the coming rise of Risc-V devices, as this ISA begins to eat parts of the ARM empire.

Linus would know a thing or two about challenging X86 (transmeta) and this probably shows in his display of his emotional wounds. I don't think his fear holds for all time nor in the coming decade.

Post reply on HN