Live data from Hacker News

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

realworldtech.com

421–430 of 545 posts

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

#421

Earlier quoted context omitted.

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?

I don't get it. Having your software being able to run on two different plaforms, means that that software need to be tested twice, maintained twice. Your architecture decision might be optimal for one platform but not for the other, so you have to change your development process, have test env for both platforms, etc. You can't just cross-compile and hope it works.

All of this costs money, in terms of either having more developers/testers or having longer development time. So, in order to justify this investment, the second platform must be way cheaper in order to cover costs for extra developers/development time. And if there is a such huge difference and second platform works great, then why still have support for first platform anyway. Ditch it, and you will save yourself some money.

You could be an ISV, but again, your software will be more expensive if you need to support two different platforms. Which means that your customers must be willing to pay for it. Which brings us to same conclusion, unless there is a big saving by running software on alternative platform, nobody will care.

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

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

And, most importantly: Many server-side languages don't compile to x86 / x64! They are either interpreted, or compile to bytecode! And speaking of x64... > It's why x86 won. Do you really think the world has changed radically? No, x86 is loosing to x64. And at some point another instruction set will supplant x64.

x86 didn't "lose" to x86-64, it just extended the 20 year compatibility story that goes all the way back to the 386.

Intel tried "another instruction set" (Itanium) and nearly lost the market to AMD (AMD64)

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

#423

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

When that happens we’ll also see a big push to add ARM support to all the native nodejs modules that are out there. (And I assume Ruby, Python, Go, etc packages). Linus’s prediction is based on the premise that everyone will continue to use x86 for development. But that’s probably not going to be the case for long. Multiple sources have leaked the rumour that Apple will release an arm MacBook next year. And I wouldn’…

Developers don't develop on Surface books, and Macbooks are in low percentages.

The majority of people in the world writing code are using x86 PCs and Microsoft and Apple aren't about to change that with any *Book.

Linus' premise that everyone will continue to use x86 for development is because they will.

There's no incentive for companies or individuals to go switch out all of that x86 hardware sitting on desks and in racks with ARM alternatives which will offer them lower performance than their already slightly aged hardware at initially higher costs.

I can forsee _some_ interest in ARM cloud, and I don't think it'll be the issue Linus claims at higher-than-systems-level, but I absolutely would bet on x86 going nowhere in the human-software interface space in the foreseeable future.

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

#424

Earlier quoted context omitted.

Phones are different than servers though. The primary customer of a phone is Joe Somebody who doesn't know or care about architectures, only battery life and cost. Well ARM wins there. The primary customer of servers is developers who care less about cost and more about time to market.

I'm a developer deploying code to JVMs running in a PaaS (Google App Engine). I don't know or care what the architecture is.

Likewise... most of my code runs on Lambda JVMs now.

If AWS switches to running JVMs on ARM, and passes the cost savings onto me, I'd be in no position to argue.

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

#425
post #409

Earlier quoted context omitted.

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.

While the Intel switched helped, at least I thought it was great, the big deal was that OS X was a tremendously usable Unix on amazing laptop hardware.

I'm not sure the architecture mattered as much as that did.

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

#426

Earlier quoted context omitted.

Phones are different than servers though. The primary customer of a phone is Joe Somebody who doesn't know or care about architectures, only battery life and cost. Well ARM wins there. The primary customer of servers is developers who care less about cost and more about time to market.

I'm a developer deploying code to JVMs running in a PaaS (Google App Engine). I don't know or care what the architecture is.

Indeed you might not, but the person that wrote your JVM does, and the person that wrote the system that runs on does, and the person that wrote GAE does...

That single instance you're running on already took half a dozen or so other systems developers and more before it got to you, so in your example you're the minority.

It's because of the work they've done, that you can not care about the architecture you're running on, not in spite of them.

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

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

When "mobile" and "PC" gets merged I don't see this happening. PCs are tools for getting real work done. Mobiles are mostly communication and entertainment devices. I like to fall back on this Steve Jobs quote, employing a car/truck metaphor for computers: When we were an agrarian nation, all cars were trucks, because that's what you needed on the farm. But as vehicles started to be used in the urban centers, cars go…

I'm genuinely very sorry for missing this comment (9 hours ago as I write this) because I think it's a really important and interesting next area of development. Since this article is still front page though, I hope I'm not too late to have some discussion here particularly since none of the other replies have taken the analysis approach I do.

If we're trying to predict the future, I think one effective approach to try to not be trapped in the present paradigm is to try to extrapolate from foundations of physics and biology that we can count on remaining constant over the considered period. Trying to really get down to the most fundamental question of end user computing, I think it's arguable that the core is "how do we do IO between the human brain and a CPU?" With improving technology, effectively everything else ultimately falls out of the solution to creating a two-way bridge between those two systems. The primary natural information channel to the human brain is our visual system with audio as secondary and minimal use of touch, and the primary general purpose output we've found are our hands and sometimes feet, with voice now an ever more solid secondary and gestures/eye movements very niche. Short of transhumanism (direct bioelectric links say) those inputs/outputs define the limits of out information and control channels to computers, and the most defining of all is the visual input.

