Live data from Hacker News

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

realworldtech.com

251–260 of 545 posts

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

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

Ya it's kind of weird he talks about how stuffing a beige box PC in the corner was the impetus for X86 servers. But the modern day equivalent of that is either a cheap $5/month VPS, a RaspberryPi, or an OpenWRT router, any of which could compile/run ARM code.

I think fundamentally, the error he's making is comparing the current market to the late 90s/early 2000s market. Back then a RISC Unix machine cost thousands of dollars. It was cost prohibitive to give one to each dev/admin. Nowadays a RISC Linux PC is $5.

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

#252

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 pessimistically say there's a 1% failure rate, I'll be stuck doing that forever! Nah, I'll just go back to my comfy x86 instance, life's short and there's much code to write :)

I think I'll side with Linus on this one. I saw first-hand how non-existent the x86 Android market was, despite Intel pouring megabucks into the project. If the developers don't run the same platform, it's not going to happen, no matter how great the cross platform story is in theory. Even if it's as simple as checking a box during upload that "yes, this game can run on X86", a huge chunk of the developers will simply never do that.

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

#253

> I can pretty much guarantee that as long as everybody does cross-development, the platform won't be all that stable. Even if that's technically true, there's no reason there can't be ARM workstations. There aren't many because they're still generally slower, but there's no fundamental reason (that I know of) why an ARM workstation can't work just as well as an x86 workstation in almost every case.

Intel is already anticipating Apple moving to ARM for “desktop”. Chromebooks already run a mix. He’ll be right until he is wrong.

He'll still be right, even then. His core argument is that until there are ARM computers that developers are working on in some real quantity, ARM in the server space has no chance. If that happens, then by his argument they now have a chance.

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

#254

Earlier quoted context omitted.

Touch friendly is mouse friendly. We've known about Fitz's Law since the dawn of the GUI and have decades of study on it. It's not any more efficient to need to "headshot" everything you need in an application 100% of the time, and in fact it is often rather the opposite that it gets in the way of actual efficiency. Mousing through most "mobile" applications is great, whether "first class" or not. Desktop and mobile…

Touch friendly is mouse friendly. It's friendly but it's not space efficient. For applications with a huge number of features, a touch UI can't handle them. Touch screens don't have right click, so you can't get context menus. It's more than that, though. A touch screen UI for the iPhone makes zero sense on a 32" display. I'd much rather have a true multiwindow, multitasking operating system than that. Really, I woul…

> It's friendly but it's not space efficient.

User studies from the dawn of the GUI continue to harp that user efficiency is inversely correlated to space efficiency. It doesn't matter if an application can show a million details to the individual pixel level if the user can't process a million details or even recognize individual pixels.

> Touch screens don't have right click, so you can't get context menus.

You don't need "right click" for context menus.

Touch applications have supported long-press for years as context menu. Not to mention that macOS has always been that way traditionally because Apple never liked two+ button mice.

Then there's touch applications that have explored more interesting variations of context menus such as slide gestures and something of a return to relevance of Pie Menus (which it is dumb that those never took dominance in the mouse world and probably proof again that mice are too accurate for their own good when it comes to real efficiency over easy inefficiency).

> I'd much rather have a true multiwindow, multitasking operating system

Those have never been mutually exclusive from touch friendly. It's not touch friendliness that keeps touch/mobile OSes from being "true multiwindow/multitasking", it's other factors in play such as hardware limitations and the fact that tiling window managers and "one thing at a time" are better user experiences more often than not, and iOS if anything in particular wants to be an "easy user experience" more than an OS.

(I use touch all the time on Windows in true multiwindow/multitasking scenarios. It absolutely isn't mutually exclusive.)

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

#255

Modern DevOps and CICD should be able to abstract this away. Devs can develop on whatever they want and then push to ARM or x86 servers.

That's assuming you're not using any libraries that contain hand-optimized SIMD where one platform is better supported than the other.

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

#256

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

I have to agree with LT, but not on technical issues. This is a question of business issues. You can look at many facets of different cases, but they are all distilled into "Path Dependant Behavior". Sometimes it is called "Baby Duckling Syndrome", but it is that the leader in a market segment is much better equipped to respond, and outpace competitors.

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

#257

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…

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

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

#258

Earlier quoted context omitted.

--- 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, J…

Isn't turbo boost an issue when comparing/profiling? my experience with video generation/encoding run of about 30 sec was that my macbook outperformed the server xeons... if left to cool down for a few minutes between test runs. otherwise a testrun of 30 seconds would suddenly jump up to over a minute. the xeons though always took about 40 seconds.. but were consistent in that runtime (and were able to do more of the…

> Isn't turbo boost an issue when comparing/profiling?

No. In HPC world, profiling is not always done over "timing". Instead, tools like perf are used to see CPU saturation, instruction hit/retire/miss ratios. Same for cache hits and misses. For more detailed analysis, tools like Intel Parallel Studio or its open source equivalents are used. Timings are also used, but for scaling and "feasibility" tests to test whether the runtime is acceptable for that kind of job.

OTOH, In a healthy system room environment, server's cooling system and system room temperature should keep the server's temperature stable. This means your timings shouldn't deviate too much. If lots of cores are idle, you can expect a lot of turbo boost. For higher core utilization, you should expect no turbo boost, but no throttling. If timings start to deviate too much, Intel's powertop can help.

> my experience with video generation/encoding run of about 30 sec was that my macbook outperformed the server xeons...

If the CPUs are from the same family, and speed are comparable, your servers may have turbo boost disabled.

> otherwise a testrun of 30 seconds would suddenly jump up to over a minute.

This seems like thermal throttling due to overheating.

> the xeons though always took about 40 seconds.. but were consistent in that runtime (and were able to do more of the same runs in parallel without loosing performance)

Servers' have many options for fine tuning CPU frequency response and limits. The servers may have turbo boost disabled, or if you saturate all the cores, turbo boost is also disabled due to in-package thermal budget.

If you have any more questions, I'd do my best to answer.

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

#259

The mixing in of reader abuse is really off putting. "do you really not understand?" etc. I know, I know, it's been discussed a thousand times, but still.

I find that it makes him less persuasive. When a writer resorts to personal invective to make an argument the way Linus does, it's a tacit admission that he can't do it solely with evidence and sound logic. He's beating the reader over the head with insults to "win". In the process, he undermines the strong points he does make.

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

#260
Linus is right that ARM won't win "as long as everybody does cross-development." And that's why ARM will win.

Apple will ship MacBooks on ARM in 2020, which will have comparable performance with superior battery life. Windows-based laptop vendors will switch to ARM to catch up; the desktop market will follow the laptop market, as it already does.

ARM's performance-per-watt advantages already make it a compelling cross-compile target today; when everybody's developing on ARM, it will be a no-brainer.

Post reply on HN