메인 콘텐츠로 이동
  • 빠르고 간편하게 주문
  • 주문 보기 및 배송 상태 추적
  • 제품 목록을 생성 및 액세스

AMD Rome – 現実に対応していますか?アーキテクチャーと初期HPCパフォーマンス

요약: 今日のHPCの世界では、AMDの最新世代EPYCプロセッサー(コードネーム「Rome」)をご紹介します。

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

Garima Kochhar、Deepthi Cherlopalle、Joshua Weage。HPCおよびAIイノベーション ラボ、2019年10月

원인

-

해결


今日のHPCの世界では、コードネームRomeと呼ばれるAMDの最新世代EPYCプロセッサーこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。について紹介するまでもありません。  私たちはここ数か月、 HPCおよびAIイノベーション ラボ でRomeベースのシステムを評価してきましたが、デル・テクノロジーズは最近、このプロセッサー アーキテクチャをサポートするサーバー を発表しました このハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。。Romeシリーズの最初のこのブログでは、Romeプロセッサー アーキテクチャについて説明し、HPCパフォーマンスに合わせて調整する方法、および初期のマイクロベンチマーク パフォーマンスを提示します。その後のブログでは、CFD、CAE、分子動力学、気象シミュレーション、その他のアプリケーションのドメインにわたるアプリケーションのパフォーマンスについて説明します。


 

アーキテクチャ

 

RomeはAMDの第2世代EPYC CPUで、第1世代の Naplesをリフレッシュしています。昨年の このブログ でナポリについて説明しました。

HPCにメリットをもたらすナポリとローマのアーキテクチャの最大の違いの1つは、ローマの新しいIOダイです。Romeでは、図1に示すように、各プロセッサは最大9個の チップレット で構成されるマルチチップパッケージです。中央の14nm IOダイには、メモリー コントローラー、ソケット内およびソケット間接続内のInfinityファブリック リンク、PCI-eなど、すべてのIOおよびメモリー機能が含まれています。ソケットあたり8個のメモリー コントローラーがあり、3200 MT/sのDDR4を実行する8個のメモリー チャネルをサポートします。シングルソケット サーバーは、最大130のPCIe Gen4レーンをサポートできます。デュアルソケット システムは、最大160のPCIe Gen4レーンをサポートできます。

図 1 Rome

(図1:1つの中央IOダイと最大8コアのダイを備えた Rome マルチチップ パッケージ)

中央のIOダイの周囲には、最大8個の7nmコアチップレットがあります。コア チップレットは、コア キャッシュ ダイまたはCCDと呼ばれます。各CCDには、Zen2マイクロアーキテクチャに基づくCPUコア、L2キャッシュ、および32MBのL3キャッシュがあります。CCD自体には2つのコア キャッシュ コンプレックス(CCX)がありこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。各CCXには最大4つのコアと16MBのL3キャッシュがあります。図2にCCXを示します。

図 1 Rome

(図2 :4つのコアと共有16MB L3キャッシュを搭載したCCX)

Rome CPUモデルこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。によってコア数は異なりますが、このハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。すべてのモデルに1つの中央IOダイがあります。  

トップ エンドは、EPYC 7702などの64コアCPUモデルです。lstopo の出力は、このプロセッサにはソケットあたり 16 個の CCX があり、図 3 と 4 に示すように、各 CCX には 4 つのコアがあり、ソケットあたり 64 個のコアがあることを示しています。CCXあたり16MB L3、つまりCCDあたり32MB L3は、このプロセッサーに合計256MBのL3キャッシュを与えます。ただし、RomeのL3キャッシュの合計は、すべてのコアで共有されるわけではありません。図2に示すように、各CCXの16MBのL3キャッシュは独立しており、CCXのコアによってのみ共有されます。

EPYC 7402のような24コアCPUには、128MBのL3キャッシュがあります。図3と図4のlstopo出力は、このモデルがCCXあたり3つのコアを持ち、ソケットあたり8つのCCXを持つことを示しています。

図31 Rome

図32 Rome

(図3および4 :64コアおよび24コアCPUのlstopo出力)

