3 Punkte von GN⁺ 2024-10-13 | 1 Kommentare | Auf WhatsApp teilen
  • Messungen am AMD EPYC 9575F zeigen den praktischen Unterschied von Turin, mit Fokus auf die Änderungen am Speicher-Subsystem für Server statt auf eine erneute Erklärung der Zen-5-Kerne
  • Die Single-Thread-Bandbreite liegt bei etwa 52 GB/s beim Lesen, 48 GB/s beim Schreiben und 95 GB/s bei add; die Leseleistung eines gesamten Sockels erreicht nahezu 99 % der theoretischen 576 GB/s
  • Server-Turin nutzt zwischen CCD und I/O-Die GMI3-W mit zwei GMI-Links; auch die Schreib-Linkbreite steigt auf 32 B pro Link, wodurch die CCD-Bandbreite höher ist als bei Desktop-Zen-5
  • Die Speicherlatenz ohne Last ähnelt Genoa, aber die Core-zu-Core-Latenz steigt gegenüber Genoa: Intra-CCD etwa 45 ns, Inter-CCD etwa 150 ns und Socket-to-Socket etwa 260 ns
  • Der 9575F erreicht mit 64 Kernen in Single-Thread-Tests bis zu 5 GHz und hält bei 128 Threads in Cinebench 2024 etwa 4,3 GHz, was den Charakter eines Enterprise-SKU mit hoher Frequenz und relativ niedriger Kernzahl deutlich macht

Änderungen bei Turin am Beispiel des EPYC 9575F

  • Die Turin-Analyse basiert vor allem auf Messdaten des AMD EPYC 9575F
    • Über Jordan von StorageReview konnte diese CPU getestet werden
    • Da die Zen-5-Kerne bereits in Vergleichen zu Mobil-, Desktop- und Variantenmodellen behandelt wurden, liegt der Fokus diesmal auf dem Speicher-Subsystem
  • AMDs Launch-Folien zu Turin sind bei Serve the Home zu sehen; hier haben jedoch die eigenen Messdaten größeres Gewicht

GMI-Konfiguration mit höherer CCD-Bandbreite

  • In 1T-Ergebnissen erreicht der EPYC 9575F folgende Single-Thread-Speicherbandbreite
    • Lesen: etwa 52 GB/s
    • Schreiben: etwa 48 GB/s
    • add, also Read-Modify-Write: etwa 95 GB/s
  • Schon ein einzelner Kern kann einen erheblichen Teil der gesamten Speicherbandbreite eines CCD nutzen
    • Die Lesebandbreite liegt knapp unter der Hälfte der gesamten CCD-Lesebandbreite
    • Die Schreibbandbreite beträgt etwa 55 % der gesamten CCD-Schreibbandbreite
    • add liegt bei mehr als zwei Dritteln der gesamten CCD-add-Bandbreite
  • Dieser Unterschied entsteht durch die GMI3-W-Konfiguration von Server-Turin
    • Der EPYC 9575F hat zwei GMI-Links zum I/O-Die
    • Der Ryzen 9950X nutzt einen einzelnen GMI-Link
    • Der Schreib-Link von Server-GMI ist mit 32 B pro Link breiter als bei Desktop-Zen-5 mit 16 B pro Link

12-Kanal-Speicher und Leistung des gesamten Sockels

  • Turin unterstützt 12-Kanal-Speicher und bis zu DDR5-6400 MT/s
    • DDR5-6400 MT/s wird nur in bestimmten validierten Systemen unterstützt
    • Diese Geschwindigkeit ist nur mit einer Konfiguration von einem DIMM pro Kanal möglich
  • Das Testsystem läuft mit DDR5-6000 MT/s
    • Die meisten Systeme unterstützen bei einem DIMM pro Kanal DDR5-6000 MT/s
    • Bei zwei DIMMs pro Kanal sinkt die Speichergeschwindigkeit auf 4400 MT/s
    • Bei Mainboards mit zwei DIMM-Steckplätzen pro Kanal sind 5200 MT/s zu erwarten, wenn nur ein DIMM pro Kanal genutzt wird
  • Die Lesebandbreite des gesamten 9575F-Sockels erreicht nahezu 99 % der theoretischen 576 GB/s
    • Schreiben: 435 GB/s
    • add: 453 GB/s
  • Auf AMDs Volcano Platform wurde auch die Socket-to-Socket-Bandbreite zwischen zwei 9575F gemessen
    • Diese Plattform hat nur 3 GMI-Links zwischen den beiden CPUs
    • Die Ergebnisse waren dem Bergamo-Test sehr ähnlich; auch das Bergamo-System nutzte dieselbe Konfiguration mit 3 GMI-Links

