Live data from Hacker News

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

realworldtech.com

291–300 of 545 posts

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

#292
post #249

Earlier quoted context omitted.

Don't you see that his answer has nothing to do with a hacker mindset? It's an assertion that making your development and production environments as close as possible will save you from unexpected grief, coupled with an observation that this has driven server architectures historically. Especially with subtle problems like performance issues. I find it a very sensible conclusion. Of course it didn't hurt that x86 qui…

The NetBSD people vehemently disagree. By ensuring your software works on various architectures, you expose subtle bugs in the ones you actually care about. Lots of 32-bit x86 code was improved during the migration to 64-bit, not because the move created new bugs, as because existing ones (i.e. code that relied on undefined behavior) couldn't get away with it anymore.

Debugging on different platforms is great. But when it comes to deployment, you probably want to choose the one you know the best, and that's probably your dev platform.

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

#293

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…

Node and Ruby applications do fail on ARM though, when it comes to native libraries and extensions. And now your whole distro is different than your development machine, which adds complexity. Do I really want to be debugging why node-gyp fails to compile scrypt on the ARM distro on the new Amazon A1 ARM instance (which it did in my case)? And if I solve that, what about the other 2451 dependencies? Let's pessimistic…

> now your whole distro is different than your development machine

Can you not develop on an ARM emulator? Or just buy an ARM machine for dev work?

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

#294
post #178

Earlier quoted context omitted.

It seems likely that, simply, times have changed. There was a time when being on the same platform as the deployment environment was super important, but nowadays the tooling has gotten so much better that it matters a lot less. The proportion of people still writing C code on a day to day basis has dropped... well to pretty much a rounding error. The bigger issue is really that ARM servers aren't that much cheaper t…

> There was a time when being on the same platform as the deployment environment was super important Which is also interesting because there was a time before that where being on the same platform as the deployment environment was sometimes considered nigh impossible, such as the early days of the "microcomputer" revolution where a lot of software was written on big iron mainframes to run on much more constrained dev…

I know some software was written on minis to run on 8-bit computers, but I have a hard time imagining that as the norm. My Apple II dev rig was two computers, one running development tools and one to test and they were two because running my software wasn't possible on the development machine without rebooting and loading all the tools took 30 seconds - a painful eternity in Apple II terms.

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

#295
post #162

Except that doesn't quite explain why soo many developers use macbooks (OS/X), yet deploy on Linux. Personally I think ARM could be leapfrogged by RISC-V, though it will take longer than people predict.

Except... 1. OS/X is Unix[tm] and linux is a "Unix clone" so the operating system works the same and (for purposes of this debate) both run on the X86 ISA. 2. The first thing all the macbook developers do is install Homebrew or equivalent and install all the same packages that are installed in their linux deployment environment. At that point, their OS/X development environment is effectively indistinguishable from t…

What's that? The 2000's.

The first thing we install is docker and run everything containerized.

Homebrew is for tools that we actually want to run locally, like ffmpeg or python, or node...

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

#297
However this does not apply to consumer product, e.g. iOS. When building iOS app for simulator, it is running x86_64 natively in the macOS. When building iOS app for device, it is compiled into ARMv64. Cross-compilation happens every day of iOS development. And the process is 99.9% problem-free. The 0.1% problem comes from missing physical feature (e.g. touch screen / gyroscope) rather than instruction set / system issue.

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

#298

Earlier quoted context omitted.

I don't think you are not really disagreeing with Linus - he's not saying ARM is not viable - he is saying it will not win . With your current setup (cross-compiling), are your ARM executables more performant than x86? Or do they have any other advantage at all over x86? Without an advantage, ARM can't possibly win. Having a cheap, viable ARM-native development platform drastically increases the chances of ARM-only k…

We have to define what "winning" means here. Google uses POWER9 and specialized GPU-like chips for some workloads. All cloud providers can gain from being able to offer products that perform better or have lower prices than it would be possible with x86. Right now ARM probably outnumbers x86 in number of machines running Linux by a very large margin. In my backpack there is one x86 machine and two ARM ones and that d…

> Google uses POWER9 and specialized GPU-like chips

As do the current top two supercomputers, Summit and Sierra, among others.

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

#299
post #131

Earlier quoted context omitted.

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 c…

I just wonder if Apple can design laptop chips that perform well (per watt) at 45W TDP or desktop chips at 2-3x that and with multiple sockets. If not, then what’s the point?

I won’t move to an ARM Mac, personally. I will move to Windows or Linux on x86 for all the reasons Linus gives and also for games. Sorry, but an ARM Mac may finally push me where crappy keyboards and useless anti-typist touch bars have not quite done.

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

#300

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 can pretty much guarantee that as long as everybody does cross-development, the platform won't be all that stable. Or successful." iOS seems like a huge counterexample (as you note.)

When developing for iOS you typically interact with the iOS simulator on your desktop, which natively compiles your app against x86 versions of the mobile frameworks. True native iOS development is pretty rare, and more painful. Overall, iOS development is a delightful experience because there's a singular hardware target and Apple pretty much nails the execution.

For Android development on the other, you don't have a good simulator, and the out-of-the-box dev experience relies on an x86 emulator of the ARM environment. In practice this means that in your day-to-day Android development, you're running the compile-run-test cycle by looking at your actual ARM device all the time, because the emulator is dogshit. I wouldn't really call it cross-platform development in any traditional sense, it's more like remote development, and a bad experience.

Post reply on HN