ARM-CPUs in der Hyperscaler-Cloud (von AWS) Mit Graviton2-Prozessoren höhere Leistung erzielen und zugleich sparen

Autor / Redakteur: Michael Matzer / Ulrike Ostler

Eine Reihe von Hyperscalern setzen modernste CPUs ein, um ihren Kunden Vorteile hinsichtlich Leistung und Preis anbieten zu können. Bislang waren „Intel-Xeon“- und “AMD-Epyc“-CPUs die Arbeitspferde der Compute-Instanzen, doch die neueste Generation von ARM-CPUs der „N1-Neoverse“-Plattform bietet Kunden die Option, bei höherer CPU-Leistung Nutzungsgebühren zu sparen. Diese heißen bei AWS „Graviton“.

Firma zum Thema

Nicht nur für Implementierungen im eignen Rechenzentrum haben Unternehmen die Wahl zwischen verschiedenen Prozessoren. Wie wäre es mit etwa mit „Graviton2“-Instanzen von AWS - einer ARM-basierten CPU?
Nicht nur für Implementierungen im eignen Rechenzentrum haben Unternehmen die Wahl zwischen verschiedenen Prozessoren. Wie wäre es mit etwa mit „Graviton2“-Instanzen von AWS - einer ARM-basierten CPU?
(Bild: Gerd Altmann auf Pixabay)

Der AWS Graviton2 ist ein Prozessor, der auf 64-Bit ARM Neoverse N1 Rechenkernen basiert und je nach Anwendung bis zu 40 Prozent schneller arbeitet als x86-64-basierte (Intel/AMD) Prozessoren.

CPUs der Generationen „Intel Skylake SP“ und „Cascade Lake“ (Xeon Platinum) sowie AMD Epyc sind beispielsweise in den „M5“-Instanzen buchbar, die bei Amazon Web Services in mehreren Modellen ihren Dienst verrichten. Sie sind also die Messlatte, an der sich die neuen Graviton2-basierten Instanzen messen lassen müssen.

M5-Instanzen bieten ein ausgewogenes Verhältnis an Rechen-, Speicher- und Netzwerkressourcen für eine breite Palette an Workloads. Dies schließt Web- und Anwendungsserver, kleine und mittlere Datenbankgrößen, Cluster Computing, Gamingserver, Cachefarmen und App-Entwicklungsumgebungen ein. Außerdem verfügen M5d-, M5dn- und M5ad-Instanzen über lokalen Speicher, der NVMe-basierte SSD-Laufwerke mit bis zu 3,6 Terabyte bietet.

„M5a“- und „M5ad“-Instances sind mit dem Prozessor der AMD Epyc 7000-Serie mit einer All-Core-Turbo-Taktfrequenz von bis zu 2,5 Gigahertz (GHz) ausgestattet. M5a-Instances versprechen bis zu zehn Prozent Einsparungen für Kunden, die ihre Amazon „EC2“-Rechenumgebungen, die bislang M4-Instanzen nutzten, weiter kostenoptimieren möchten. M5-Instances basieren auf dem „AWS Nitro System“, einer Kombination aus dedizierter Hardware und schlankem Hypervisor, der praktisch alle Rechen- und Speicherressourcen der Host-Hardware für die Instances bereitstellt und so für eine bessere Gesamtleistung und Sicherheit sorgt.

AWS Graviton2

Im Unterschied zu den genannten Prozessoren ist AWS Graviton2, der auf 64-Bit ARM Neoverse-Cores basiert, ein System on a Chip (SoC), das heißt: Er bringt sowohl die CPU „mobile Cortex -A76“ mit als auch verschiedene Arten von Cache und ein internes 2 Terabit pro Sekunde (TBps)-Netzwerk, “Mesh Interconnect CMN-600“ genannt.

[Hinweis des Autors: Da Graviton2-Prozessoren nur bei AWS eingesetzt werden, wird auch nur AWS berücksichtigt. Deshalb wird dieser ARM-Prozessor nicht mit anderen ARM-Prozessoren, sondern mit Intel- und AMD-Prozessoren (und deren Instanzen) verglichen.]

Bildergalerie
Bildergalerie mit 5 Bildern

Im Graviton2-Prozessor von AWS ist der L3-Cache 32 Megabyte (MB) groß, und die Taktfrequenz der CPU liegt bei 2,5 GHz. Graviton2 unterstützt acht DRAM-Kanäle mit jeweils 3200 MHz und der SoC 64 I/O-Spuren für den PCIe 4.0 Bus. Der SoC unterstützt eine Netzwerkleistung von 25 Gbps und eine Bandbreite von 19 Gbps für Elastic Block Storage (EBS).

