Live data from Hacker News

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

realworldtech.com

401–410 of 545 posts

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

#401

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 likely that ARM will find a place in a cloud. But, at, least at first, it will be in some specific parts of a cloud offering.

I don't see ARM displacing X86 on VMs offering like EC2 any time soon, an ARM offering will exists (and it already exists in fact), but it will remain a small portion.

However, some parts of a cloud offering are completely abstracted from the hardware: DNS, object stores, Load Balancers, queues, CDNs... for these, from the point of view of a developer, CPU architecture doesn't matter at all and if the cloud provider find it more interesting to use ARM (maybe with some custom extensions), it will probably switch to them.

From there, it can gradually go to services where architecture kind of matters, but not necessarily, like serverless, or Postgres/MySQL as a service.

And while it grows, ARM CPUs will improve for other use cases, and maybe overtake X86 VMs.

The other possibility is a massive cost reduction like 3 to 4 times cheaper for equal performances, but it's not really the case right now. Also, given the all the wasted money I've seen on AWS ("app is leaking memory? just use a 64GB instance"), I'm not sure it's a good enough incentive. However we are specialist at being penny wise and pound foolish.

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

#402

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.

"Run your code on our boxes" is a very, very small subset of cloud services. Does anyone other than Facebook care what instruction set they're using to ingest images? Does anyone other than Amazon care what instruction set they're using to serve S3 requests? Does anyone other than Google care what architecture they're using to crawl the web or serve ads or do something creepy with neural nets?

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

#403
post #337

Earlier quoted context omitted.

Apple is a small percentage of the laptop market.

But their market share with developers is much higher than in the general consumer market.

Possibly, it does seem that way for web dev at least. There's plenty of programmers out there (the majority?) not doing web dev and never touching Macs however. In a 20 year game development career I've never had cause to use a Mac for work purposes. Perhaps the share of developers using Macs as their primary development machines exceeds their 10% market share of laptops but I doubt it's a majority.

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

#404
post #389

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 :)

It will most likely kill apple laptops as a developer platform. Unless you are deeply disconnected from the hardware, CPU architecture does matter. Most developers using macbooks I know have VMs for either Windows or Linux works. It might be conceivable to use the ARM port of , or the ARM version of Windows 10. But it would also require a good desktop virtualization solution for ARM. If Apple release its own solution…

I think kill is too strong. Certainly some developers will need to be on an Intel chip, but not all. How many developers use their laptops as a dumb SSH terminal? While some C extensions to scripting languages will need some love, the majority of major interpreted or VM driven languages work already.

My feeling is it will be net zero as far as ARM servers are concerned until the hardware is made and is viable. Perhaps Apple ARM laptops will help with marketing ARM as a viable option, but we already develop on OS X in order to deploy to Linux without any great calling for OS X servers.

Cloud server “hardware” has also drifted from what you see in real hardware. There are numerous times in my career I’ve had to explain to deveopers of all experience levels that their SSD is several orders of magnitude faster than the tiny EBS volume they’re reading from and writing to.

In short, I think architecture mismatch just isn’t that important to most Web App oriented companies. My girlfriend works at a travel industry giant and they’re at the opposite end, putting IBM mainframes to good use. They don’t have much use for Macs and most of their developers seem to be on Windows instead of anything resembling what they’re deploying on. For the segment of our industry that does care, they’ll have options and will choose them regardless of what Apple, Google, and Microsoft do with ARM, Intel, Power, MIPS and other architectures.

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

#405

In early 2000 Java promised to be write once, everywhere. By the time it was between Windows and Sun. 20 years later we have finally reached this point for business applications, be them in Java, Python, PHP or some other VM based SDK. The mainstream development future is in Lambdas and other such containerised technologies. If you can run Docker or similar "home" you can also deploy. Our DevOps models have radically…

> In early 2000 Java promised to be write once, everywhere.