Latenz unter Last und Core-zu-Core-Latenz

  • Turins Speicherlatenz ohne Last ist Genoa sehr ähnlich
  • Auf der Hot Chips 2024 veröffentlichte Ampere Computing ein Diagramm zur Speicherlatenz unter Last für den AmpereOne-Chip und AMDs Genoa-CPU; darauf basierend wurde ein ähnlicher Last-Latenz-Test erstellt
  • Der Test füllt mit einem Speicherbandbreiten-Benchmark den IOD-CCD-Link oder das gesamte Speichersystem und misst anschließend mit den verbleibenden Kernen oder CCDs die Speicherlatenz
    • Beim Einzel-CCD-Test läuft der Speicherbandbreiten-Benchmark auf sieben Kernen eines CCD, während auf dem achten Kern die Latenz gemessen wird
    • Beim Gesamtsystem-Test läuft der Speicherbandbreiten-Benchmark auf sieben CCDs des 9575F, während auf dem achten CCD die Latenz gemessen wird
  • Unter Last steigt die Speicherlatenz des 9575F je nach Bedingung in ähnlichem Ausmaß
    • Bei Last auf einem einzelnen CCD steigt sie gegenüber ohne Last um etwa 39 ns
    • Bei Last auf dem gesamten System steigt sie gegenüber ohne Last um etwa 31 ns
  • Die Core-zu-Core-Latenz ist gegenüber Genoa gestiegen, besonders deutlich innerhalb eines CCD
    • Intra-CCD-Latenz: etwa 45 ns
    • Inter-CCD-Latenz: etwa 150 ns
    • Socket-to-Socket-Latenz: etwa 260 ns

Taktraten und Produktpositionierung

  • Der EPYC 9575F konnte in Single-Thread-Tests auf allen 64 Kernen bis zu 5 GHz erreichen
  • In Speicherbandbreitentests konnten alle acht Kerne eines CCD mit 5 GHz betrieben werden
  • In Cinebench 2024 hielt er bei Nutzung aller 128 Threads einen Bereich von etwa 4,3 GHz
  • Wendell von Level1Techs beobachtete bei Webserver-/TLS-Transaktions-Workloads etwa 4,9 GHz all-core; diese Workloads sind weniger stark vektorisiert
  • Die Turin-Reihe bietet sowohl SKUs mit hoher Kernzahl als auch solche mit hoher Frequenz
    • AMD hat SKUs mit hoher Kernzahl wie 9755 und 9965
    • Außerdem gibt es SKUs wie den 9575F mit niedrigerer Kernzahl und sehr hoher Frequenz
    • Dass 64 Kerne überhaupt als „niedrige Kernzahl“ gelten, zeigt bereits den Wandel im Server-CPU-Markt
  • Turin ist weniger eine sprunghafte Revolution wie der Übergang von Naples zu Rome, sondern eher eine Evolution wie von Milan zu Genoa, bei der mehr Speicherbandbreite, mehr Kerne und Core-Updates zusammenkommen