Graviton2 ist im SoC eine Single Socket CPU mit 64 Rechenkernen, die jedoch kein Simultaneous Multithreading (SMT) unterstützt. Das hat zwar den Vorteil, dass das Multithreading performanter sein kann, hat aber die Einschränkung zufolge, dass auch "nur" 64 vCPUs bereitgestellt werden können. AWS Graviton2-Prozessoren sind leistungsstärker als die erste Graviton-Generation. Sie bieten laut AWS sieben Mal mehr Leistung, vier Mal mehr Rechenkerne, fünf Mal schnelleren Speicher und doppelt so große Caches wie Graviton1.

Einsatzbereiche für Graviton2

Sie versorgen Amazon „EC2 T4g“-, „M6g“-, „C6g“- und „R6g“-Instances von „Amazon EC2“ und ihre Varianten mit lokalem NVMe-basiertem SSD-Speicher (s.o.), die eine bis zu 40 Prozent bessere Preis-Leistung als vergleichbare x86-basierte Instances der Generation 1 (s.o.) für eine Vielzahl von Workloads bieten. Zu den Workloads zählen Anwendungsserver, Mikrodienste, Hochleistungs-Computing (HPC), Automatisierung von elektronischem Design (EDA), Spiele, Open-Source-Datenbanken und In-Memory-Caches.

Experten wie Peter Moorhead vom „Forbes Magazine“ stellten bereits im Dezember 2019 weitere Leistungssteigerungen fest. AWS-Graviton2-Prozessoren bieten demnach eine verbesserte Leistung für Videocodierungs-Workloads, Hardwarebeschleunigung für Komprimierungs-Workloads und Unterstützung für CPU-basierte Inferenzen beim Machine Learning.

Bildergalerie
Bildergalerie mit 5 Bildern

Die Befunde hat Arms Chefdesigner James Hamilton in seinem Blog zitiert. In einem Video spricht er über Graviton2 und die kommenden ARM-Server.

Dies sind die Angaben von AWS hinsichtlich der höheren Leistung von M6g-Instanzen gegenüber M5-Instanzen:

  • >40 Prozent höhere Integer Performance gemäß SPECint2017 (Schätzung)
  • >20 Prozent höhere Gleitkomma-Performance gemäß SPECfp2017 (Schätzung)
  • >40 Prozent höhere Java Performance gemäß SPECjvm2008 (Schätzung)
  • >20 Prozent höhere Web Serving Performance gemäß Nginx
  • >40 Prozent höhere Performance gemäß Memcached mit geringerer Latenz und höherem Datendurchsatz
  • >20 Prozent schnelleres Enkodieren von Medienbei unkomprimiertem Video von der Auflösung 1080p in das H.264-Format
  • 25 Prozent höhere Inferenzleistung bei BERT-Machine Learning (BERT: Bit Error Rate Test)

Rechenbeispiele

Zurzeit kostet eine aktuelle Intel-basierte Amazon EC2-Instanz vom Typ „m5.large“ mit zwei virtuellen CPUs (vCPUs) und 8 GiBRAM exakt 0,115 Dollar pro Stunde. Eine äquivalente AMD-basierte EC2-Instanz mit der gleichen Menge vCPUs und RAM vom Typ „m5a.large“ kostet zurzeit 0,104 Dollar pro Stunde. In der x86-64-Welt ist damit AMD etwa um 9,5 Prozent günstiger.

Betrachtet man hingegen den AWS Graviton-basierten EC2-Instanz-Typ „m6g.large“ mit ebenfalls 2 vCPUs und 8 GiB RAM, so zahlt man hierfür nur 0,092 Dollar pro Stunde: Eine Ersparnis von genau 20 Prozent gegenüber der herkömmlichen Intel-basierten x86-64-Instanz.

Dabei bekommt der Nutzer in der Graviton-Welt für jede virtuelle CPU (vCPU) einen ganzen Prozessor-Core zugeteilt. In der x86-64-Welt müssen sich zwei vCPUs einen physikalischen Core teilen. Das bedeutet, dass Software, die mehrere Threads verwendet, auf einer Graviton2-Instanz je nach Anwendung potenziell mehr Zugang zur darunterliegenden Hardware bekommen kann als in der x86-64-Welt, bei der sich zwei Threads einen Core teilen müssen.

Das sagen die Anwender