CCDの数に関係なく、各Romeプロセッサは論理的に4つの 象限 に分割され、CCDは可能な限り均等に分割され、各象限に2つのメモリチャネルがあります。中央のIOダイは、ソケットの4つの象限を論理的に支えていると考えることができます。


トップに戻る

 

 

Romeアーキテクチャに基づくBIOSオプション

 

ローマの中央IOダイは、ナポリで測定されたものよりも メモリレイテンシ このハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。 を改善するのに役立ちます。さらに、CPUを単一のNUMAドメインとして構成できるため、ソケット内のすべてのコアに対して均一なメモリー アクセスが可能になります。これについては、以下で説明します。

Romeプロセッサーの4つの論理象限により、CPUを異なるNUMAドメインに区分化できます。この設定は、 ソケットあたりの NUMA または NPS と呼ばれます。

  • NPS1 は、Rome CPU が単一の NUMA ドメインであり、ソケット内のすべてのコアとこの 1 つの NUMA ドメイン内のすべてのメモリがあることを意味します。メモリーは、8個のメモリー チャネル間でインターリーブされます。ソケット上のすべてのPCIeデバイスは、この単一のNUMAドメインに属します
  • NPS2 は CPU を 2 つの NUMA ドメインに分割し、各 NUMA ドメインのソケットにコアの半分とメモリ チャネルの半分を配置します。メモリーは、各NUMAドメインの4つのメモリー チャネル間でインターリーブされます
  • NPS4は、CPUを4つのNUMAドメインに分割します。ここでは各象限がNUMAドメインであり、メモリーは各象限の2つのメモリー チャネル間でインターリーブされます。PCIeデバイスは、IOダイのどの象限にそのデバイスのPCIeルートがあるかに応じて、ソケット上の4つのNUMAドメインのいずれかに対してローカルになります
  • すべてのCPUがすべてのNPS設定をサポートできるわけではありません

利用可能な場合、NPS4は最適なメモリー帯域幅と最小のメモリー レイテンシーを提供することが期待され、アプリケーションがNUMA対応になる傾向があるため、HPCに推奨されます。NPS4が利用できない場合は、CPUモデルでサポートされている最高のNPS(NPS2、またはNPS1)をお勧めします。

Romeベースのプラットフォームで使用可能な多数のNUMAオプションを考慮すると、PowerEdge BIOSでは、 MADT列挙で2つの異なるコア列挙方法を使用できます。線形列挙では、コアに順番に番号を付け、次のソケットに移動する前に1つのCCX、CCD、ソケットを埋めます。32c CPU では、コア 0 から 31 が最初のソケットに、コア 32 から 63 が 2 番目のソケットにあります。ラウンド ロビン列挙では、NUMA リージョン全体のコアに番号が付けられます。この場合、偶数番号のコアは最初のソケットに、奇数番号のコアは2番目のソケットに配置されます。シンプルにするために、HPC の線形列挙をお勧めします。NPS4で構成されたデュアルソケット64cサーバーでのリニア コア列挙の例については、図5を参照してください。この図では、4つのコアの各ボックスがCCXで、連続した8つのコアの各セットがCCDです。

図 4 ローマ

(図5 :デュアルソケット システムでのリニア コア列挙、ソケットあたり64c、8 CCD CPUモデルでのNPS4構成)

もう1つのRome固有のBIOSオプションは 、優先IOデバイスと呼ばれるものです。これは、InfiniBandの帯域幅とメッセージ レートの重要なチューニング ノブです。これにより、プラットフォームは1つのIOデバイスのトラフィックに優先順位を付けることができます。このオプションは、1ソケットのRomeプラットフォームと2ソケットのRomeプラットフォームで使用可能です。すべてのCPUコアがアクティブなときにフル メッセージ レートを実現するには、プラットフォーム内のInfiniBandデバイスを BIOS メニューで優先デバイスとして選択する必要があります。

ナポリと同様に、Rome もハイパースレッディングまたは論理プロセッサをサポートしています。HPCでは、この機能は無効のままにしますが、一部のアプリケーションでは論理プロセッサーを有効にすることでメリットを得ることができます。分子動力学の応用研究に関するその後のブログをご覧ください。

