Live data from Hacker News

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

realworldtech.com

131–140 of 545 posts

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

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

Smartphones are a good argument for both views IMHO. Native development (as in native machine code executables) on Android is still a terrible experience even though they had a decade to fix it. It's much better on Apple platforms, maybe because they actually cared about developer-experience and native code is a "first class citizen" there. It goes beyond the different instruction set of course and most of the time t…

I think the ARM-based Macs are inevitable, although it might be called "iPad Pro Developer Edition".

This is Jeff Atwood's argument: https://blog.codinghorror.com/the-tablet-turning-point/ ; Apple tablet performance at Javascript is now catching up to and exceeding desktop performance. Apple have also sunk a lot of money into developing their own processor line, and they have experience in force-migrating all their customers between architectures. At some point you might not be able to buy an Intel-based Apple laptop any more. Given the immense brand loyalty among web developers, they are likely to shrug and carry on .. and start demanding ARM servers with high Javascript performance.

Interestingly there's also https://stackoverflow.com/questions/50966676/why-do-arm-chip... . See also on HN front page https://www.axios.com/apple-macbook-arm-chips-ea93c38a-d40a-... "Apple's move to ARM-based Macs creates uncertainty"

(BTW the link is now slashdotted, I am using https://web.archive.org/web/20190222120214/https://www.realw... )

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

#132
post #70

Lest we forget, ARM has problems with instruction ordering not happening the way programmers might assume in certain cases. https://preshing.com/20121019/this-is-why-they-call-it-a-wea... https://news.ycombinator.com/item?id=4673458

ARM doesn't ”have a problem” with the ordering. Rather, those CPUs take advantage of the re-ordering allowed by the specified ordering constraints. The behaviour is entirely expected. The default option for those c++ atomic operations is the strongest constraint (memory_order_seq_cst) - a programmer who specifies a more relaxed constraint better have a good reason for it.

Usually the problem is that it exposes latent software bugs hidden by x86 strong guarantees on memory access ordering and cache validity. Not that someone misused atomics, butt rather does not use them at all and "it works".

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

#133
post #56
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…

Linus is mostly wrong except for HPC. Very few dev pipelines for folks result in native executables. The vast majority of code is delivered as either source (python, ruby, etc) or bytcode, JVM, Scalia, etc. And the Xeon class machines folks deploy to in data center envs is a world apart from their MacBooks. These truths are true for Linus, but not for the majority of devs. Even those creating native binaries, this is…

--- I accidentally deleted this comment, so, I've re-written it. ---

Disclaimer: I'm a HPC system administrator in a relatively big academic supercomputer center. I also develop scientific applications to run on these clusters.

> Linus is mostly wrong except for HPC. Very few dev pipelines for folks result in native executables. The vast majority of code is delivered as either source (python, ruby, etc) or bytcode, JVM, Scalia, etc.

Scientific applications targeted for HPC environments contain the most hardcore CPU optimizations. They are compiled according to CPU architecture and the code inside is duplicated and optimized for different processor families in some cases. Python is run with PyPy with optimized C bindings, JVM is generally used in UI or some very old applications. Scala is generally used in industrial applications.

> And the Xeon class machines folks deploy to in data center envs is a world apart from their MacBooks.

No, they don't. Xeon servers generally have more memory bandwidth, and more resiliency checks (ECC, platform checks, etc.). Considering the MacBook Pro have a same-generation CPU with your Xeon server with a relatively close frequency, per core performance will be very similar. There won't be special instructions, frequency enhancing gimmicks, or different instruction latencies. If you optimize well, you can get the same server performance from your laptop. Your server will scale better, and will be much more resilient in the end, but the differences end there.

> Even those creating native binaries, this is done through ci/cd pipelines.

Cross compilation is a nice black box which can add behavioral differences to your code which you cannot test in-house. Especially if you're doing leading/cutting edge optimizations in the source code level.

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

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

Smartphones are a good argument for both views IMHO. Native development (as in native machine code executables) on Android is still a terrible experience even though they had a decade to fix it. It's much better on Apple platforms, maybe because they actually cared about developer-experience and native code is a "first class citizen" there. It goes beyond the different instruction set of course and most of the time t…

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 NDK experience, in view of iOS and UWP capabilities, on the other hand I do understand the security point of view.

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

#135
post #123
post #47

Earlier quoted context omitted.

> but with smartphones you don't have a choice. so it's different. Exactly. Linus' point is that Arm has no real advantage in the server space to compensate for the problems with cross-development. That's completely different for smartphones, which is why Arm won that space.

When Apple replace Intel with ARM in their laptops, that goes away too. (See my argument elsewhere in this thread)

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.

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

#137

Lots of users mucked around with arm boards years ago untill most realised this wasn't something Arm was interested in with no drivers and those that existed not optimized for performance. It was all a hack with open source developers being kicked like footballs from ARM to SOC vendors and back. Interest waned. A NUC can be had for about $120 that sips power and has full hardware support for storage, pcie, graphics a…

I've come to the conclusion that neither ARM nor the actual SoC vendors are interested in desktop or server hardware. The majority have canceled their server projects or sold them off.

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

#138
post #67

Well all the kids are learning programming with ARM-based RPis so...

Are all these kids learning C or assembly? Because if they are learning Javascript, Python, etc. it doesn't matter in which processor their code is running.

Exactly. That's what I don't get about this whole architecture argument. If I write a mess of Python and deploy on a local ARM SBC or drop it into a remote x86 webserver, what's the difference?

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

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

Mainframes, have been the pioneers of using bytecode as distribution format, with the CPUs being microcoded for the specific bytecode set (e.g. Xerox PARC / Burroughs), or having JIT/AOT compilation at deployment time like IBM i and IBM z (aka OS/400, OS/300).

So while Linus opinion is to be respected, mainframes, and the increase in smartphones, smartwatches and GPS devices use of bytecode distribution formats with compilation to native code at deployment time, shows another trend.

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

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

Good point, from Linus' opinion it can still happen after ARM is king of the client market. Well, they're well on their way doing that with every client except for desktop being ARM, while Intel is having trouble with 7 nm.
Post reply on HN