Ampere Altra Q80: Starke ARM-Konkurrenz für AMD und Intel
ARM macht x86 bei Servern Konkurrenz. Wie gut die Mikroarchitektur abschneidet, zeigt unser Test von Amperes Altra Q80.
Was leisten eigentlich ARMs Neoverse-N1-Kerne, wenn man sie als native Hardware zur Verfügung hat – also nicht als Cloud-Instanz bei Amazon oder Google? Das konnten wir beim Test des Altra Q80 von Ampere Computing ausprobieren.
Interessant ist der Prozessor mit 80 ARM-Kernen, da er als einziger für jedermann erhältlich ist. Zwar gibt es mittlerweile einige ARM-Server-Prozessoren, die meisten wurden allerdings von Unternehmen wie Amazon oder Alibaba entwickelt, die sie ausschließlich in eigenen Rechenzentren einsetzen.
Im deutschsprachigen Raum bietet Hetzner seit kurzem Root-Server mit Altra-Prozessoren an, uns stellte das Unternehmen einen zum (remote) Testen zur Verfügung. Darin sitzt ein Altra Q80-30, fast das Spitzenmodell der 2020 vorgestellten Prozessorreihe. Dessen 80 Kerne takten mit bis zu 3 GHz; anders als bei Intel und AMD gibt es keinen zusätzlichen temperaturabhängigen Boost.
Auch simultanes Multithreading (SMT) fehlt, und zwar absichtlich: So stehen die Rechenkerne virtualisierten Servern stets exklusiv zur Verfügung, sie werden nicht durch parallel laufende Prozesse anderer Nutzer beeinflusst. Verbaut ist der Prozessor in einem System von Gigabyte, ihm zur Seite stehen 256 GByte ECC-geschützter DDR4-3200-Speicher. Daten werden auf zwei PM9A3 NVMe SSDs von Samsung mit jeweils 3,84 TByte gespeichert, sie bilden ein RAID 0.
Bei der ersten Anmeldung läuft erst einmal nur ein Rettungssystem auf dem Server, über das verschiedene Linux-Distributionen installiert werden können. Die Auswahl beschränkt sich auf Debian und Ubuntu, für unsere Tests verwenden wir Debian unstable. Die relevanten Softwareversionen sind unten in einer Tabelle zusammengefasst.
| Software | Version |
| Linux Kernel | 5.19.0-2 |
| GCC | 12.2.0 |
| OpenJDK | 11.0.16 |
| OpenMPI | 4.1.4 |
| Blender | 3.2.2 |
| 7zip | 22.01 |
So haben wir getestet
Bei der Auswahl der Benchmarks stellte sich für uns zuerst die Frage: Wie vermisst man ein solches System? Unsere üblichen Benchmarks kommen nicht in Frage, da sie auf Windows aufbauen. Auch wollen die vielen Rechenkerne ausgelastet werden, die verwendete Software muss also 80 Kerne überhaupt nutzen können.
Einige Tests gibt die von Ampere Computing angesprochene Zielgruppe vor: Das Unternehmen bewirbt seine Prozessoren für Hyperscaler und Anbieter von Clouddiensten. Damit stehen Webserver (Apache) und Datenbanken (PostgreSQL, Apache HBase, Facebooks RocksDB) bereits als Benchmarks fest. Um wenigstens einige Vergleiche mit den kürzlich von uns getesteten Prozessoren ziehen zu können, haben wir noch 7zip und Blender mit in den Testparcours mit aufgenommen.
Auch viele Anwendungen, die im weitesten Sinne dem wissenschaftlichen Rechnen zuzuordnen sind, nehmen viele Kerne dankend an. Könnte das Altra-System also auch als Workstation interessant sein? Zumindest bietet mit Adlink ein Hersteller solche Systeme an. Ein Einsatz als Build-Server ist ebenfalls denkbar. Diesen Fragen gehen wir mit folgenden Anwendungen nach:
- BRL-CAD: ein Konstruktionsprogramm; die Tests basieren auf Raytracing.
- Gromacs: simuliert biochemische Abläufe, etwa in Proteinen mittels Molekulardynamik.
- OpenFOAM: berechnet Probleme der Kontinuumsmechanik, beispielsweise Strömungsmechanik.
- Quantum Espresso: simuliert quantenchemische Vorgänge zur Materialanalyse.
- WRF: eine numerische Wettersimulation, genutzt etwa vom Department of Energy in den USA
Zuletzt haben wir den beliebten Linux-Compile-Test durchgeführt, der einfach misst, wie lange ein Rechner braucht, um den Linux-Kernel zu übersetzen. Durchgeführt haben wir die Tests mit der Phoronix Test Suite, einem Open-Source-Tool für automatische und vergleichbare Benchmarks. Aus Mangel an eigenen Werten vergleichen wir unsere Ergebnisse mit denen von Open Benchmarking (die Ergebnisse unserer Tests haben wir dort hochgeladen).
Besonderheiten des Altra
Bei den Altra-Prozessoren gibt es ein paar erwähnenswerte Besonderheiten. Dass sie über keinen Boost verfügen wie andere Prozessoren, wurde bereits erwähnt. Daneben lassen sich die Altras noch in mehrere NUMA-Knoten unterteilen; NUMA steht für Non-Uniform Memory Access (uneinheitlicher Speicherzugriff). Dabei werden die Prozessorkerne in vier Quadranten aufgeteilt, denen jeweils nur ein Viertel des L3 oder System Level Cache (SLC) zur Verfügung steht. Auch die acht Speichercontroller werden auf die Quadranten aufgeteilt.
Dadurch lässt sich die Speicherbandbreite gerecht teilen, was für virtuelle Maschinen interessant ist: Prozessoren in verschiedenen Quadranten können sich nicht gegenseitig die Speicherbandbreite streitig machen – wichtig für Service Level Agreements (SLAs). Bei unseren Tests war der Prozessor als ein NUMA-Knoten konfiguriert, es hatten also alle Prozessorkerne Zugriff auf den gesamten SLC und alle Speichercontroller. Ändern konnten wir die Konfiguration ohnehin nicht, dies ist nur im Bios möglich; auf das hatten wir keinen Zugriff, da der Rechner bei Hetzner im Rechenzentrum steht.