ナポリと同様に、ローマでも CCXをNUMAドメインとして許可しています。このオプションは、各CCXをNUMAノードとして公開します。CPUあたり16個のCCXを備えたデュアルソケットCPUを搭載したシステムでは、この設定により32のNUMAドメインが公開されます。この例では、各ソケットに8個のCCD(16個のCCX)があります。各CCXは、独自のNUMAドメインとして有効にすることができ、ソケットあたり16、2ソケット システムでは32のNUMAノードを提供します。HPCの場合は、デフォルトのオプションである[無効]を[NUMAドメインとしてのCCX]のままにしておくことをお勧めします。このオプションを有効にすると、仮想化環境に役立つことが期待されます。

ナポリと同様に、Romeではシステムを パフォーマンス決定モード または 電力決定モード に設定できます。パフォーマンスの決定では、システムはCPUモデルに対して予想される頻度で動作し、複数のサーバー間のばらつきを減らします。電源の決定では、システムはCPUモデルの使用可能な最大TDPで動作します。これにより、製造プロセスにおけるパーツ間のばらつきが増幅され、一部のサーバーが他のサーバーよりも高速になります。すべてのサーバーがCPUの最大定格電力を消費する可能性があるため、電力消費は決定論的になりますが、複数のサーバー間でパフォーマンスに多少のばらつきが許容されます。

PowerEdgeプラットフォームに期待されるように、BIOSには システム プロファイルと呼ばれるメタ オプションがあります。[Performance Optimized]システム プロファイルを選択すると、ターボ ブースト モードが有効になり、C-Stateが無効になり、[Determinism]スライダーが[Power Determinism]に設定され、パフォーマンスが最適化されます。


トップに戻る

 

 

パフォーマンス結果 – STREAM、HPL、InfiniBandマイクロベンチマーク

 

読者の多くはこのセクションに直接ジャンプしたかもしれないので、すぐに飛び込みます。

HPCおよびAIイノベーション ラボでは、ローマを拠点とする64台のサーバーからなるクラスターを構築しました。これは、 Minervaと呼ばれています。均質なMinervaクラスターに加えて、評価できたRome CPUサンプルが他にもいくつかあります。テストベッドを表1と表2に示します。

(表1 :本調査で評価したRome CPUモデル)

CPU ソケットあたりのコア数 Config ベース クロック TDP
7702 64cの CCXあたり4c 2.0 GHzの 200W
7502 32cの CCXあたり4c 2.5 GHz 180W
7452 32cの CCXあたり4c 2.35 GHz 155W
7402 24cの CCXあたり3c 2.8 GHz 180W

(表2 :テストベッド)

コンポーネント 詳細
Server PowerEdge C6525
CPU 表1に示されているとおり、デュアルソケット
メモリー 256 GB、16 x 16GB 3200 MT/s DDR4
内部接続 ConnectX-6 Mellanox Infini帯域HDR100
オペレーティングシステム Red Hat Enterprise Linux 7.6
カーネル 3.10.0.957.27.2.e17.x86_64
ディスク 240 GB SATA SSD M.2モジュール


トップに戻る

 

 

ストリーム

 

Romeでのメモリー帯域幅テストを図6に示します。これらのテストはNPS4モードで実行されました。表1に示す4つのCPUモデルにわたり、サーバーのすべてのコアを使用した場合の、デュアルソケットPowerEdge C6525でのメモリー帯域幅は~270~300 GB/秒でした。CCX ごとに 1 つのコアのみが使用されている場合、システム メモリ帯域幅は、すべてのコアで測定された帯域幅よりも ~9-17% 高くなります。

ほとんどのHPCワークロードは、システム内のすべてのコアを完全にサブスクライブするか、HPCセンターが各サーバー上で複数のジョブを使用して高スループット モードで実行されます。したがって、オールコア メモリー帯域幅は、システムのメモリー帯域幅とコアあたりのメモリー帯域幅機能をより正確に表しています。

