Wandering Thoughts archives


Having non-x86 machines makes your life harder, especially in a mixed setup

Here's a confession: while I like the idea of good non-x86 CPUs and machines in theory, I don't really want to operate any of them in practice. I especially don't want to operate them in a heterogeneous environment along side x86 machines.

The basic reason to avoid non-x86 if you have a choice is that x86 is the dominant default, and today everything else is a relative minority environment. My impression is that the 64-bit ARM Linux world is reasonably common, but even there it's not common enough for Mozilla to provide a pre-compiled Firefox binary (and let's not ask about more commercial software, such as for video conferencing). Using a non-x86 system is pretty much guaranteed to be a parade of paper cuts, where binaries don't exist, people haven't tried their software, software has architecture specific bugs, and so on. Meanwhile, you can safely assume that everyone supports 64-bit x86.

(I'm not up on the state of 64-bit ARM support in other free Unixes. Here's OpenBSD and FreeBSD (also, also?).)

The reason to avoid a multi-architecture environment is that in most situations they're significantly more annoying and troublesome than single-architecture ones. You need multiple sets of binaries (often of entire packages) and generally a way to pick the right binary for the right architecture. There are ways to make the picking problem easier, but they generally involve sharing less between machines. If you try to share things across architectures, you'll get to find all of the ways that modern systems aren't really set up for that, partly because it's been decades since most environments really tried to do this.

This leads to the second reason to avoid non-x86, which is that you'll almost certainly wind up with a mixed setup where you still have some x86 machines (and perhaps a lot of them). Generally you won't be able to cordon these off into single-architecture environments that you can handle completely separately, so going non-x86 also means going mixed.

Sometimes what you gain from using non-x86 is worth the pain. But there's pretty much always going to be pain.

(This is related to how in the old days we didn't use multiple Unixes by choice, since many of the same issues apply.)

PS: This only applies when you need to actively operate the machines. If the machines are sealed black boxes that you only push buttons on, you don't really care what's inside.

sysadmin/NonX86MakesLifeHarder written at 23:09:02; Add Comment

Page tools: See As Normal.
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.