Up until now, the screen has defined much of the rest, and a lot of computer can be thought of "a screen, and then supporting stuff depending on the size of the screen." A really big screen is just not portable at all, so the "supporting stuff" can also be not portable which means expansive space, power, and thermal limits as well as having the screen itself able to be modularized (but even desktop AIOs can pack fairly heavy duty hardware). Human input devices can also be modularized. Get into the largest portable screen size and now the supporting gear must be attached, though it can still have its own space separate from the screen. But already the screen is defining how big that space is and we're losing modularity. That's notebooks. Going more portable then that, we immediately move to "screen with stuff on the back as thin and light as feasible" for all subsequent designs, be it tablets, smartphones, or watches. The screen directly dictates how much physical space is available and in turn how much power and how much room to dissipate heat. And that covers nearly the entire modern direct user computing market.

Wearable displays, capping out at direct retinal projection, represent a "screen" that can hit the limits of human visual acuity while also being mobile, omnipresent, and modularized. I'm really actually kind of surprised how more people don't seem to think this represents a pretty seismic change. If we literally have the exact same maximalized (no further improvements possible) visual interface device everywhere, and the supporting compute/memory/storage/networking hardware need not be integrated, how will that not result in dramatic changes? It's hard to see how "Mobile" and "PC" won't blur in that case. Yeah, entering your local LAN or sitting at your desk may seamlessly result in new access and additional power becoming available as a standalone box(es) with hundreds of watts/kilowatts becomes directly available vs the TDP that can be handled by your belt or watches or whatever form mobile support hardware takes when it no longer is constrained to "back of slab", but the interfaces don't need to necessarily change. Interfaces seem like they'll depend more on human output options then input, but that seems likely to see major changes with WDs too, because it will also no longer be stuck in integrated form factor.

WDs definitely look like they're getting into the initial steeper part of the S-curve at last. Retinal projection has been demoed, as well as improvements in other wearables. We're not talking next year I don't think or even necessarily the year after, but it certainly feels like we're getting into territory where it wouldn't be a total shock either. And initial efforts like always will no doubt be expensive and have compromises, but refinement will be driven pretty hard like always too. I don't think the disruptive potential can possibly be ignored, nobody should have forgotten what happened the last few such inflection points.

>I don't see this happening. PCs are tools for getting real work done. Mobiles are mostly communication and entertainment devices.

This line of reasoning though is fantastically unconvincing. Heck even ignoring the real work mobiles are absolutely being used for, and given the context of this article, I pretty much heard what you said repeated word for word in the 90s except that it was "SGI and Sun systems are tools for getting real work done, PCs are mostly communication and entertainment devices".

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

#428
Linus is saying basically the same thing I said in HN comments some time ago. This was regarding the Qualcomm Centriq server processors. I asked where I can buy right now a standard ATX motherboard + CPU combo that I could mess around with at home. For any sort of reasonable price. The answer was deafening crickets.

As compared to how easy it is to buy a decent quality $119 motherboard + $179 AMD Ryzen quad core CPU.

Not just that it was literally impossible to buy a motherboard+cpu for any reasonable price, for a midtower desktop PC format. Also near impossible to buy a 'cheap' 1RU server or similar for any sort of reasonable price, as compared to $400 Dell R620 with two-socket, 8-core-per-socket older Xeons I could buy on eBay.

There is a very real chicken-or-egg problem with economies of scale. If the top ten Taiwanese based motherboard manufacturers don't think it will make money to build boards for it, they just won't. Super low quantity of 'evaluation' boards that you have to 'contact a sales rep' to acquire are not going to gain widespread adoption.

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

#429
post #383

Earlier quoted context omitted.

But what if the switch to arm comes with a lot more battery life and great performance? Not all Mac users are devs.

I wouldn't imagine you'd get a lot of performance boost from the change. You'll see battery life but that assumes they aren't looking to run a crazy number of cores to make it compete with the x86. And they only way that massive core counts help is if the software is designed to utilize them correctly. Its not that all users are devs. Its that all devs might not be able to make their software work well under that env…

Wow, I have five hundred cores, now it’s no longer a big deal that (insert cpu-hogging Electron app) is constantly maxing out four of them!

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

#430
post #356

Earlier quoted context omitted.

> This honestly depends on what undefined behavior we are talking about. Sometimes it will be guaranteed to behave a certain way on a compiler. That is implementation defined, not undefined, behavior.

Undefined as per the spec. Does not mean it does not have a certain behavior on a given implementation. The spec also does mention implemtation defined behavior. However, undefined things still need to be handled.

Not really. Undefined means that no purposeful explicit behavior for handling has to occur even within a specific implementation, which means things can blow up randomly just changing some compiler settings or minor things in the environment (or even randomly at runtime).. eg running out of bounds of an array in C is a perfect example of undefined behavior.. no guarantee on what occurs from run to run. Yes obviously time doesn’t stop dead and something happens, but I think that stretches any meaningful definition of “handled”.

True, undefined behavior can be implementation defined but that is not a requirement, and it usually is not.

Post reply on HN