Ask HN: Is it me or are we entering an ARM era?

28 points by twelvenmonkeys ↗ HN
With the Macbook M1, billions of smartphones running ARM and less and less sales of Intel chips, will we see the sudden rise of Linux and Windows desktops / laptops also switching to ARM?

Is x86 dead?

56 comments

[ 2.9 ms ] story [ 97.8 ms ] thread
x86[-64] has its place (especially in "legacy" applications that have been running on it for running on half a century)

ARM has its place

RISC-V has its place

Along with myriad other architectures out there

Yes, but the arrival of M1 and the increasing use of ARM in the cloud means many of us in this space are fully ARM for the first time. It is supplanting X86 as our default.
There is a strong chance that the person you replied to is the ex-Apple Warren Moore. His work on Metal was crucial in making the Apple Silicon transition happen https://twitter.com/warrenm
I wish I knew who Warren Moore was - he's got a great first name :)
...but you've been running ARM for probably more than a decade with your mobile devices :)

And, based on how most people use their mobile devices, ARM supplanted x86 for most people a long time ago

> RISC-V has its place

Apart from IP issues I'm not seeing much reason for a computer builder to go with RISC-V even if the hardware existed.

The ARM ISA and more importantly all the support i.e. documentation and compilers etc. just seems more appealing to me than RISC-V even if RISC-V is pretty clean. I don't think there's all that much in it, but at least with ARM you have a singular entity to sue if something goes wrong, whereas RISC-V is kind of a risk in that regard.

I want one, but I have no expectation of ever owning a proper RISC-V desktop machine.

"proper" RISC-V machines may be a ways off ... but a "singular entity to sue" isn't what folks interested in RISC-V are trying to avoid (at least, none of the people I've talked to about it)

As it is, there's not really a "singular entity to sue" even in the ARM world - all the licensees out there might be lawsuit targets (if they really blundered something horrifically), but ARM Holdings isn't going to be a serious target

I looked around the room I'm in just now, and I see a M1-based MacBook Pro, an iPhone XS, an iPad Pro, an iPhone 12, and a Sony OLED TV which most likely uses an ARM core.

The only exception is my wife's work laptop, an x86 MacBook Pro. (It'll be replaced by an ARM-based one in a year or two.)

It's quite safe to say that x86 is dead.

You just sent this message to a whole bunch of servers that are almost certainly running x86-64 and that side is unlikely to change for the near future, I'm pretty sure that 64-bit Intel still has some life in it
Disagree. Server hardware usually gets rotated on a fairly aggressive schedule, and power consumption absolutely matters for server farms.
> power consumption absolutely matters for server farms

And heat, which makes cooling cheaper, has a good chance at reducing noise in the datacentre, etc.

FWIW my next project on AWS will almost certainly be using graviton instances.
I count a lot of Apple chips, not ARM. Some of them might still run a mostly ARMv8 compatible instruction set, but I'm sure that is going to change (as it already is). You will all want your x64 back soon enough..
There might be some sampling bias here.
x86 isn't dead, in the same way the ARM wasn't dead when the Raspberry Pi existed. Until we see 5nm x86 chips, it's going to be awfully hard to evaluate just how large of a lead ARM has on the desktop. And that's before we get to the real sticking points; legacy software. x86 is really, really good at maintaining backwards compatibility, and even has a number of objective leads over ARM in it's current iteration (for example, native SIMD beats the pants off NEON any day of the week). For ARM to claim supremacy, it's going to need to run the same software that x86 does, without overhead. Simply due to the difference in architecture, that's going to be astronomically difficult.

A more likely theory is that we've now entered the big.LITTLE era. Intel has already begun to pivot their desktop line to the big.LITTLE design, and while AMD's next line won't follow suit, they've discussed bringing the architecture to the CPUs after that. x86 has still got quite a bit of gas left in the tank, and now that RISC-V is getting taped out, a lot of people are starting to realize that a more modular approach to RISC CPUs is probably smarter than how ARM exists in it's current iterations. Plus, ARM is still proprietary (arguably moreso than x86), whereas RISC-V is fully open for anyone to use and manufacture. Simply from a technical side, I think RISC-V is going to eat ARM's lunch within the decade, and I also think traditional architectures like x86 aren't going away any time soon. Time will tell.

I think this is closer to the truth. X86 isn't going anywhere because it's been pretty adaptable over the last 43 years. The newest adaption is the big.little design. It will be interesting to see AMD's answer to it. Unless something majorly disrupts the Win/Linux on x86 space, it's going to be around for the foreseeable future.

