c't 24/2016
S. 116
Test
ARM64-Server
Aufmacherbild

Mit Donner, ohne Blitz

Cavium ThunderX: Erste Erfahrungen mit ARM64 im Zweisockelsystem

So langsam gibt es den einen oder anderen ARM64-Server nicht nur als Entwicklungssystem, sondern sogar auf dem Markt zu kaufen. Wir schauten uns den ersten mit zwei Sockeln an, bestückt mit dem ThunderX von Cavium, der mit immerhin insgesamt 96 Kernen ins Rennen geht.

Allein Cavium hat bislang einen ARM-Prozessor herausgebracht, der ähnlich wie ein Xeon-EP mit eingebauter Hardware einen Multisockel-Betrieb ermöglicht. ARM64-Pionier Applied Micro hat zwar auch Systeme mit mehreren X-Gene-Prozessoren vorgestellt, bei denen wird aber mithilfe eines speziellen Hypervisors ein SMP-System mit NUMA (Non-Unified Memory Architecture) emuliert, ähnlich wie es ScaleMP für x86 anbietet.

Nicht nur der Prozessor muss NUMA beherrschen, auch die Firmware, das Betriebssystem und möglichst auch der Compiler. Bei den Mehrsocklern kommt als wichtiges Kriterium nicht nur hinzu, ob NUMA überhaupt funktioniert, sondern auch, wie gut die Kommunikation zwischen den Prozessoren klappt und wie ausgefuchst das Cache-Kohärenz-Protokoll ist, das die Datenkonsistenz zwischen den beiden Prozessoren sicherstellen muss. Um das zu beschleunigen, gibt es mehr oder weniger aufwendige Hardware, etwa Snoop-Filter. Und natürlich hängt es von der rohen Geschwindigkeit des Interconnects ab. Bei Intel sind das ein oder zwei QPI-Links, bei Cavium der Cavium Coherent Processor Interconnect (CCPI):