図6には、旧世代のEPYC Naplesプラットフォームで測定したメモリー帯域幅も示されています。EPYC Naples プラットフォームもソケットあたり8個のメモリー チャネルをサポートし、2667 MT/sで動作します。Romeプラットフォームは、Naplesよりも5%から19%優れた総メモリ帯域幅を提供します。これは主に、より高速な3200 MT/sメモリによるものです。ソケットあたり64cでも、Romeシステムは2 GB/秒/コア以上を提供できます。

メモ: STREAM Triadの結果では、5〜10%のパフォーマンスの変動が、同じ構成のRomeベースの複数のサーバーで測定されたため、以下の結果は範囲の最上位であると見なす必要があります。
 

異なるNPS構成を比較すると、図7に示すように、NPS4ではNPS1よりも~13%高いメモリー帯域幅が測定されました。

図 5 ローマ

(図6 :デュアルソケットNPS4 STREAMトライアド メモリー帯域幅)

図6 Rome

(図7 :NPS1、NPS2、NPS 4のメモリー帯域幅)


トップに戻る

 

 

InfiniBandの帯域幅とメッセージ レート

 

図8は、単方向および双方向テストでのシングルコアInfiniBand帯域幅を示しています。テストベッドでは、100 Gbpsで動作するHDR100を使用し、グラフはこれらのテストで予想されるラインレート性能を示しています。

図 6 IBBW

図8 :InfiniBand帯域幅(シングルコア)

図 6 IBBW

図9 InfiniBandのメッセージ レート(すべてのコア)

次に、テスト対象の2台のサーバーのソケット上のすべてのコアを使用して、メッセージ レートのテストを実施しました。BIOSで優先IOが有効で、ConnectX-6 HDR100アダプターが優先デバイスとして構成されている場合、図9に示すように、オールコア メッセージ レートは優先IOが有効になっていない場合よりも大幅に高くなります。これは、HPCのチューニング、特にマルチノード アプリケーションの拡張性において、このBIOSオプションが重要であることを示しています。


トップに戻る

 

 

HPL

 

Romeのマイクロアーキテクチャは、16 DP FLOP/サイクルをリタイアすることができ、これはNaplesの8 FLOPS/サイクルの2倍です。これにより、Rome は Naples の理論上のピーク FLOPS の 4 倍、強化された浮動小数点機能で 2 倍、2 倍のコア数 (64c 対 32c) で 2 倍になります。図10は、テストした4つのRome CPUモデルのHPL測定結果と、Naplesベースのシステムでの以前の結果をプロットしたものです。Rome HPL効率性は、グラフのバーの上のパーセント値として示され、TDP CPUが低いモデルほど高くなります。

テストはPower Determinismモードで実行され、64台の同じ構成のサーバーでパフォーマンスの~5%の差異が測定されました。したがって、ここに示す結果はそのパフォーマンス範囲内にあります。

図9 Rome

(図10 :NPS4の単一サーバーHPL)

次に、マルチノードHPLテストを実行し、その結果を図11にプロットします。EPYC 7452のHPL効率は、64ノード規模で90%以上を維持していますが、効率が102%から97%に低下し、最大99%まで低下していることは、さらに評価が必要です

図10 Rome

(図11 :マルチノードHPL、HDR100 InfiniBand経由のデュアルソケットEPYC 7452)


トップに戻る

 

 

まとめと今後の予定

 

ローマを拠点とするサーバーの初期パフォーマンス調査では、最初のHPCベンチマークで期待されるパフォーマンスが示されました。BIOSのチューニングは、最適なパフォーマンスを得るために構成する際に重要であり、チューニング オプションは、工場で構成することも、Dell EMCシステム管理ユーティリティーを使用して設定することもできるBIOS HPCワークロード プロファイルで使用できます。

HPCおよびAIイノベーション ラボには、Romeを拠点とする新しい64台のサーバーで構成されるPowerEdgeクラスター、Minervaがあります。新しいMinervaクラスターでのアプリケーションパフォーマンスの調査について説明する今後のブログについては、このスペースをご覧ください。


トップに戻る

 
문서 속성
문서 번호: 000137696
문서 유형: Solution
마지막 수정 시간: 15 3월 2024
버전:  6
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.