Live data from Hacker News

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

realworldtech.com

371–380 of 545 posts

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

#371

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…

>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 Tencent, with the rest of the market practically representing a rounding error.

These customers are extraordinarily sensitive to performance-per-watt; for their core services, they can readily afford to employ thousands of engineers at SV wages to eke out small efficiency improvements in their core services. They aren't buying Xeon chips on the open market - they're telling Intel what kind of chips they need, Intel are building those chips and everyone else gets whatever is left over. If someone else has a better architecture and can deliver meaningful efficiency savings, they'll throw a couple of billion dollars in their direction without blinking.

This is not theoretical - Google are on the third generation of the TPU, Amazon are making their own ARM-based Graviton chips and Facebook now have a silicon design team led by the guy who designed the Pixel Visual Core. It's looking increasingly certain that Apple are moving to ARM on the desktop, which further undermines the "develop at home" argument.

ARM won't win the server space, because nobody will win the server space. With Moore's Law grinding to a halt, the future of computing clearly involves an increasing number of specialised architectures and instruction sets. When you're spending billions of dollars a year on server hardware and using as much electricity as a small country, using a range of application-specific processors becomes a no-brainer.

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

#372
post #242
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…

power matters a lot on a phone but not that much on the server

Sure it does, someone has to pay the heating bill.

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

#373
post #229

Earlier quoted context omitted.

One article is about enforcing the exvlusive use of public APIs. The rest is about hardening the C/C++ code of AOSP. I dobnot see any "clamping down" here. What am I missing?

Using SE Linux and seccomp to close down entry points to the Linux kernel. Since this work only started on Android 7, it is clamping down the free reign that existed before.

Looking at this list, the blocked syscalls do not seem to be too bad:

https://github.com/aosp-mirror/platform_bionic/blob/master/l...

This is mostly setgid/setuid, mount point and system clock related stuff. Except for syslog and chroit, I see no syscalls that you should be using in a user process anyway.

So technically, this is clamping down Android, but it seems like a pretty reasonable restriction and far from a heavy handed approach.

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

#374

I disagree with Linus for a couple of reasons. The main one being that not every service in a product needs to be running ARM for it to be useful. There is nothing preventing heterogenous solutions in the cloud and if third parties vet their code on ARM then deploying your DBMS on ARM and your web server on x86 (or whatever services most of your business logic is in) is totally valid for cost or performance reasons.…

Apple hasn’t touched the Unix parts of MacOS in a long time. I’d assume whatever they ship will be some sort of hybrid that may not make developers happy.

UNIX is not a synonym for developers.

Developers on the Apple eco-system care very little for those UNIX parts.

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

#375

AMD-64 won in the server space. At this point, x86 is just a legacy mode that's still in AMD-64 CPUs.

This, AMD64 killed Ithanium, and that's why "x86" won the server.

x86 was already on plenty of servers before Itanium. 64-bit hardly mattered until servers with >4 gig RAM became common in the mid 2000's.

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

#376
post #49

Earlier quoted context omitted.

but with smartphones you don't have a choice. so it's different.

I’m not sure if this is what you were implying, but I don’t know of any x86 processors that can compete with the Arm processors that are in use, on power consumption to performance ratio. Take e.g. Apple’s A12, which compete with their MacBooks in performance, and assuredly draw much less power.

You haven't been paying attention. In order to go faster ARM started using more power. A lot more power.

Turns out power usage was never an ARM vs. x86 thing, it was purely a "how fast do you want to go" thing. ARM started at the "very slow" end of the spectrum which made it a good fit for mobile initially since x86 didn't have anything on the "very slow" end of things. By being very slow it was very low power. But then the push to make ARM fast happened, and now ARM is every bit as power hungry as x86 at comparable performance levels.

The power cost is for performance. The actual instruction set is a rounding error.

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

#377

Earlier quoted context omitted.

On a related note, if Apple does switch to ARM chips for their laptops, that will make mainstream ARM server-side development more viable than any cross-platform story ever can. Or kill the Mac desktop. One or the other :)

I consider myself a pretty average Mac user, and I've already been turned off by the last couple rounds of Macs that Apple has shipped. Messing up the one remaining upside, x86 compatibility, would be be the straw that broke the camel's back. They still only have single digit market share in desktop computing, this could be the death blow for their platform.

I would expect them to pursue a dual processor strategy first. The bulk of the OS can run on ARM and power apps can remain on x86.

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

#378

Earlier quoted context omitted.

I wouldn't call their bugs. If the binaries worked correctly on x86 due to compiler specific guarantees then the code wasn't buggy. It just wasn't written for a generic C or C++ compiler.

Undefined behavior is not a compiler specific guarantee. UB can change based on almost random factors, especially between newer releases of the same compiler. They are bugs, they were just masked.

If the compiler defines a behavior for some UB, then it's no longer UB. It's been defined for your implementation. It might still be undefined for another implementation but that doesn't mean your code is buggy on the first one.

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

#379

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 think more people need to have a kernel hacker mindset. We are getting to the point where everyone is working so high level that they just assume you can swap out the Distro/Kernel/Arch and it will not only "just work" but will work exactly the same was as your home system. While your simple applications (not attempting to optimize or really push the limits of your system) you might not run into issues initially but when you try push things you'll inevitably run into the problem.

The fact that we're talking about ARM makes this even more important. You're having to compete against x86, which requires increased core counts, and a lot more optimization and potentially even redesigns of your software to make your higher level environment to be perceived equal to x86. Businesses will need this, your boss will ask if ARM is as fast as x86 and they won't care to quibble about technological differences if you can't just get the same output speeds as their old, trusted hardware. There is only so much your language can do to cover your butt. At some point you'll have to be aware of your environment to compete.

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

#380
Wouldn't the potential counterargument be that ARM desktops/laptops could potentially still come about? Probably more likely in the laptop space. I mean, I think about something like the latest raspberry pi, and yeah, it's slow as heck right now but it seems like something like that could gain a lot more ground if it was higher priced but gave you performance like an iPhone X or latest Galaxy. (And btw: from what I've read the iPhone X costs about $400 in parts, and $110 of that is in the OLED screen, and then there's other costs like sensors that you might not need. So let's say you get the cost of that down to $250 and make the price like $500. That seems like a competitive machine) We already saw Apple (successfully) transition from PowerPC to X86; it seems totally plausible that they could do the same thing with ARM at some point down the line, or someone could be a raspbery-pi style machine with a lot more horsepower.
Post reply on HN