Der Streamingdienst Netflix testete die M6g-Graviton2-Instanzen gegen die bisher genutzten (AWS) M5-Instanzen und erreichte sogar einen 50-prozentigen Geschwindigkeitsvorteil, und das bei 20 Prozent weniger Kosten. „Wir verwenden Amazon EC2 M5-Instance-Typen für eine Reihe von Workloads einschließlich unserer Streaming-, Codierungs-, Datenverarbeitungs- und Überwachungsanwendungen“, sagt Ed Hunter, Director of Performance and Operating Systems bei Netflix. „Wir testeten die neuen M6g-Instances unter Verwendung der branchenüblichen LMbench-Kernel-Benchmarks und bestimmter Java-Benchmarks und stellten eine bis zu 50-prozentige Verbesserung gegenüber den M5-Instances fest."

Der Fotoportal-Anbieter Smugmug (zu dem auch Flickr gehört) zeigte sich begeistert vom 40-prozentigen Preis/Leistungs-Sprung, den Graviton-basierte EC2-Instanzen im Schnitt erreichen. Das Unternehmen will daher im Laufe des Jahres 2021 die Mehrzahl seiner Server und Caching-Instanzen auf Graviton2 umstellen.

Bildergalerie
Bildergalerie mit 5 Bildern

„Wir waren ein früher Anwender von Graviton-Instanzen, beginnend mit Amazon EC2 A1-Instanzen“, berichtet Shane Meyers, Principal Operations Engineer bei Smugmug. „Heute haben wir unsere PHP-basierte App-Ebene für die Bereitstellung von Fotos, die auf Graviton2-basierten EC2-M6g- und -C6g-Instanzen ausgeführt wird. Es kommt nicht sehr oft vor, dass eine Technologie auf den Markt kommt, mit der Sie allein durch Neukompilieren ein um 40 Prozent besseres Preis-Leistungsverhältnis erzielen können.“

Für die Umstellung auf AWS Graviton2-basierte Instanzen seien nur minimale Codeänderungen erforderlich gewesen. Einer von SmugMugs nächsten Schritten werde darin bestehen, seine Caching-Server auf r6gd-Instances zu migrieren.

Was zu beachten ist

Wie Shane Meyers angedeutet hat: Da die ARM64-bit-Prozessor-Architektur anders als herkömmliche x86_64-Prozessoren arbeitet und einen unterschiedlichen Befehlssatz verwendet, müssen Anwendungen neu kompiliert werden. Werkzeuge wie „AWS Code Build“ oder der „EC2 Image Builder“ sollen Kunden dabei helfen, auf einfache Weise Software für ARM64 zu kompilieren und „Amazon Machine Images“ (AMIs) zu bauen.

Die Mehrzahl an Linux-Distributionen und Open-Source-Anwendungen sind jedoch bereits für ARM64 erhältlich, so dass die Umstellung für die meisten Linux-Anwender reibungslos erfolgen könnte. Auch Container-Services von AWS wie „Amazon Elastic Container Service“ (ECS), „Amazon Elastic Kubernetes Service“ (EKS) sowie „Amazon Elastic Container Registry“ (ECR) unterstützen nach Angaben von AWS bereits ARM64-basierte Container sowie Multi-Arch-Container-Images, die beide Welten unterstützen.

Tipps und Tricks sowie detaillierte Anleitungen für Graviton Prozessoren sind in einem Github-Repository gesammelt. Auf der Repository-Seite heißt es: „Im ARM-Software-Ökosystem ist ein hohes Maß an Aktivität zu beobachten, und Verbesserungen werden im Tagesrhythmus veröffentlicht.“

MS Azure und ARM-CPUs

„Microsoft Azure“ nutzt seit 2019 ebenfalls ARM-Server-CPUs, und zwar „ThunderX“ des Herstellers Marvell. Diese Nutzung erfolgt bislang . Ende 2020 gab es zahlreiche Meldungen, dass es Microsoft wie Amazon macht und seine eigene ARM-basierten Chips designt. Sie sind für Server und „Surface-Endgeräte“ vorgesehen.

Bislang hat Microsoft mit Intel, auf dessen CPUs die meisten seiner Azure-Services laufen, sowie mit Qualcomm zusammengearbeitet. Dieser Schwenk weg von Intel wird allgemein als Warnschuss an den Chip-Riesen gewertet. Apple ist diesen Weg bereits mit seinem „M1“-Chip gegangen, und AMD hat mit seiner Epyc-CPU bereits Marktanteile erobert. Es wird spannend sein zu sehen, wie Intel unter seinem neuen CEO Pat Gelsinger auf diese Herausforderungen reagiert (siehe: The Great Reset? Pat Gelsinger wieder bei Intel).

Artikelfiles und Artikellinks

(ID:47354099)