3 ポイント 投稿者 GN⁺ 2024-10-13 | 1件のコメント | WhatsAppで共有
  • AMD EPYC 9575Fの実測は、Zen 5コアの反復的な説明よりもサーバー向けのメモリサブシステムの変化に焦点を当て、Turinの実際の違いを示している
  • シングルスレッド帯域幅は読み取りが約52GB/s、書き込みが約48GB/s、addが約95GB/sの水準で、ソケット全体の読み取りは理論値576GB/sのほぼ99%に到達する
  • サーバー向けTurinはCCDとI/Oダイの間にGMI3-Wで2本のGMIリンクを使い、書き込みリンク幅もリンクあたり32Bに増えているため、デスクトップ版Zen 5よりCCD帯域幅が大きい
  • メモリレイテンシは無負荷状態ではGenoaと似ているが、コア間レイテンシはIntra-CCDが約45ns、Inter-CCDが約150ns、ソケット間が約260nsで、Genoaより高くなっている
  • 9575Fは64コアがシングルスレッドで最大5GHzに達し、128スレッドのCinebench 2024で約4.3GHzを維持しており、高周波数・比較的低コア数のエンタープライズSKUとしての性格が明確だ

EPYC 9575Fから見るTurinの変化

  • Turinの分析はAMD EPYC 9575Fの実測データを中心に行われている
    • StorageReviewのJordanを通じてこのCPUをテストできた
    • Zen 5コアはモバイル、デスクトップ、派生版の比較ですでに扱われているため、今回の焦点はメモリサブシステムに置かれている
  • AMDのTurin発表スライドはServe the Homeで確認できるが、ここでは独自の測定データがより大きな比重を占める

CCD帯域幅を拡大したGMI構成

  • 1Tの結果では、EPYC 9575Fのシングルスレッドメモリ帯域幅は次の水準となっている
    • 読み取り:約52GB/s
    • 書き込み:約48GB/s
    • add、つまりRead-Modify-Write:約95GB/s
  • 単一コアでもCCD全体のメモリ帯域幅の相当部分を利用できる
    • 読み取りはCCD全体の読み取り帯域幅の半分をやや下回る
    • 書き込みはCCD全体の書き込み帯域幅の約55%
    • addはCCD全体のadd帯域幅の3分の2以上
  • この差はサーバー向けTurinのGMI3-W構成から生じている
    • EPYC 9575FはI/Oダイと接続されるGMIリンクが2本ある
    • Ryzen 9950Xは単一のGMIリンクを使用する
    • サーバー向けGMIの書き込みリンクはリンクあたり32Bで、デスクトップ版Zen 5のリンクあたり16Bより大きい

12チャネルメモリとソケット全体の性能

  • Turinは12チャネルメモリをサポートし、最大DDR5-6400MT/sまで対応可能
    • DDR5-6400MT/sは特定の検証済みシステムでのみサポートされる
    • この速度はチャネルあたり1枚のDIMM構成でのみ可能
  • テストシステムはDDR5-6000MT/sで動作している
    • ほとんどのシステムはチャネルあたり1枚のDIMM構成でDDR5-6000MT/sをサポートする
    • チャネルあたり2枚のDIMMを使用すると、メモリ速度は4400MT/sに下がる
    • DIMMスロットがチャネルあたり2本あるマザーボードで、チャネルあたり1枚のDIMMだけを使う場合は5200MT/sが見込まれる
  • 9575Fソケット全体の読み取り帯域幅は、理論値576GB/sのほぼ99%に到達する
    • 書き込み:435GB/s
    • add:453GB/s
  • AMD Volcano Platformでは、2基の9575F間のソケット間帯域幅も測定された
    • このプラットフォームは2つのCPU間に3本のGMIリンクしか持たない
    • 結果はBergamoのテストと非常によく似ており、Bergamoシステムも同じ3本のGMIリンク構成だった

