Die Arm-CPU-Architektur hat eine lange Geschichte. Angefangen bei Heimcomputern in den 1980er Jahren bis hin zur dominierenden Architektur für eingebettete Geräte in den 1990er Jahren. Heute hat sie sich als Architektur für Smartphones etabliert. Cloud-Infrastrukturen, die auf der Arm-CPU-Architektur basieren, sind in den letzten Jahren immer häufiger verfügbar geworden.
Im Zuge dieser Entwicklung waren wir bei Kinvolk daran interessiert, die Vor- und Nachteile dieser Angebote für cloud-native Anwendungen zu verstehen. Wir haben eine Reihe von systemweiten Benchmark-Tests durchgeführt, um Einblicke in die Leistung grundlegender Plattformfunktionen zu gewinnen. Insbesondere haben wir uns die Ampere eMAG-Bare-Metal-Server angesehen, die vom IaaS-Anbieter Packet angeboten werden. Diese Benchmark-Tools können problemlos auf jedem Kubernetes-Cluster ausgeführt werden und können sogar für neue Architekturen wie MIPS, POWER oder IA64 erweitert werden.
Es sollte beachtet werden, dass Kinvolk eine laufende Zusammenarbeit mit Ampere Computing und Packet hat und alle für die Benchmarking verwendete Infrastruktur kostenlos zur Verfügung gestellt wurde. Ampere Computing hat auch die Entwicklung der Steuerung für die Benchmark-Läufe sowie die Erfassung der Ergebnisdaten und die Erstellung von Diagrammen gesponsert.
Unsere Ziele bei dieser Studie waren:
- Bereitstellung eines erweiterbaren Benchmark-Frameworks, das reproduzierbare Benchmarks durchführt und benutzerfreundliche Ausgaben (Diagramme) erzeugt.
- Identifizierung eines Satzes von systemweiten Tests, um ein gründliches Verständnis der Systemleistung zu ermöglichen und die Unterstützung unterschiedlicher CPU-Architekturen in der Cloud-Native-Verpackung sicherzustellen.
- Durchführung eines umfassenden Vergleichs verschiedener CPUs auf ausgewählten Servern und Diskussion der Betriebskosten.
Für unsere Benchmarks haben wir ähnliche Ampere-, AMD- und Intel-Server ausgewählt. Wir haben die Leistung der folgenden CPUs getestet:
- Ampere Computing eMAG CPU, 32 Kerne mit 3 GHz (mit 3,3 GHz Turbo)
- AMD EPYC 7401P, 24 Kerne/48 Threads mit 2,2 GHz (mit 2,8 GHz Turbo)
- Intel XEON 5120 x2, 28 Kerne/52 Threads mit 2,2 GHz (mit 3,2 GHz Turbo)
In den Benchmarks haben wir verschiedene hardwarenahe und systemweite Metriken betrachtet, um ein umfassendes Bild der Leistung zu erhalten. Dazu gehören CPU-Geschwindigkeit, Speicher-I/O-Raten und Netzwerkperformance. Wir haben auch Betriebssystem-Tests durchgeführt, um Laufzeit- und Betriebssystemfunktionen zu bewerten. Darüber hinaus haben wir Cloud-native Anwendungen wie Memcached, Redis und NGINX benchmarkt, um ein besseres Verständnis der Gesamtperformance zu erhalten.
Insgesamt zeigen die Ergebnisse, dass Ampere’s eMAG eine gute Leistung zu einem günstigen Preis bietet, insbesondere bei speicherintensiven Workloads. AMD’s EPYC bietet eine gute Leistung in Bezug auf Integer- und Gleitkommaoperationen, während Intel’s XEON in einigen Benchmarks die höchste Rohleistung erzielt. Bei der Netzwerkperformance liegt AMD’s EPYC vorne, gefolgt von Intel’s XEON und Ampere’s eMAG.
Insgesamt hat Arm-Architektur, insbesondere die Ampere eMAG, auf dem Cloud-native-Level einen hohen Reifegrad erreicht und kann als kostengünstige Alternative zu den traditionellen x86-Architekturen betrachtet werden. Wir stellen die Ergebnisse unserer Benchmark-Tests der Open-Source-Gemeinschaft zur Verfügung und hoffen, dass sie dazu beitragen, das Verständnis und die Akzeptanz von Arm-Servern in der Cloud weiter zu verbessern.
Bildquellen: server-cpu-vergleich und cluster-structure