Latter half of 1990's, by my recollection. The history is well-documented. JDK 1.0 shipped in 1996, and that's when The Java Language Specification was first published also. The "write once, run anywhere" started to be heard soon after.

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

#406

He didn't even discuss the every ARM board being a snow flake needing its own BSP, custom bootloader, OS distro etc. I am fine with x86 being successful - there are good reasons for it. I don't get why there's this ARM push in the PC and servers market. It's not making anything better.

> I don't get why there's this ARM push in the PC and servers market. It's not making anything better. What push? There's a rumor that Apple might make an ARM-based laptop, and there's a bit of dabbling with ARM-based servers, but there doesn't seem to be any real push for it. More like hedging bets if Intel continues to shit the bed on 10nm. Except AMD's Epyc looks to be the real contingency plan for that now anyway…

Push might have been a little strong word - but I was referring to server vendors selling ARM based servers (HPE Moonshot), Amazon making ARM instances available, MS having Windows Server for ARM etc.

Looks like it's just a plan B type thing or throw it out there and see what it does thing.

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

#408
post #200

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…

What do you think can be improved in Android? Unlike iOS, Android is actually running in diverse hardware. All iOS devices are Arm, where as Android will run on x86. That alone makes it more of a hassle.

The command line C/C++ toolchain is fine, at least now where this is basically reduced to clang and libc++.

The problem is basically everything else:

- The ever changing build systems. And every new "improvement" is actually worse than before (I think currently it is some weird mix of cmake and Gradle, unless they changed that yet again).

- Creating a complete APK from the native DLL outside Gradle and Android Studio is arcane magic. But both Android Studio and Gradle are extremely frustrating tools to use.

- The Java / C interop requires way to much boilerplate.

- Debugging native code is still hit and miss (it's improved with using Android Studio as a standalone debugger, but still too much work to setup).

- The Android SDK only works with an outdated JDK/JRE version, if the system has the latest Java version, it spews very obscure error messages during the install process, and nothing works afterward (if it needs a specific JDK version, why doesn't it embed the right version).

The Android NDK team should have a look at the emscripten SDK, which solves a much more exotic problem than combining C and Java. Emscripten has a compiler wrapper (emcc) which is called like the command line C compiler, but creates a complete HTML+WASM+JS "program". A lot of problems with the NDK and build system could be solved if it would provide a compiler wrapper like emcc which produces a complete APK (and not just a .so file) instead of relying on some obscure magic to do that (and all the command line tools which can do this outside gradle are "technically" deprecated).

...hrmpf, and now that I recalled all the problems with Android development I'm grumpy again, thanks ;)

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

#409
post #389

Earlier quoted context omitted.

It will most likely kill apple laptops as a developer platform. Unless you are deeply disconnected from the hardware, CPU architecture does matter. Most developers using macbooks I know have VMs for either Windows or Linux works. It might be conceivable to use the ARM port of , or the ARM version of Windows 10. But it would also require a good desktop virtualization solution for ARM. If Apple release its own solution…

I think kill is too strong. Certainly some developers will need to be on an Intel chip, but not all. How many developers use their laptops as a dumb SSH terminal? While some C extensions to scripting languages will need some love, the majority of major interpreted or VM driven languages work already. My feeling is it will be net zero as far as ARM servers are concerned until the hardware is made and is viable. Perhap…

Maybe it would be interesting to look at the past.

Was the PowerBook as heavily used as a developer laptop as the MacBook is today?

(or Power Mac vs desktop PC as desktops were more common at the time).

I was not in the industry at the time (2000 - 2006) so I don't know the answer.

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

#410
> Why? Same exact reason, just on the software side. In both cases. Where did you find developers? You found them on Windows and on Linux, because that's what developers had access to. When those workloads grew up to be "real" workloads, they continued to be run on Windows and Linux, they weren't moved over to Unix platforms even if that would have been fairly easy in the Linux case.

There are lots of developers who developing on MacOS so why BSD server usage is very low than?

Post reply on HN