負荷時レイテンシとコア間レイテンシ

  • Turinの無負荷時メモリレイテンシはGenoaと非常によく似ている
  • Hot Chips 2024でAmpere ComputingがAmpereOneチップとAMD Genoa CPUの負荷状態におけるメモリレイテンシのグラフを公開しており、それを参考に類似した負荷時レイテンシテストが作成された
  • テストは、メモリ帯域幅ベンチマークでIOD-CCDリンクまたはメモリシステム全体を満たしたうえで、残りのコアまたはCCDでメモリレイテンシを測定する方式
    • 単一CCDテストでは、1つのCCDの7コアでメモリ帯域幅ベンチマークを実行し、8番目のコアでレイテンシを測定する
    • システム全体のテストでは、9575Fの7つのCCDでメモリ帯域幅ベンチマークを実行し、8番目のCCDでレイテンシを測定する
  • 負荷状態での9575Fのメモリレイテンシ増加は、条件ごとに似た水準となっている
    • 単一CCD負荷では、無負荷時比で約39ns増加する
    • システム全体の負荷では、無負荷時比で約31ns増える
  • コア間レイテンシはGenoaより高くなっており、特にCCD内部の増加が目立つ
    • Intra-CCDレイテンシ:約45ns
    • Inter-CCDレイテンシ:約150ns
    • Socket to Socketレイテンシ:約260ns

クロック速度と製品ポジション

  • EPYC 9575Fはシングルスレッドテストで、64コアすべてが最大5GHzに到達できた
  • メモリ帯域幅テストでは、1つのCCDの8コアすべてを5GHzで動作させることができた
  • Cinebench 2024で128スレッドすべてを使用した場合は、約4.3GHzの範囲を維持する
  • Level1TechsのWendellはWebサーバー/TLSトランザクションワークロードで約4.9GHzの全コア動作を確認しており、このワークロードはベクトル化があまり進んでいない処理である
  • Turinラインアップは高コア数SKUと高周波数SKUをあわせて提供する
    • AMDは9755、9965のような高コア数SKUを持つ
    • 9575Fのように、低コア数で非常に高い周波数を備えたSKUも提供する
    • 64コアが「低コア数」として扱われること自体が、サーバーCPU市場の変化を示している
  • TurinはNaplesからRomeへ移行したときのような急激な革命というより、MilanからGenoaへ移行したときのように、メモリ帯域幅の増加、コア数の増加、コアのアップデートが組み合わさった進化に近い