1 Kommentare

 
GN⁺ 2024-10-13
Meinungen auf Hacker News
  • AMD EPYC 9175F ist der ungewöhnlichste: 16 Kerne und 512 MB L3-Cache – das wirkt wie für Kunden gedacht, die Lizenzkosten pro Kern senken wollen.
    Andernfalls ergibt es wenig Sinn, in einen so teuren Chip so wenige Kerne zu packen. Ich weiß nicht, ob Oracle diese Lizenzierungsweise immer noch nutzt, aber falls ja, sollten sie damit aufhören.
    Denkbar wären auch Anwendungen wie HFT, bei denen der gesamte Algorithmus in den L3 passt, um die absolut niedrigste Latenz zu erreichen, oder Fälle, in denen man pro Chiplet nur die besten Kerne nutzen möchte. Trotzdem liegt es wahrscheinlich vor allem an Softwarelizenzen.

    • Diskrete-Ereignis-Simulation ist ebenfalls ein gutes Beispiel. Dinge wie Spiking Neural Networks werden, wenn man sie exakt simulieren will, über eine Pending-Spike-Queue serialisiert und sind daher im Kern nahezu Single-Threaded.
      Die beste Konfiguration ist, den gesamten Zustand im lokalen Cache zu halten und ihn auf dem schnellsten Kern laufen zu lassen. Wenn man 16 davon parallel ausführen kann, lässt sich der Suchraum entsprechend verkleinern.
      Bei solchen Problemen muss man sich kaum Gedanken über Latenzen zwischen CCDs machen. Selbst wenn man etwas wie einen genetischen Algorithmus ausführt, der periodisch Kreuzungen zwischen physischen Kernen macht, ist die Bandbreitenanforderung zwischen den Kernen gering.
    • Es gibt viele Single-Thread-Anwendungen, und oft ist es günstiger, ein paar Tausend Dollar für eine extrem schnelle CPU auszugeben, als Programmierer für Zehntausende Dollar dafür zu bezahlen, Code zur Parallelisierung umzuschreiben.
      Wie erwähnt, ist ein Umschreiben bei Third-Party-Code ohne Quellcode oder Rechte oft von vornherein unmöglich.
    • 512 MB Cache sind erstaunlich. Vor ein paar Jahren fand ich es schon faszinierend, dass der Cache eines Xeon so groß war wie der RAM des Systems, das ich als Kind benutzt hatte – und ich bin Millennial, es war also keine antike Maschine wie ein Commodore, sondern ein echter PC, auf dem auch Quake lief.
      Aber 512 MB sind ziemlich üppig. Ich frage mich, ob man Puppy Linux komplett in den L3-Cache laden könnte.
    • Auch MATLAB Parallel Server nutzt Lizenzen pro Kern.
      https://www.mathworks.com/products/matlab-parallel-server/li...
    • Viele Algorithmen sind durch Speicherbandbreite begrenzt. Selbst auf einer 16-Kern-Workstation habe ich mehrfach Workloads ausgeführt, die mit weniger als 16 Threads die beste Leistung erzielen.
      Es ist üblich, einen Algorithmus mit verschiedenen Thread-Zahlen zu testen und dann die optimale zu verwenden. Speicherintensive Algorithmen erreichen ihre Spitzenleistung häufig schon bei einer relativ kleinen Kernzahl.
  • Phoronix hat kürzlich Turin Dense mit 196 Kernen mit AmpereOne mit 192 Kernen verglichen.
    Der Listenpreis von Ampere lag bei 5.500 Dollar, der von EPYC bei 15.000 Dollar; Turin 196 war 1,6-mal schneller, während Ampere 1,2-mal energieeffizienter war.
    Gemessen an der realen Performance pro Dollar im Phoronix-Review ist der Ampere mit 192 Kernen 1,7-mal besser als Turin Dense mit 196 Kernen. Für 5.500 Dollar kann man also entweder eine AmpereOne-CPU mit 192 Kernen (274 W) kaufen oder eine Turin-Dense-CPU mit 48 Kernen (300 W).
    Ampere will nächstes Jahr ein Produkt mit 256 Kernen, 3 nm und 12 Speicherkanälen auf den Markt bringen, sodass es bei der Rohleistung möglicherweise besser mit Turin Dense und Sierra Forest mithalten kann. Die aktuelle Stärke ist Performance pro Dollar.
    Sehr gespannt bin ich auch auf die Leistung von Qualcomms Server-Chips auf Nuvia-Basis. Wenn die Verbesserungen bei ARM-Client-Kernen ein Hinweis sind, wird es interessant, wie eigene Chips wie AWS Graviton, Google Axion, Microsoft Cobalt, Nvidia Grace und Alibaba Yitian gegen bessere Neoverse-Kerne konkurrieren. Es läuft auf Nuvia gegen ARM gegen AmpereOne hinaus.
    Wir befinden uns derzeit wohl in einem goldenen Zeitalter der Server-CPUs. Vor sieben Jahren gab es praktisch nur Intel Xeon, jetzt gibt es viele Optionen.

    • AMD gewinnt auch bei Performance/Watt, was ein ziemlich bedeutsames Ergebnis für Leute ist, die glaubten, X86 könne bei der Effizienz niemals mit ARM/RISC mithalten.
      In vielen Rechenzentren sind heute verfügbare Leistung und die daraus folgende Kühlung die größeren Engpässe, daher ist das ein gutes Zeichen für Turin.
    • Beim Vergleich der Performance pro Dollar wird das teuerste Turin-Modell zum Listenpreis herangezogen. Dieses Modell ist nicht das Produkt mit der besten Performance pro Dollar, sondern eines, das von Leuten gekauft wird, die Dichte oder Performance pro Watt maximieren wollen – und in diesem Punkt liegt es vor Ampere.
      Wenn man nur Performance pro Dollar betrachtet, sollte man nicht Zen5c ansehen, sondern Zen5-Modelle mit weniger Kernen; diese bieten doppelt so viel Performance pro Dollar wie der 192-Kern-9965.
      Dass derselbe Ansatz bei Ampere nicht gut funktioniert, liegt daran, dass das 192-Kern-Modell mit 3,2 GHz bereits nahezu die beste Performance pro Dollar bietet.
    • Der Unterschied besteht darin, dass man EPYC-CPUs kaufen kann, während Ampere-CPUs schwer zu bekommen sind.
    • Die Listenpreise von Ampere liegen ziemlich nah an dem, was die meisten Systemanbieter tatsächlich zahlen. Bei EPYC oder Xeon hingegen kann man davon ausgehen, dass die meisten Anbieter sie mit fast 50 % Rabatt auf den Listenpreis kaufen können.
    • Es ist eine wirklich spannende Zeit, und Intels Absturz ist sehr bedauerlich. Allerdings hätte Intel diese Entwicklung, wie viele schon lange gewarnt haben, vorhersehen müssen.
  • Das ist wirklich ein gewaltiger Maßstab. Vor 20 Jahren hatten CPUs noch 1–2 Kerne pro CPU; mit 4 Kernen in einem Dual-Socket-Server hatte man schon Glück.
    Heute kann ein einzelner Server fast 400 Kerne haben. Mit ARM-Kernen ginge vielleicht noch mehr, aber zumindest im Moment liefern sie nicht diese Leistung.

    • Zwei Chips sättigen mit über 700 Threads zwei 400GbE-NICs, bei 500 W pro Chip also unter 2 W pro Thread. Und all das passt in ein 2U-Paket.
      Vor 20 Jahren wäre das Ausrüstung für mehrere Racks gewesen.
    • Umgekehrt hätte man damals bei 20 Jahren Fortschritt wohl erwartet, dass Kerne 1000-mal schneller werden; tatsächlich ist es eher ungefähr das Fünffache.
    • Ich frage mich, welcher Anteil der Big-Data-Jobs, die man in Clustern laufen lässt, heute auf einer einzelnen großen Maschine mit duckdb statt Spark deutlich schneller wäre.
    • Heutzutage passen die meisten Dienste auf einen einzelnen Server und können trotzdem Millionen Nutzer pro Tag bedienen.
      Wenn man für unter 1000 Dollar im Monat einen leistungsstarken dedizierten Server mieten und Zehntausende Dollar sparen kann, frage ich mich, welche Auswirkungen das auf überteuerte Cloud-Dienste hat. Für das Geld könnte man sogar einen Vollzeit-Administrator einstellen und hätte noch etwas übrig.
    • Stimmt. Die ersten Dual-Core-Serverchips kamen etwa 2005 mit den 90-nm-Opterons Denmark/Italy/Egypt und dem Paxville Xeon heraus; bei Intel ging es meines Wissens erst 2007 richtig los.
  • Wenn bei Hetzner AMD-Turin-Bare-Metal-Server auftauchen, möchte ich sie deployen. Schon die Vorgängergeneration hatte ein gutes Preis-Leistungs-Verhältnis, und diese Generation wirkt noch einmal eine Stufe besser.

  • Ich betreibe immer noch einen 12 Jahre alten Dell PowerEdge mit Dual-Xeon. Ich frage mich, wann EPYC-Server der 1. Generation billig bei eBay auftauchen.

    • EPYC der 1. bis 3. Generation bekommt man sehr günstig, aber die Mainboards sind teuer.
      Wenn PCIe-Lanes und RAM-Kapazität nicht der Hauptzweck sind, würde ich unterhalb der 3. Generation eher abraten. Aktuelle Consumer-CPUs haben zwar nur die Hälfte oder ein Viertel der Kerne, bieten aber mehr Rechenleistung und verbrauchen deutlich weniger Strom.
    • Persönlich finde ich EPYC der 1. Generation nicht besonders attraktiv, weil es die 2. Generation gibt, die verbreiteter und günstig genug ist. Ich nutze in meinem Homelab tatsächlich einen epyc 7302 mit einem MZ31-AR0-Mainboard.
      Die Leistung pro Kern ist zu niedrig, es gibt NUMA-Probleme, und der Fertigungsprozess ist schlechter. Die Compute-Dies der 2. Generation sind TSMC 7 nm.
    • Zu EPYC-Chips weiß ich nicht viel, aber Ryzen-5-Systeme wurden in der Woche bei Amazon fast verschenkt.
      Ich habe einen 9 5950X für 242 Pfund gekauft.
    • Lohnt sich nicht besonders. Kauf dir auf eBay einen 9654 für 2000 Dollar und gib 1000 Dollar für das Mainboard aus. Das Gesamtsystem liegt dann bei etwa 7000 Dollar.
      Oder Kombinationen mit einem Epyc 7282 sind ebenfalls leicht zu bekommen und okay.
    • Das ist schon passiert, und die Leistung ist nicht besonders gut.
  • ChipsAndCheese ist eines der wenigen neuen Technikmedien, die wirklich wissen, wovon sie reden. Besonders stark sind sie bei solchen tiefgehenden Benchmarks.
    Nachdem alte Tech-Seiten wie Anandtech, TechReport und HardOCP verschwunden sind, ist es schön, ein neues Medium zu haben, das an diesen alten, gründlichen Stil anknüpfen kann.

    • Interessanterweise begann Slashdot ursprünglich als Website namens Chips & Dips. Ich frage mich, ob das eine ähnliche Inspiration war.
    • Du meintest wohl HardOCP.
    • Chips and Cheese erinnert mich am meisten an das verschwundene LostCircuits. Die meisten Tech-Seiten konzentrieren sich auf Listen mit Anwendungsbenchmarks, aber C&C kombiniert wie LC lange Architekturartikel mit Mikrobenchmarks von Subsystemen.
  • Für Leute, die den Wechsel zu Substack nicht mögen, gibt es https://old.chipsandcheese.com/2024/10/11/amds-turin-5th-gen...
    Zumindest im Moment funktioniert das.

  • Ein Teil mit nur 16 Kernen, aber 512 MB L3-Cache, ist eindeutig für bestimmte Workloads gedacht.

    • Oracle kann für EE und Optionen pro Kern 40.000 bis über 100.000 Dollar berechnen, darauf dann mit Faktor 0,5, und manche Workloads sind extrem cache-sensitiv.
      Daher kann eine 2-Socket-Konfiguration mit einer 16-Core-CPU[1] mit viel Cache, hoher Bandbreite, hohem Takt und großer Speicherkapazität im Verhältnis zu Lizenzkosten von über 1 Million Dollar die effizienteste Lösung sein.
      [1] https://www.amd.com/en/products/processors/server/epyc/9005-...
    • Die Topologie dieses Teils ist wirklich ungewöhnlich. Physisch ist es dasselbe Silizium wie beim 128-Core-Teil, aber auf jedem Compute-Chiplet bleibt nur ein Kern aktiv, alle anderen sind deaktiviert.
      Im Grunde wurden 112 Kerne abgeschaltet, damit nur 16 Kerne übrig bleiben und möglichst viel Cache erhalten bleibt.
      Allerdings muss man immer über den relativ langsamen Bus zwischen den Chiplets, daher dürfte die Latenz zwischen den Kernen nicht gut sein.
    • Ich frage mich, ob aktuelle AMD-Chips den L3-Cache mappen können, sodass er nicht als Cache, sondern wie TCM nutzbar ist.
      Ältere Nicht-X86-Prozessoren unterstützten das, und oft wurde in diesem Modus gebootet, um den Speichercontroller initialisieren zu können. Wenn das heute noch möglich wäre, ergäben sich interessante Embedded-Anwendungen wie große Systeme ohne DRAM.
  • Es gibt die Passage: „Das getestete System betrieb den Speicher mit 6000 MT/s, und DDR5-6000 MT/s wird von den meisten Systemen bei 1 DIMM pro Kanal unterstützt. Bei 2 DIMMs pro Kanal sinkt die Speichergeschwindigkeit auf 4400 MT/s, und wenn man auf einem Mainboard mit 2 DIMMs pro Kanal nur 1 DIMM pro Kanal nutzt, sollte man mit 5200 MT/s rechnen.“ Ich frage mich, ob sich all diese Geschwindigkeiten auf ECC-Speicher beziehen.

    • Ja. Server verwenden ausschließlich ECC-RAM.