Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Theres a perception that the ARM Altra per-thread performance is really bad.

But according to my Minecraft benchmarks in Oracle's instances, its better than old Skylake cloud instances... by how much is hard to say since other tenants generate so much variation, but there are proper reviews of the whole SoC floating around out there.



I've benchmarked ARM systems vs other processors.

On my workload, using Intel as a baseline. AMD under performs relative to standard benchmarks. ARM over performs relative to standard benchmarks. I have seen good performance from Ampere, particularly for the price.

However, ARM architecture complicates my workflow significantly. I've found that they are not worth using it right now due to compatibility issues, easier to just stick with x86 for most things. Dealing with required missing packages just kills the value.

My system isn't generally compute limited anyway. IOPS and egress dominate rather than MIPS.


Try alpinelinux, you'll be able to find almost everything, coupled with nix for just in case. I've yet to find any package missing.


Introducing new distros to solve the problem is moving in the wrong direction. It's so much easier to deal with one distro in the cloud. Just more reasons not to go multi uArch.


To the downvoter...

I strive for simple infrastructure.

ARM doesn't support the x86 docker eco system. That's a significant strike but not totally unworkable for me.

My primary database isn't prepackaged with the ARM packages nor does the originating org build one. I could build it myself, which I have done plenty over the years. I did try it, but the dependencies aren't up to date on ARM. So now I'm building dependencies and the software package. Building software from scratch can be a rabbit hole that eats untold amount of time. After a one-day effort I gave up and abandoned it. I'll revisit again if Hetzner brings Ampere to the US and I can verify the instances have much higher IOPS ceilings.

Enter another distro and I have to rebuild all of my provisioning and management scripts for all my services with all the testing entailed in the new dependency chains. I'd rather try to build my db from source again, frankly.


ARM cloud hosts typically run distros with good ARM support. Oracle Linux is actually quite good, kinda like a pre optimized RHEL.

Which begs the question: what is Hetzner pushing on these? SUSE maybe?


By default: Ubuntu, Debian, Fedora, CentOS, Rocky and Alma.

You can mount your own ISOs though.


alpine brings it's own issues with the different libc

maybe things have been fixed now, but about a year ago I was having issues with ruby bugs that were due to differences between muslc and gnulibc


I'm curious what distro you're using where there are missing packages. I've never run across missing distro packages on arm64 Debian (which I regularly use at work).


Ubuntu server itself is pretty arm friendly. But there's a LOT of software that doesn't come with the distro's packaging that one might want to run in the cloud. Docker images and vendor hosted package repos. Everyone does this for x86. Very few do it for ARM. And if you want to try to build-from-source, the dependencies of a lot of pieces are often very out of date on ARM.

There is a kind of after market ARM community that occasionally builds these items. But they are generally pretty out of date.

I don't have an issue with the base distro and what it tries to do, but there are so many random pot holes and road blocks that just don't show up for x86.

I have ARM servers running in production now. But I have workloads that aren't reasonable portable to the uArch and I don't force them there.


Have you faced issues with packages being too old on Debian Stable though?

"Missing packages" may be packages missing important features or bugfixes.


I don't think I've ever run into an issue where arm64 packages are older than amd64 packages. Sometimes Debian Stable package versions are old, in which case I use backports, use the company's internal packages (which are often compiled for arm64), or compile it myself. It's no more of an issue on arm64 than on amd64.


I certainly have...

Arch and SUSE are ARM friendly though.


Isn't running Arch in prod considered brave still? Or has it become stable and predictable in the last few years I did not watch it?


I've done a bit of minecraft benchmarking on my Oracle instance. It generates the same number of chunks per second as my 3600x CPU - although minecraft is always a weird benchmark in that benefits from low memory latency and large caches as it is ineffective at using caches well but is memory bound.


Its even more lopsided when modded to the teeth.


We're getting pretty good performance on AWS Graviton3 for our data processing, their m7g is pretty good. Looks like they're banking on ARM taking off, with lots of new options in 2023.


Old Skylake cloud instances is "really bad" in the current day compared to Rome/Milan/Genoa, Sapphire Rapids and Graviton 3 for example.

We've moved on from lakes!


Cooper Lake (2020) is still a Skylake. They aren't that old!


The 1 that was mostly canned?

See: https://www.anandtech.com/show/15631/intels-cooper-lake-plan...

It's limited everywhere.


> The company is set to only make the hardware available for priority scale-out customers who have already designed quad-socket and eight-socket platforms around the hardware.

I work at one of those customers; we use loads of them.

Nevermind Ice Lake / Alder Lake (2021) / Raptor Lake (2022) -- Intel hasn't abandoned the "Lake" naming scheme yet.


> Nevermind Ice Lake / Alder Lake (2021) / Raptor Lake (2022)

i.e. Skylake+++++


No, starting with Ice Lake these are on the first actually-new core micro architecture after Skylake (it’s the “Cove” family, starting with Sunny Cove in Ice Lake). They have Lake in the name but these are actually a new micro architecture, finally, not Skylake family.


Facebook?


Also, by "Skylake" I mean whatever the last popular server CPU with the Skylake derived core was... IIRC Cooper Lake was Facebook only, Cascade Lake was HPC, and I cant even remember beyond that, but they've had the same 28C server die forever that hosts everywhere use.


To be fair Ampere Altra is old now too. Kinda a contemporary with Ice Lake and the tail end of Skylake.

Hetzner offering them right now is curious. Maybe its a pipecleaner for the next Ampere gen?


The new Altra developer kit is also very cheap. I wonder if Ampere is dumping overstocked inventory. Given their track record I don't expect the One to be available any time soon.


Does Ampere have a newer offering yet? Probably not? So Hetzner are offering the "current gen".

Meanwhile AMD and Intel both do have a later offering so they are "old".


Minecraft is inherently single threaded. the success of running big servers is to run it on the fastest single core processor money can buy.


This wisdom is a bit outdated, especially on heavily modded servers.

Minecraft is limited by a single thread, but some stuff does run on other threads. In addition the JDK will do compilation and GC on other threads now, which is especially apparent if you run GraalVM like you should.

Minecraft wont scale to 16 cores. But if you buy a 2C/4T instance, you are going to get less performance than you would get on a wider one.


> Minecraft is limited by a single thread, but some stuff does run on other threads

Hmm, not so outdated. if you’re talking about JVM gc then sure but pretty much everything is built around a single thread ticking the mod. I know some mods can do chunk pregen on another thread but those are rarely used.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: