世界のスーパーコンピュータとそれを動かす人々


3月 22, 2021

最大25%性能が向上するAMD EPYC(Milan)を搭載したPowerEdgeサーバーが登場

HPCwire Japan

スポンサー記事

AMDが第3世代のZen3コアを使うEPYCプロセッサを発売した。Zen3コアは,前世代のZen2コアと比較すると最大25%性能が高い,また,最大15%コストパフォーマンスが高いという。

第3世代EPYCのMilan

AMDはプロセッサのアーキテクチャにイタリアの都市の名前を付けており,第3世代はMilan(日本語ではミラノ)である。MilanはZen3コアを採用し,第2世代のRomeから性能を引き上げている。一方,ソケットはRomeと同じものを使っており,マザーボードやソケットの交換なしにCPUをRomeからMilanに置き換えることができる。ただし,CPUをMilanに交換したら,BIOSはMilan用のものに変更する必要がある。

図4の左側の写真がMilanプロセッサで,中央の細長い箱がメモリ&IOチップレットで,8個の小さなチップが8コアのCPUを搭載したCPUチップレットである。この作り方はRomeプロセッサから変わっておらず,CPUチップレットは7nmプロセス,メモリ&IOチップレットは14nmプロセスで,これも第2世代のRomeと同じである。

製造歩留まりが下がると考えられる7nmプロセスのチップは小さいチップで,それを多数使うのは製造コストの点で理にかなっている。一方,メモリ&IOチップレットは集積度の観点から微細な最先端の7nmプロセスは不要で,インタフェースのアナログトランジスタは,あまり先端ではなく,こなれたプロセスの方が良い面もあり,こちらも理にかなった造りになっている。

そして,これまではEPYC CPUのメモリチャネルは4チャネルか8チャネルであったが,Milanでは6チャネルのサポートを追加している。

これまではIntelの6チャネルメモリに性能的に対抗するためには,AMDは8チャネルのメモリを必要とした。そのため,物量が増えて価格が高くなってしまっていたが,6チャネルのサポートでIntelのXeonと同じメモリ容量,バンド幅の構成が可能となり,サーバー製品の提案の幅が広がり,Intelとの競争上の問題点が解消した。

そして, Milanでは,Infinity Fabricとメモリクロックを同期してメモリ性能を向上している。これまでは,これらの2つのクロックは同期しておらず,両者のタイミングのズレでメモリアクセス時間が伸びてしまうことが起こっていたが,Milanではこの待ちが無くなり,メモリアクセス時間が減少し,性能が向上している。

EPYC CPUの命名ルール

EPYCプロセッサの製品名の付け方は,これまでとは少し変わり,次の図5のようになっている。

まず,プロダクトファミリ名のEPYCtmがあり,次の数字がプロダクトのシリーズ番号で,高性能サーバー用は7となっている。その次はコア数を示しており,2は8コア,3は16コア,4は24-28コア,5は32コア6は40-56コア,7は64コアを意味している。その次がシリーズの性能を表し,Fは高クロックの高性能コア,4と5は汎用高性能コア,1はバリューで低価格コアであることを示す。そして,その次の数字がEPYCの世代を示し,Milanの場合は3となる。

なお,Romeでは数字の最初の1桁が7はメインストリームプロセッサ,3は組み込み用プロセッサを意味し,その次の2桁はSKUレベル,その次の世代は2となっていた。

従って,Milanの場合は,EPYC 7xx3 のx以外の部分は同じでEPYC 7003 シリーズという言い方も使われている。

その次のアルファベットは機能を表し,Pは1プロセッサモデルを意味する。そして,Pが付いていないのはマルチソケット構成が使えるCPUである。

そして,トレードマークにする場合はCPU,あるいはProcessor,またはSOCを付けることになっている。

 

EPYC 7003 CPUのラインナップ

EPYC 7003 CPUは次の図のようなラインナップで発表された。最上位の製品は7763で,Pはついていないのでマルチソケット動作ができる64コアのCPUでるある。パフォーマンスを表す3つ目の数字が6というのは図2の命名規則には入っていないが,4,5のパフォーマンスチップより性能が高いCPUという意味であろうか。

そして,64コアでシングルソケット用の7713/Pという製品もある。こちらはお買い得のバリューの位置づけである。

表の一番下に書かれている72F3という製品は,ちょっとおもしろい製品である。8コアしかないので,スループットと言う点では一番性能が低いが,コンピュートチップレットに1個のコアしか動作させないという構成であり,電源電圧を上げてオーバクロックする余地が大きいCPUである。

そして, 8チャネルのDDR4-3200メモリ接続,4TBのメモリ接続,128レーンのPCIe4.0,SMT(コア数の2倍のスレッド実行)とクロックのターボブースト,18GbsのInfinity Fabric,メモリデータの暗号化,VMごとの異なる鍵を使う暗号化,メモリクロックとファブリッククロックのクロックとの同期などの改良点は全てのEPYC 7003 CPUでサポートされている。

CPUコアの個数で製品のモデルは分かれており,値段も異なるが,メモリの容量とバンド幅やPCIe4.0のレーン数などは全てのモデルで同じであり,CPU性能はそれほど必要ではないが,メモリとI/Oのバンド幅はたくさん必要というような使い方には,コストパフォーマンスの高いCPUであると思われる。

 

EPYC 7003 CPUの概要

次の図にEPYC 7003 CPUの概要を示す。コンピュートの部分は8個のZen3コアと32MBのL3キャッシュを集積するチップレットを最大8個並べている。これらのコンピュートチップレットは中央に描かれたメモリ&IOチップレットに接続されている。

HPCではキャッシュの使い方で大きく性能が変わることがある。このため,EPYC 7003プロセッサでは,コンピュートチップレットのL3キャッシュとZen3コアの分割を変えることができるようになっている。Node Per Socket(NPS)を1にすると,全部のL3キャッシュスライスとCPUコアは1つのNUMAドメインに繋がる。NPS=2にすると半分のL3キャッシュスライスと半分のCPUコアが一つの(半分のサイズの)NUMAドメインに繋がり,残りの半分のL3キャッシュスライスとCPUコアはもう一つのNUMAドメインに繋がる。NPS=4とすると,NUMAドメインのサイズはさらに半分になり,ドメインの数はさらに倍増する。

しかし,NPSやその他のL3キャッシュあたりのCPUコア数などのパラメータを幾つにするのが良いかは実行するプログラムによっても変わるので,AMDのHPCチューニングガイドではNPSやその他のパラメータを振ってそれぞれの条件で性能を測定し,性能が高いパラメータ値を探すという方法を提案している。

32MBのL3キャッシュは全てのプロセッサチップレットのZen3コアで共用することもできる(NPS=1)が,分割して2つあるいは4つに分割して使う事もできる。

しかし,前世代のRomeでは16MBのL3 キャッシュに最大4コアであったのが,Milanでは32MBキャッシュに8コアがついており,大きい値のNPSをサポートする方向に進化している。そして,このチューニングガイドの例題では分子動力学計算のNAMDの実行の場合,最大のNPS=4が一番性能が高いという結果になっている。

メモリ&IOチップレットは,DDR4-3200を8チャネル接続できる機能を持ち,各チャネルに2枚の256GB DIMMを使うと,最大,4TB/ソケットのメモリを接続することができる。

 

EPYC 7003のL3キャッシュは巨大NUMAキャッシュ

次の図はZen2コア版のプロセッサチップレットとZen3コア版のコンピュートチップレットのアーキテクチャの違いを対比したものである。Zen2版ではチップレットには16MBのL3キャッシュと4個のZen2コアからなるグループが2個搭載されている。一方,Zen3版では32MBのL3キャッシュに8個のZen3コアが付いたグループが1個,チップレットに搭載されている。L3キャッシュの総容量とCPUコアの数は,どちらも同じである。

しかし,例えばZen2で上側の16MBのL3キャッシュを見て,そこには目指すデータが無い場合は下半分のL3キャッシュを見るというような動作になり,上半分から下半分にデータを渡すのに多少時間が掛る。それに対して,Zen3の場合はチップレット内のL3キャッシュにデータが入っていればアクセスは1回で遅れなしにデータを読めるため,性能的に有利である。

しかし,Zen3でも目指すデータが別のチップレットのL3キャッシュに入っている場合は,メモリ&IOチップレットの中を通ってデータを送る必要があり,L3キャッシュのスライス間のデータ伝送が無くなるわけではなく,このようなアクセスの頻度が減ることで,性能的の向上が見られるかは、各種のアプリやベンチマークの実測データが待たれるところだ 。

 

ただし,32MBのL3キャッシュスライスはかなり大きな容量であり,そのチップレット内のCPUコアが使うデータの大部分が32MBに納まる場合は性能改善効果が大きい可能性はある。

 

オーバクロックに適した EPYC 72F3 CPU

8コアのEPYC 72F3 CPUが興味深いCPUであることは既に書いたが,これを図示したのが次の図10である。コンピュートチップレットを一つのZen3コアで占有し,32MBのL3キャッシュを1コアで占有し,消費電力バジェットも1コアで占有し,DIMMのメモリバンド幅も8コアだけで使えると言う特別待遇である。

 

EPYC 7003は性能リーダーシップのCPU

第3世代のMilan CPUは,第二世代のRome CPUと比べて人気の高いミドル性能のサーバーでは最大25%性能が高く,パフォーマンス/コストでは15%高くなっているという。結果として,(Intelに文句を付けられない明確な)性能リーダシップであるとAMDは主張している。

なお,Milanは前世代のRomeと同じ半導体プロセスを使っており,設計の努力だけで最大25%の性能アップを実現したのは大したものである。

 

EPYC 7003はVMごとのメモリを暗号化で分離

EPYC 7003 CPUでは6チャネルのメモリインタリーブができるようになった。次の図12で,黒く塗りつぶした位置のDIMMだけを搭載し,BとFの白のDIMMソケットにはDIMMを挿入しない。このようにチャネルを使用すればDIMMのアクセスがどこかに集中して性能が低下することが無いようにメモリコントローラの設計が最適化されている。なお,1DIMM/チャネルの構成では3200MHzの速度でアクセスできるとことわってあるので,2DIMM/チャネルの場合は速度を落とす必要があると思われる。

 

EPYCはメモリコントローラの中にAES-128の暗号化機能を持ち,メモリに格納する全てのデータを暗号化するSME(Secure Memory Encryption)機能をもっていたが,Milanでは仮想マシンIDでキーを選択し,ハイパーバイザやVMごとに異なるキーで暗号化できる。この機能を使って,他のVMのメモリデータを盗み見しても内容は分からないようにするSEV(Secure Encrypted Virtualization)機能を実現しており,データの安全性を高めている。

 

デル・テクノロジーズはEPYCを搭載するサーバーの品揃えを充実

デル・テクノロジーズはAMDのEPYC搭載サーバーについては,業界の中でもトップクラスの品揃え持っている。そして,EPYC 7003シリーズCPUを搭載したサーバーを,CPUの正式発表前の今年2月から出荷中であるという。

 

デル・テクノロジーズのEPYC搭載PowerEdgeサーバーは,EPYC 7003を使い,DDR4-3200メモリを搭載するのはもちろんであるが,NVMeのハードウェアRAID構成ができるPARC11 RAIDコントローラや、サーバー内蔵ストレージでOSブートドライブとデータ記憶領域を分け,OSドライブはミラーリングを行い信頼性を増すBOSSを、さらに背面アクセスホットプラグ化したBOSS-S2など、デル・テクノロジーズ独自の機能を提供している。

また。従来のサーバーと電源とのエアフロ―観点での課題も、EPYC 7003 CPU世代のR6525、R7525サーバーでは,図15の右側の写真のように変更してエアフロ―を改善している。

 

また、今回、新しくデル・テクノロジーズがMilan搭載製品として追加するのが「PowerEdge XE8545」である。XE8545は、NVIDIA A100 GPUを最大で4つ搭載可能で、第3世代EPYCと組み合わせて利用することにより、マシンラーニングやディープラーニングの学習を効率的に行えるHPC(High Performance Computing)向け製品となる。なお、デル・テクノロジーズがサーバー向けに提供している管理技術の「iDRAC 9」によって、GPUの消費電力、稼働温度をGUIでリアルタイムに可視化できる。

図16 第3世代EPYC (Milan)搭載の新製品PowerEdge XE8545サーバー

 

 

また,デル・テクノロジーズの新機能として,受注した製品を製造したときにコンポーネントデータを収集して,それを暗号化してプラットフォーム証明書を作り,ディジタル署名してサーバーに添付するSCV(Secure Component Verification)を行っている。サーバーが納入されたら管理ツールを使って,各コンポーネントの信頼性や整合性を確認できるようになった。これはデル・テクノロジーズのサプライチェーン保証をさらに一歩進化させたものである。

 

今回のMilanの販売開始で,国内外の大型スパコンのコンポーネントの集約に大きな問題は無さそうである。今後,注目するのはAMDとIntelのサーバー市場での戦いがどうなるのか,それとAMDのGenoaと次世代Instinct GPUの開発の進捗と言ったところであろうか。

 

【関連リンク】

第6世代のスーパーコンピュータシステム「Ohtaka」を導入 理論演算性能約6.9ペタフロップス、利用公開へ https://www.delltechnologies.com/ja-jp/blog/ohtaka_hpcintroduce/

第2世代AMD EPYCに最適なPowerEdgeで世界的な科学研究を支援する https://www.delltechnologies.com/ja-jp/case-studies-customer-stories/oist.htm#collapse

デル・テクノロジーズAMD EPYC搭載サーバーご紹介トップページ https://www.delltechnologies.com/ja-jp/servers/amd.htm#accordion0&accordion1

AMD EPYCを搭載したDell Technologiesソリューション https://www.amd.com/ja/campaigns/amd-and-dell