Intel's fat margins are largely based on their duopoly on x86. With ARM, it's far more competitive and margins are far lower. With Nvidia owning ARM, it seems likely we'll see more ARM CPUs from them. Samsung, Qualcomm, and Mediatech also have ARM CPUs all the way down to a few dollars per CPU. Intel isn't going to be able to come in and charge $50-500+ unit the way they do with their x86 chips.
Unless Intel can reboot Moore's Law on Intel, they are going to get hit hard over the next few years. Even if Intel makes the move to ARM, their profitability will take a huge hit from the ARM migration.
I don't disagree. In fact, I'm assuming that's a major reason they've not done this sooner.
Intel tried to setup a different more efficient architecture with IA64, but they failed there.
That being said, with major players like Amazon and Google tinkering with ARM in the cloud and Apple getting ARM into the hands of a lot of developers, we could be on the eve of seeing ARM make a big entrance into the server realm.
IMO, a big reason ARM hasn't taken off there in the first place is because most devs aren't using ARM machines for development.
> Intel tried to setup a different more efficient architecture with IA64, but they failed there.
A big part of the IA64 strategy was to thoroughly mine the area with patents. They were held in a company jointly owned with HP. In theory it would be impossible for anyone else to reimplement IA64 and "impossible" for IA64 to be licensed to another manufacturer.
I have been coding since the mid-80's, not having the same local UNIX machine for doing development than what the server was running was quite common in the world of commercial UNIXes.
Then I moved into managed languages, where the actual CPU and even underlying OS, only matter to low level coding, again not using the same local OS/CPU combo as the server.
Finally, cross compilation for ARM exists since years.
ARM hasn't taken off, because most of time it doesn't matter enough to displace the existing stacks.
> I have been coding since the mid-80's, not having the same local UNIX machine for doing development than what the server was running was quite common in the world of commercial UNIXes.
Things change. Why is x86 the primary server platform? It isn't a great micro architecture. The fact that ARM and others (Like power pc) have been eating their lunch in terms of price, performance, and power consumption is proof enough of that.
So how do you explain the rise of x86 and the fall of pretty much every other platform on servers?
To me, it's simple. x86 got fast enough on consumer hardware to be able to run the same software that would run on servers. Developers like to test their software locally. Emulators for anything to x86 have been terribly slow.
That's why since about the late 90's pretty much everyone has been running x86 servers.
That you can cross compile isn't really the issue. Even running managed languages isn't the issue. The issue is that there are always differences that are hard to compare when switching platforms if the one you are developing on isn't the same as the one you are targeting.
That's like 90% the reason why most consoles have switched over to x86.
Mobile devices would have gone to x86 were it not for the fact that licensing costs were too high and the performance/watt ratio too low.
I know your question is rhetorical, but worth addressing because it's relevant.
> Why is x86 the primary server platform?
Cheap PC prices plus Linux meant you could deploy Linux for a fraction of what deploying any other Unix (save the *BSD family which shares similar advantages).
Cheap ARM CPUs and reasonably priced, performant ARM development machines pretty much harpoons that big advantage x86 had.
> The issue is that there are always differences that are hard to compare when switching platforms if the one you are developing on isn't the same as the one you are targeting.
Yes and no. We've been developing on MacOS and deploying to Linux for some time. The issues we end up fighting are minimal and we're going from one OS to another. I suspect most of the ARM-x86 issues that haven't already cropped up and been dealt with will be soon.
Agreed that lack of desktop Arm wasn't the biggest issue. Arm didn't take off because:
- Intel had process leadership and x86 was 'good enough'
- Process leadership was in turn supported by the volumes / margins that Intel had on their consumer PC business.
But now Intel has lost process leadership partly due to smartphone volumes supporting huge investment at TSMC / Samsung and the hyperscalers have an incentive to differentiate their offerings (e.g. Amazon Graviton).
> IMO, a big reason ARM hasn't taken off there in the first place is because most devs aren't using ARM machines for development.
Also suspect this is largely true. Most developers have local environments and until Apple, having a local environment with ARM has been awkward. Docker multi-platform images is supposed to mitigate this, but they are still fairly new and I suspect many developers don't trust them yet.
It would be interesting to see Apple launch am M series server. After looking at the M1 Mac mini logic board, it seems like a blade server with stacks of Mac mini boards would be fairly easy to engineer. Apple would just need to build the chassis.
i have high hope for AMD/TSMC to push x86. Intel seem to be...stuck for now.