Also, we've heard these arguments before with Intel i960, IBM PowerPC, DEC Alpha, and Sun SPARC. At the end of it, x86 is still around.

Genuinely curious if any of the prev alternatives were more performant as well as power efficient?
PowerPC was more performant but limited to Apple (echoes of the current M1). The best place I know of to read about that era is Tom Hafhill's Byte Archive. Which has many articles from the 90s about x86, PowerPC and DEC Alpha[0]. Intel (x86) has always been very difficult to compete with because historically they've been able to integrate new technologies into the ISA quickly.

DEC Alpha was more performant than Pentiums, but they caught up eventually. Pentiums were far, far cheaper, however.

Power efficiency wasn't really a thing back then. The original Pentium was an 8 watt part, the common DEC Alpha (21164 in '95) was a 30-50w part.

[0] https://www.halfhill.com/bytelink.html

> PowerPC was more performant but limited to Apple (echoes of the current M1).

IBM shipped a lot of PowerPC machines also. I think they still have some current machines on that architecture.

> Power efficiency wasn't really a thing back then.

If I remember right, that was what caused Apple to switch to Intel. IBM just couldn't get the heat and power consumption on the G5 down to a level that would make it feasible for laptops.

IBM still does, it's called the PowerISA now instead of PowerPC (I guess we're finally in a post-PC world after all).

And yes, I think that's right about not being able to get the heat down for laptop parts. That's still over a decade after the PowerPC 601 that competed with the Pentium (P54C). By 2006 it was pretty obvious that x86 had 'won'. DEC Alphas were discontinued, Sun was well into financial difficulties, and SGI (MIPS) was in serious financial trouble, and Apple was moving to Intel.

Side note: A lot of these arguments really happened over 20 years ago. This has actually been a really nice walk down memory lane.

I wonder if big.little is the first step in really hetereogenous architectures.

Once we get OSs capable of understanding "this task should be executed on cores 0-7, and these others can be on 0-15", it's a much smaller step to "this task can only be executed on cores 0-7 and will be literal gibberish on the other cores". Over time, you skew the core distribution until x86-64 is a legacy product and you install a separate accelerator that has a couple of cores on it if you still have x86 software that can't be emulated efficiently.

What worries me about ARM and RISC-V is that the diversity of SoC design that makes them great for embedded systems, makes them awful for a desktop PC where third-party software and peripherals matter. In that sense, any attempt to ask "will ARM/RISC-V replace x86/x86-64" has to be followed up with "which ARM/RISC-V".

We'd need someone that could unite the industry around some standards for an ARM/RISC-V desktop. I worry that may end up being Microsoft, because they have a unique potential gatekeeping position with their closed-source portfolio. They can say "this is the right memory map/device tree for Windows ARM/RISC-V" and actually exert leverage on manufacturers. (If a Linux/BSD product tries the same, vendors can always patch around it).

The alternative is chaos. Even in x86 land, with only two meaningful players and huge installed bases of each, we had various instruction sets that took forever to get adopted, or just withered entirely (3DNow!) because people didn't consider them part of the least common denominator.

Speaking of big.little, you've got to acknowledge that Intel's doing this right now in their i9 Alder Lake x86_64 CPUs (8 performance cores + 8 efficiency cores). So I think this isn't going to be exclusively an ARM problem...
Yes, x86 is dead. But ARM is just going to be a pit stop on the way to other open architectures like RISC-V AND OpenPOWER.
(comment deleted)
No, you guys are all dead... It'll just take years. Because you're all locked into a proprietary architecture that has an external root-of-trust that doesn't care about you and is using all of its influence to exploit you. Power10 will be the way if Raptor removes the blobs. AMD chips will be the way if Project X has any serious success.
"... 5 years from now everyone will be running free GNU on their 200 MIPS, 64M SPARCstation-5."

- Andrew Tanenbaum arguing with Linus Torvalds in 1992 that Linux was obsolete because it was (at the time) built only for x86, and that x86 was dead.

For reference as to how certain Tanenbaum was that x86 was dead, he also remarked in that debate that if Linus Torvalds was his student,

"Writing a new OS only for the 386 in 1991 gets you your second 'F' for this term. But if you do real well on the final exam, you can still pass the course."

Turns out x86 had at least 30 years and counting of life left in it, regardless of what the academics thought...

Also, Linux became highly portable. So I think Linux would pass with better than an F.
A nice reminder of the difference between talkers and makers
Tanenbaum made MINIX, ironically the OS inside every Intel chip.
That's the cruelest irony about this whole thing. The guy who lambasted Torvalds because x86 was dead gets his OS in almost every new x86 chip, 25 years later.

That's hilarious.