1件のコメント

 
GN⁺ 2024-10-13
Hacker Newsの意見
  • AMD EPYC 9175Fが最も特異に見える。16コアで L3キャッシュ 512MB とは、コア単位のライセンス費用を抑えたい顧客向けのように思える
    そうでなければ、こんなに高価なチップでここまでコア数を少なくするのはあまり理にかなっていない。Oracleがいまだにこうしたライセンス方式を使っているのかは分からないが、もしそうならもうやめるべきだ
    HFTのようにアルゴリズム全体をL3に載せて絶対的な最低レイテンシを狙う用途もあり得るし、チップレットごとに最良のコアだけを使いたい場合かもしれない。それでも、おそらく ソフトウェアライセンス が理由である可能性が高い

    • 離散事象シミュレーション もよい例だ。スパイキングニューラルネットワークのようなものは、正確にシミュレーションしようとすると pending spike queue を通じて直列化されるため、本質的にシングルスレッドに近い
      すべての状態をローカルキャッシュに保持し、最速のコアを選んで実行する構成が最善だ。16個を並列に回せるなら、その分だけ探索空間を縮められる
      この種の問題では、CCD間レイテンシを心配する必要はほとんどない。定期的に物理コア間の交叉を行う遺伝的アルゴリズムのようなものを回しても、コア間帯域幅の要求は小さい
    • シングルスレッドのアプリケーションは多く、コードを並列化するためにプログラマーへ何万ドルも払うより、超高速CPU に数千ドル使うほうが安いことはよくある
      言われているように、ソースや権利のない サードパーティ製コード なら、そもそも書き直し自体が不可能なことも多い
    • キャッシュ 512MB には驚く。数年前に使っていたXeonのキャッシュが、子どものころ使っていたシステムのRAMと同じくらい大きいのを見て不思議な気分になったが、自分はミレニアル世代なので Commodore みたいな太古の機械ではなく、Quakeも動いた実際のPCの話だ
      それでも512MBあればかなり余裕がある。Puppy Linux を丸ごとL3キャッシュに載せられるのか気になる
    • MATLAB Parallel Server もコア単位でライセンスされる
      https://www.mathworks.com/products/matlab-parallel-server/li...
    • 多くのアルゴリズムは メモリ帯域幅 に制約される。16コアのワークステーションでも、16スレッドより少ないほうが最高性能になる処理を何度も見てきた
      複数のスレッド数でアルゴリズムをテストし、その中で最適なスレッド数を使うのは一般的なやり方だ。メモリ集約型アルゴリズムは、比較的少ないコア数で最高性能になることがよくある
  • Phoronix が最近、196コア Turin DenseAmpereOne 192コア の比較レビューを行った
    Ampereの推奨価格は5,500ドル、EPYCは1万5,000ドルで、Turin 196は性能が1.6倍高く、Ampereは電力効率が1.2倍高かった
    Phoronixのレビュー基準で実際の性能/ドルを見ると、Ampere 192コアは Turin Dense 196コアより1.7倍優れている。5,500ドルで AmpereOne 192コア CPU(274W)を買うか、Turin Dense 48コア CPU(300W)を買うかという話になる
    Ampereは来年、256コア、3nm、12チャネルメモリの製品を投入予定で、生の性能面では Turin Dense や Sierra Forest により対抗できる可能性がある。現時点での強みは 性能/ドル
    Qualcomm の Nuvia ベースのサーバーチップ性能も非常に気になる。ARMクライアントコアの改善がヒントになるなら、AWS Graviton、Google Axion、Microsoft Cobalt、Nvidia Grace、Alibaba Yitian といった自社製チップが、より優れた Neoverse コアとどう競争するのかも興味深い。Nuvia 対 ARM 対 AmpereOne という構図だ
    今はおそらく サーバーCPUの黄金時代 だ。7年前なら Intel Xeon しかなかったのに、今は選択肢が多い

    • AMDも 性能/W で勝っており、X86はARM/RISCの効率に決して追いつけないと信じていた人たちにとって、かなり意味のある結果だ
      最近の多くのデータセンターでは、利用可能な電力とそれに伴う冷却のほうが大きな制約になることもあり、Turinにとっては良い兆候だ
    • 性能/ドルの比較では、最も高価なTurinの推奨価格モデルと比べている。そのモデルは性能/ドルが最高の製品ではなく、集積度電力当たり性能 を最大化したい人が買うモデルであり、その点ではAmpereを上回る
      性能/ドルだけを見るなら、Zen5cではなくコア数の少ないZen5モデルを見るべきで、こちらは192コアの9965より性能/ドルが2倍高い
      Ampereに同じ見方があまり当てはまらないのは、192コア 3.2GHz モデルがすでにほぼ最高の性能/ドルに近いからだ
    • 違いは、EPYC CPU は入手できるが Ampere CPU は手に入れにくいことだ
    • Ampereの推奨価格は、大半のシステムベンダーが実際に支払う価格にかなり近い。一方で多くのベンダーは、EPYCやXeonを推奨価格からほぼ50%引きで買えると考えてよい
    • 本当に興味深い時代であり、Intelの失速は非常に残念だ。ただ、多くの人が警告してきたように、Intelはこの状況を予見しているべきだった
  • 本当にとてつもない規模だ。20年前はCPUあたりのコア数が1〜2個で、デュアルソケットサーバーで4コアあれば運がいいほうだった。
    今では単一サーバーがほぼ 400コア を搭載できる。もちろんARMコアを使えばさらに多くなるかもしれないが、少なくとも今のところはこのレベルの性能は出せない

    • 2個のチップで700を超えるスレッドにより400GbE NICを2枚飽和させ、しかもチップあたり500Wなのでスレッドあたり2W未満だ。これらすべてが 2Uパッケージ に収まる。
      20年前ならラック数本分の機材だったはずだ
    • 一方で当時は、20年も進歩すればコアは 1000倍速くなる と期待していただろうが、実際にはおよそ5倍に近い
    • クラスターで回している ビッグデータ処理 のうち、どの程度が今ではSparkよりduckdbを使う単一の大型マシンのほうがはるかに速いのか気になる
    • 最近ではたいていのサービスは 単一サーバー に収まり、それでも1日数百万人のユーザーを処理できる。
      月1000ドル未満で強力な専用サーバーを借りて数万ドルを節約できるなら、過度に高価なクラウドサービスにどんな影響が出るのか気になる。その金額があれば専任の管理者を雇ってもまだ余る
    • その通り。最初のデュアルコアサーバーチップは2005年ごろの90nm Denmark/Italy/Egypt OpteronとPaxville Xeonで登場し、Intel側が本格化したのは2007年になってからだったと記憶している
  • Hetznerに AMD Turinベアメタルサーバー が載ったらデプロイしてみたい。前世代もコストパフォーマンスが高かったが、今回はさらに一段よく見える

  • 12年前のDell PowerEdgeでデュアルXeonをまだ動かしている。第1世代EPYCサーバー がいつごろeBayで格安品として出回るのか気になる

    • 第1〜3世代EPYCは非常に安く入手できるが、マザーボードが高い
      PCIeレーン数やRAM容量が主目的でないなら、第3世代未満はあまり勧めない。現行世代の一般向けCPUのほうが、コア数が半分や1/4でも演算性能は高く、消費電力もずっと少ない
    • 個人的には 第1世代EPYC は、第2世代が存在してより広く使われており十分に安いので、あまりよくないと思う。実際、ホームラボでepyc 7302とMZ31-AR0マザーボードを使っている。
      コアあたり性能が低すぎるし、NUMA関連の問題もあり、プロセスも劣る。第2世代の演算ダイはTSMC 7nmだ
    • EPYCチップはよく分からないが、Ryzen 5シリーズの機材はその週のAmazonでほとんどただ同然で出ていた。
      9 5950Xを242ポンドで買った
    • あまり価値はない。eBayで9654を2000ドルで買って、マザーボードに1000ドル使えばいい。システム全体でも7000ドル程度だ。
      あるいはEpyc 7282のような構成も簡単に手に入り、悪くない
    • もうそうなっているし、性能はそれほど良くない
  • ChipsAndCheese は新しい技術メディアの中でも本当に中身を理解している数少ないところだ。特にこうした詳細なベンチマークに強い。
    Anandtech、TechReport、HardOCPのような古い技術サイトが消えてしまった中で、昔ながらの深い記事に匹敵する新しいメディアがあるのはうれしい

    • 興味深いことに、Slashdotはもともと Chips & Dips というサイトから始まった。似た着想なのか少し気になる
    • HardOCPのことを言いたかったのだと思う
    • Chips and Cheeseは、消えてしまった LostCircuits を最も思い起こさせる。多くの技術サイトはアプリケーションベンチマークの一覧に集中するが、C&CはLCと同じように、アーキテクチャに関する長文とサブシステムのマイクロベンチマークを組み合わせている
  • Substackに変わったのが嫌な人向けには https://old.chipsandcheese.com/2024/10/11/amds-turin-5th-gen... がある。
    少なくとも今のところは使える

  • コアが16個しかないのに L3キャッシュ 512MB の部品は、特定のワークロード向けであることが明らかだ

    • OracleはEEとオプションをコアあたり4万〜10万ドル以上で課金し、そこに0.5を掛ける方式にできるし、ワークロードによってはキャッシュ感度が非常に高い。
      そのため、高キャッシュ・高帯域・高クロック・大容量メモリを備えた16コアCPU[1]を2ソケットで使う構成が、100万ドルを超えるライセンス費用に対して最も効率的かもしれない。
      [1] https://www.amd.com/en/products/processors/server/epyc/9005-...
    • この部品の トポロジー は本当に奇妙だ。物理的には128コア部品と同じシリコンだが、各演算チップレットでコアを1個だけ残して他をすべて無効化した形になっている。
      キャッシュをできるだけ多く残すために112個のコアを切って16個だけ残したわけだ。
      ただし常に比較的遅いチップレット間バスを通ることになるので、コア間レイテンシは良くないはずだ
    • 最新のAMDチップが L3キャッシュをマッピング して、キャッシュではなくTCMのように使えるのか気になる。
      昔の非X86プロセッサではこれをサポートしており、メモリコントローラを初期化できるようそのモードで起動することも多かった。もし今でも可能なら、DRAMなしの大規模システムのような面白い組み込み用途が生まれるかもしれない
  • 「アクセスしたシステムはメモリを6000MT/sで動かしており、DDR5-6000 MT/sはほとんどのシステムで1チャネルあたりDIMM 1枚構成ならサポートされる。1チャネルあたりDIMM 2枚を使うとメモリ速度は4400 MT/sに下がり、1チャネルあたりDIMM 2枚対応のマザーボードで1チャネルあたりDIMM 1枚を使うなら5200 MT/sを見込め」という箇所があるが、これらの速度はすべて ECCメモリ 基準なのだろうか

    • そう。サーバーは ECC RAM しか使わない