Mac Pro: x86… or ARM?
Of the several lingering rumors around Apple’s hardware strategy, there are two that tend to rise to the top:
- Will there be ARM Macs, and
- Where’s my new Mac Pro?
Often we think of these separately. ARM chips have been the backbone of phones and tablets for some time, but that’s obviously the slot they’ll stay in. If a Mac were to be ARM-based, it’d be the MacBook Air or something equally lightweight, both in pounds and in power — the Mac Pro wouldn’t enter into the equation at all.
But then, CM Harrington raised this not-quite-question on Twitter:
Given Apple’s history of Pro hardware/software, and the ARM transition rumour, if true, would mean that the yet-to-be-launched Mac Pro will, de facto, be a dead end. Hmm.
Taking this thought one step further: what if the Mac Pro were the first ARM-based Mac? What if it shipped with a couple dozen ARM cores, happily parallelizing the kinds of workloads the Mac Pro is known for?
There would be roadblocks right away, and big ones. Single-threaded performance would take a hit. There’d need to be some kind of Rosetta translation layer again. Perhaps most critically, lots of low-level integration that systems running on newer x86 chips take for granted — like Thunderbolt support, or tight architectural ties to graphics cards — would vanish, and need to be rethought or rebuilt.
That’s all well and good. Apple’s chip team has been pure fire for the last few years, and could handle these kinds of challenges if they had to.
But do they really have to? Here’s where the thought experiment goes off the rails just a little bit:
This sounds crazy, but give it some thought. A hypothetical hybrid Mac Pro, with both types of processor running simultaneously, could parallelize in a whole new way. It would run the OS and applications that support it on the ARM cores, and farm out other work to the x86 half of the machine, perhaps using a hypervisor or other low-level process management layer. If balanced well, this handles all kinds of workloads right off the bat:
- System processes get placed on the ARM cores
- Apps that opt in to supporting ARM get placed on the ARM cores
- High-intensity single-threaded loads, or processes with heavy x86 dependency, get placed on the x86 cores
- Mac apps that haven’t been ported to run on ARM (i.e. all of them except first-party apps, for starters) get placed on the x86 cores
- Multi-process systems (e.g. an app with an XPC service) could even bridge the platforms, with a little work
Apple certainly has plenty of experience running an OS on ARM, and I’m willing to bet there’s an ARM port of macOS floating around somewhere already. (Think about how long x86 macOS existed before seeing the light of day.)
What’s more, they have both the carrot and the stick for getting developers onto ARM already. Xcode can help with migration, and the OS could prioritize ARM apps in some way — and for stragglers on x86, the “Significant Energy” list of shame and an eventual App Store restriction could motivate apps to port quickly. The 32- to 64-bit conversions on both platforms are recent indicators of how this transition might be handled.
It wouldn’t even be the first multi-architecture machine Apple shipped: all the Touch Bar MacBooks use a little ARM core to drive that hardware, with XPC channeling data back and forth. A hybrid Mac Pro would probably need a little tighter integration (and maybe a smoother rollout) than the Touch Bar, but would be extending an existing idea instead of treading brand new ground.
If you squint, a hybrid Mac Pro could even explain timelines, if it’s in the works already. It’d be a huge engineering challenge, hence the long delay since the last Mac Pro bump. And if the Mac Pro is meant to be the first ARM Mac, it would explain why such a persistent rumor hasn’t come to fruition yet.
Of course, this is all hypothetical, and probably doesn’t hold up to scrutiny, let alone Occam’s Razor. Plenty of more likely reasons exist for the Mac Pro delay, and the rumor of ARM Macs could be just that — a rumor.