Tanenbaum is well known for his great opinions, on anything, really.
There are elements of Intel being good, and Intel's competitors being useless here, it's not solely technical e.g. It was before my time, but it seems like DEC had a good product in the Alpha but were utterly unable to capitalize on it like Intel were able to - similarly with other RISCs.

It may also be of note that guesstimates from that era to the early 2000s were usually wildly wrong. Some compiler books from the era say, "Of course, we can count on a [large]% speed increase per-year".

https://www.anandtech.com/show/680/6 Intel (apparently) thought they would have 10GHz by 2005!!!!

on desktop yes, but not in the cloud
Graviton has entered the chat.

Seriously though, I think AWS making the price/perf advantageous towards ARM is probably doing more to push ARM in the cloud than anything else. I know I have moved all our Linux workloads to Graviton2 where I could for the cost savings.

It's possible it's just you, or to be more generic, it's the specific bubbles that we live in and observe.

There are simply multiple eras ongoing at the same time. The ARM era stated a long time ago, not when you bought your laptop.

Yes, it’s going the way of cobol. Windows laptops will move to ARM to take advantage of power efficiency and follow Apple, then what is left of the desktop pc will follow.

x86 will stay alive for legacy systems but will become more and more expensive as they loose economy of scale and constant effort to keep up with performance.

Then only the expensive legacy system will keep paying the x86 tax

This comment section shows absolute delusion. x86 isn't dead, and there are more x86 chips sold every year. ISAs are not and have never been a zero sum game, and especially in the Windows space, x86-compatible is here to stay for a long time.

Apple's transition to ARM worked because they have absolute control over their ecosystem. This is the same reason the PPC-Intel transition worked; they were able to destroy all of the wonderful lineage of PPC Mac software in two releases (Tiger, Lion).

Microsoft does not.

I don't like x86_64 either, and I also don't use Microsoft, but there's hope and there's delusion. It still has a lot of life in it, unfortunately.

Hardly.

- Both Playstation 5 and Xbox Series X use x86 processors.

- MacBook market share is around 10%, so the majority of new laptops are still x86.

- The majority of cloud compute instances are also x86.

From my experience (and I know it might be skewed a bit), most developers that I know or have worked with, if given a choice, prefer MacBooks (at least for backend/frontend/Android development.)

If people are actually using ARM for development, it also makes sense to use ARM for CI and production servers, since maintaining support for two architectures is just not feasible in the long run.

Recently, I've been testing ARM on CircleCI, and in my experience builds and test runs are about 20-25% faster on ARM vs x86, which to me seems like a big win.

What do you mean when you say "test runs are about 20-25% faster on ARM vs x86"? Are you comparing similarly priced systems, specific processors, or what?
CircleCI offers machine executors, which I assume are basically just EC2 instances (in the past they were hosted on GCP), and for example using 'large' executor has the same per second billing, but large ARM instance is ~25% faster than large x86 instance.
> - MacBook market share is around 10%, so the majority of new laptops are still x86.

You are forgetting ChromeOS, though it only adds ~%1

All embedded/low power medical devices I've worked on since 2010 have moved over to ARM. Especially new development. Beaglebones like chips are great for PoC, prototyping etc. as you can install Linux and easily control gpio pins and have an abundance of serial, i2c, spi and even dual ethernet if needed. M3-M0s are great for smaller embedded chips.
They are so great, no one system ever works on another board!
There is no reason there couldn't be standardization on ARM like it's on x86, and similarly we could also lose this in the near future on x86 platform.
"There is no reason nuclear power couldn't be safe, it's just those human regulators and operators getting in the way." - HN fanbois
I hope so.

If Microsoft will release a version of Visual Studio that runs on ARM, I'll be able to do everything on one machine (there's already an ARM version of Windows, but for whatever reason Visual Studio isn't supported yet... I can kinda understand why, as it needs to do debugging-type stuff that's more hardware-dependent).

I'm extremely pleased with the M1 iMac. Fast and silent. Back in the day I had a dual Athlon, which, while fast for its time, sounded like I had a couple of Dustbusters running under my desk.

Here's how I think about it.

Don't think about the era, think about what it means for you.

Either we are entering the Arm era, or we aren't.

If we are, it won't matter. all the s/w in the world,languages, libraries,expertise, applications, etc aren't going to disappear, so it won't matter much. Programmers will switch compilers and learn new tricks, and consumers march on. I still buy games, play them, and code for a living.

If we are not, same story, just not as many new compilers.

