Live data from Hacker News

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

realworldtech.com

481–490 of 545 posts

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

#481
post #458

Earlier quoted context omitted.

That's all fine and dandy for the software you build, but then if it happens that the easiest way to get some job done is to extend an existing docker image or using an existing docker image in a multistage build, you might trip over the fact that the authors of those other images didn't care enough about your arch of choice to cross compile their stuff.

I've build & run docker on arm and used it to build my own arm based docker containers from scratch, but yeah, 99.9% of containers intel only. Having said that, docker is perfectly usable on arm, just no one bothers to.

Yeah docker was just an example of modern binary dependencies. We tend to forget that kind of pain since many modern languages strongly favour source dependencies (every user of a library ends up compiling it from sources).

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

#482
post #415

Earlier quoted context omitted.

I write Java but I seriously doubt that ARM has comparable JVM, it’s probably slow compared to x86. Cross platform in theory, not so much in practice.

wait aren't virtually all android apps written in java?

Android uses Dalvik, not JVM. Language is Java, standard library is mostly Java-compatible, but runtime is different. And I'm talking about server loads, I don't think that Dalvik is very good for those tasks (but I might be wrong, it's an interesting question).

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

#483

Earlier quoted context omitted.

>It's extremely hard to agree with Linus on that. It's very easy to disagree with him, because the server market doesn't work the way he think it does. Google, Amazon, Microsoft and Facebook collectively purchased 31% of all the servers sold in 2018. The market for server hardware is dominated by a handful of hyperscale operators. The "long tail" is made up of a few dozen companies like SAP, Oracle, Alibaba and Tence…

All of this will be useless, if there is no customers that are interested in new platform. There is a big difference between making existing used platform more efficient and offering new efficient platform for which only few customers are interested.

The largest users of cloud VMs are internal customers - cloud services and the business that the cloud providers spun out of. If ARM is cheaper to run, the savings for Amazon/AWS could be astronomical. That will generate more than enough internal customer demand to make offering ARM servers worthwhile.

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

#484

It's extremely hard to agree with Linus on that. One problem in his argument is that he believes that everybody has a kernel hacker mindset: most today's developers don't care about environment reproducibility at architecture level. The second problem is that he believes that every kind of development is as platform sensitive as kernel hacking, and he even makes the example of Perl scripts. The reality is that one ye…

"I often find black-and-white people a bit stupid, truth be told" - Linus Torvalds, 2005

I think maybe Linus T. is getting old, out of touch, and closed-minded, and I think we should be open to change and care less about every random thought he blows off.

Quote source: https://www.linux.com/news/linus-compares-linux-and-bsds

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

#485
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…

Actually, Linus does not ignore the smartphone space at all. In fact he refers to it by pointing out that people are likely to ONLY use cross compiling if the deployment is to a embedded device (which a smartphone is) because the native development on the embedded device may not be possible.

End result: cross-development is mainly done for platforms that are so weak as to make it pointless to develop on them. Nobody does native development in the embedded space. But whenever the target is powerful enough to support native development, there's a huge pressure to do it that way, because the cross-development model is so relatively painful.

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

#486

Earlier quoted context omitted.

> but doesn't this whole post completely ignore the 100 ton blue whale in the room? Namely smartphones. This is patently false. Mobile developers do test their apps on smartphones, eventhough google and apple offer VMs. You'd be hard pressed to find a mobile app software house that doesn't have a dozen or so smartphones available to their developers to test and deploy on the real thing.

So you're saying there are already plenty of ARM devices out there to do testing on?

No, I'm saying that mobile development is also a clear example that developers do want to develop for platforms that they actually can test, which was the point that Linus Torvalds made.

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

#487

Correct me if I am wrong, but isn't this whole dev-prod hardware parity argument contradict with the rise of Docker? I don't know much about ARM or CPU architectures in general, but I have never heard companies testing their Dockerized applications with Docker on different CPU architectures just to make sure that the application works as expected; it can be because everything is on x86 already, but at this point Dock…

x86 Docker containers will not run on ARM, even if you install Docker for ARM. Docker is an entirely useless layer to support cross-architecture deployment.

Heck, even full-blown VMs (the real ones, that docker partially replaced) are mostly useless, for performance reasons.

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

#488

Earlier quoted context omitted.

> but doesn't this whole post completely ignore the 100 ton blue whale in the room? Namely smartphones. This is patently false. Mobile developers do test their apps on smartphones, eventhough google and apple offer VMs. You'd be hard pressed to find a mobile app software house that doesn't have a dozen or so smartphones available to their developers to test and deploy on the real thing.

Surely this would be the same for server software: If prod was running on ARM, then you'd probably have your CI server running ARM too. But that wouldn't stop you developing on x86 if that was what was convenient.

> Surely this would be the same for server software: If prod was running on ARM, then you'd probably have your CI server running ARM too.

CI/CD is already too far ahead in the pipeline to be useful. CI is only a stage where you ensure that whatever you've developed will pass the tests that you already devised, but it's already a stage where you already tested and are convinced that nothing breaks.

The type of testing that Linus Torvalds referred to is much back in the pipeline. He is referring to the ability to ramp up a debugger and check if/when something is not working as expected. Developers do not want to deal with bugs that are only triggered somewhere in a CI/CD pipeline, and can't reproduce in their target machines.

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

#489
post #391
post #325

Earlier quoted context omitted.

I don't have production experience with ARM unfortunately but Raspberry Pi is huge... Linux on desktop sucks if you have any laptop or something like this, but specific hardware just like RPi, everything works for my needs. I have node.js, .net core, python and loads of software that just works for me on ARM. Let alone I have Synology with ARM processor. Making servers is a lot easier than making consumer grade lapto…

I ran Pis at home for a bunch of services and I agree it did a great job. But when you put actual loads on it the device craters because they are so under powered. This is where THE issue is going to be. To get speeds you expect out of server hardware its not just about making a 64 core ARM. Single Core ARM vs Single Core x86 has an obvious winner. So you need to make node and .net core and python and everyone else r…

Well, servers typically care about throughput and not latency. So if your ARM server will process 10000 requests per second with each request taking 100 ms and your x64 server will process 8000 requests per second with each request taking 80 ms for the same price, ARM will be preferred. There are exceptions, of course, but generally server workload is an ideal case for multi-threaded applications, because each request is isolated. That's why server CPU's usually have a lot of cores but their frequency is pretty low.
Post reply on HN