It depends on how high up the software stack you work. For most people it won't make much difference, but for some people it's huge. I do a lot of SIMD optimization, and x86 is 128/256/512-bit short-vector SIMD. Arm is 128-bit/long-vector. Even short-vector on Arm uses a different programming model from x86 (the intrinsics are more abstracted from the operations in order to support endian-agnostic operation), and of course long-vector is worlds apart.

I'm not complaining though; we're entering a new golden age for people who like learning the intricacies of ISA's and microarchitectures!

I think most people understand that ARM means more than just "ARM vs. x86", its much more of an economic and control play than an architecture play. Sure from the people who end up wanting to use the chips its all about that, but from the companies that buy x86 chips from Intel or AMD, they are willing to spend their R&D money to get something that meets their needs.

Personally I would chalk this up to chip companies doing what is called "value based selling".. instead of saying, hey how much do we need as a company to be profitable at a level we are happy with, to continue to invest in our tech, grow and pursue high end goals, they basically said, hey.. how much is this chip worth to the customer? And, if we buy up all of our rivals such that they essentially have zero options besides us, then we can charge essentially whatever we want to charge -- or maintain our current pricing with no hope for the customer to get a price improvement over time.

When you get to be the size of the big trillion dollar tech companies, you say, ok yea, I'm tired of this game where you spend lots of time trying to figure out how much money I make from your chips and basing your pricing on that.. I'll just make the chips myself...

I want to believe but i sure as shit dont see it. ARM still offers only tiny little straws that it talks to the outside world through.

How many phones can drive a 4k 144Hz monitor? how many have more than a single 5gbit usb3 jack? how many arm laptops have more than two bare basic usb3 host ports? hiw many chios offer a dozen lanes or more of pcie?

i really really think usb4 is excellent, especially with thunderbolt pcie which is not that much more complexity. gazing at my crystal ball i'd expect two more years before we see arm start to show up here, and likely at the flagship level devices only. it's an indicator to me that arm is an unserious competitor. the ecosystem is a couple massive players, who seemingly are in cahoots to keep from pushing each other to advance much. even the archtecture moves at a crawl. a53 was around for almost a decade and a55 was barely a double digit % speed boost- abysmal, arm, abysmal.

i also think arm is hampered by having such a relationship oriented ecosystem. anyone can go out and buy x86 chips and make a computer. companys like chuwi build super interesting low cost boxes that run rings around most arm chips (not apple). innivation is open. by compare, try getting chips from qualcomm or mediatek or any other modern offering, without being an estaished player shipping dozens of millions of units a year. arm is a much more closed ecosystem, now supported by massive massive margins on $800+ devices, with well defined product niches. x86 is a much less entrenched & much more diverse environment, with much higher general expectations (apple's chips somewhat the exception).

at the high end, in servers, i think arm stands a chance. but these will be chips you cant actually buy, built by hyperscalers, or just phenomenally expensive high margin $6000 servers. if you need compute im expecting workstation chips (hdet) to be higher value, but if you also need io, then there may be some modest value proposition ein over x86. for hyperscalers though they will be saving bank.

We have entered it around 15 years ago, when the majority of custom embedded architectures started to be replaced with ARM cores (around the ARM7 timeframe) and when ARM application processores (ARM9, Cortex A) first showed up.

The current transition is more about some more PCs and servers also considering to use ARM.

I don't think x86 is dead. As long as x86 CPU manufacturers can keep up on pricing, performance and power consumption it will stay alive. And there's a lot more to that race than just the instruction set. Intel had a lot of weak years, but AMD showed that x86 doesn't have to stagnate.

There needs to be more than just Apple (and servers don't count).

I hope they stick the landing (i.e. make Linux work great on M1 rather than just booting) but if the only competitive ARM cores available to consumers are from Apple, only running Apple software then I'm not all that convinced we'll see a real changing of the guard.

Once, and if Intel fully transition to Foundry Model, we might see a free x86 IP core on their Foundry. There are still plenty of fighting chance for x86. So I wont declare it dead now or in the next 10 years even if the trajectory isn't exactly great. Both Google and Microsoft are working towards their own ARM server solutions.

The importance of making 100% ( not 98% or 99,9% ) compatibility on business software and business PC, which represent 750M Windows user will be worth to keep x86 alive. Of course Microsoft being the key factor here, but I dont see them making any dramatic moves, and even if they did, it will take a long for those effect to be distributed.

Again, it is worth point out. The word "dead" means different thing to different people. On HN ( and in fact everywhere on the internet ) they often state Ruby is dead, when they meant Ruby is dying. No one uses COBOL, or COBOL is dead, when in fact majority of our underlying infrastructure are still running on it. Mainframe is dead... etc etc and I could continue forever.

Without a proper definition of dead, any of these discussions are meaningless.