Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Intel Cascade Lakeプロセッサーを搭載したHPCのBIOS特性

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

2019年4月にHPCおよびAIイノベーション ラボのVarun Bawa、Savitha Pareek、Ashish K Singhによって作成された記事

Resolution

第2世代インテルXeon®プロセッサー スケーラブル ファミリー プロセッサー(アーキテクチャ コードネーム「Cascade Lake」)のリリースに伴い、Dell EMCはPowerEdge第14世代サーバーをアップデートし、コア数の増加とメモリー速度の向上によるメリットを生かしてHPCアプリケーションにメリットをもたらしました。

このブログでは、一部のHPCベンチマークとアプリケーションに対して、最新のインテルXeon® Cascade Lakeプロセッサーを搭載したDell EMC PowerEdge C6420で使用可能なさまざまなBIOSチューニング オプションについて、最初の結果セットを示し、その影響について説明します。この調査で使用したCascade Lakeプロセッサー、BIOSオプション、HPCアプリケーションについて以下に簡単に説明します。

Cascade Lake は、インテルのSkylakeの後継製品です。Cascade Lakeプロセッサーは、最大28コア、最大2933 MT/sの速度を持つ6個のDDR4メモリー チャネルをサポートします。Skylakeと同様に、Cascade Lakeは、32 DP FLOP/サイクルを可能にするAVX512命令セットにより、追加のベクトル化電力をサポートします。Cascade Lakeでは、画像分類、音声認識、言語翻訳、物体検出などのAIおよびDLワークロードのパフォーマンスを高速化する ベクトル ニューラル ネットワーク命令(VNNI)が導入されています。VNNI は、推論パフォーマンスを高速化するために 8 ビット命令もサポートしています。

Cascade Lakeには、一部のサイドチャネルの脆弱性に対するハードウェア軽減策が含まれています。これにより、ストレージ ワークロードのパフォーマンスが向上することが期待されます。 イノベーション ラボによる今後の研究にご期待ください。

SkylakeとCascade Lakeはソケット互換性があるため、システムBIOSで公開されているプロセッサー チューニング ノブは、これらのプロセッサー世代間で類似しています。この調査では、 Skylakeで過去に公開された研究と同様に、次のBIOSチューニング オプションを検討しました。

プロセッサーの設定:

  • 隣接キャッシュ ラインのプリフェッチ: 隣接キャッシュ ライン プリフェッチ メカニズムを使用すると、自動ハードウェア プリフェッチが可能になり、プログラマーの介入なしに動作します。有効にすると、追加のキャッシュ ラインが要求されているかどうかに関係なく、2 つの 64 バイト キャッシュ ラインを 128 バイト セクターに収容できます。
  • ソフトウェア プリフェッチャ: 必要になる前にデータをキャッシュにロードすることで、ストールを回避します。Example: L2プリフェッチ命令で使用する前にメインメモリからL2キャッシュにデータをプリフェッチし、L1プリフェッチ命令で使用する直前にL2キャッシュからL1キャッシュにデータをプリフェッチすること。ここで有効に設定すると、プロセッサーはメモリー リクエストごとに追加のキャッシュ ラインをプリフェッチします。
  • SNC(サブNUMAクラスター): SNC を有効にすることは、1 つのソケットを 2 つの NUMA ドメインに分割し、それぞれに物理コアの半分とソケットのメモリの半分を持たせることと似ています。実用性はインテルXeon E5-2600 v3およびv4プロセッサーで利用可能だった Cluster-on-Dieオプション と似ています。SNCはCODとは異なる方法で実装されており、これらの変更により、クラスター オン ダイ オプションを使用していた旧世代と比較して、Cascade Lakeのリモート ソケット アクセスが改善されています。オペレーティング システム レベルでは、SNC が有効になっているデュアル ソケット サーバーには 4 つの NUMA ドメインが表示されます。2つのドメインは(同じソケット上で)互いに近くなり、他の2つはUPIを渡ってリモート ソケットまで遠く離れています。これは、次のようなOSツールを使用して表示できます。numactl –H に示されており、図 1 に示されています。
SLN316864_en_US__1image001(1)
図1: NUMAノードのレイアウト

システム プロファイル:

システム プロファイルはメタ オプションであり、ター ボ モードCstate、C1E、 Pstate管理、アンコア周波数など、パフォーマンスと電源管理に重点を置いた複数のBIOSオプションを設定します。 この調査で比較されたさまざまなシステム プロファイルは次のとおりです。
  • パフォーマンス
  • WattDAPあたりのパフォーマンスC
  • WattOSあたりのパフォーマンス
2つのHPCベンチマークと2つのHPCアプリケーションを使用して、これらのBIOSオプションがCascade Lakeのパフォーマンスに与える影響を理解しました。この調査で使用したサーバーおよびHPCアプリケーションの構成を表1と表2に示します。
アプリケーション ドメイン バージョン ベンチマーク
High Performance Linpack(HPL) 計算 - 密な一次方程式系を解く インテルMKL - 2019 Update 1から 問題の規模 合計メモリーの90%、92%、94%
ストリーム メモリー帯域幅 5.4 トライアド
Wrf 気象調査と予報 3.9.1 イモナス 2.5km
ANSYS®フルエント®  流体力学 19.2 Ice_2m、
Combustor_12m、
Aircraft_wing_14m、
Exhaust_System_33m

表1:アプリケーションとベンチマーク

コンポーネント 詳細
Server PowerEdgeサーバーC6420
CPU インテル® Xeon® Gold 6230 CPU @ 2.1GHz、20コア
メモリー 192GB モデル – 12 x 16GB 2933 MT/s DDR4
オペレーティングシステム Red Hat Enterprise Linux 7.6Red Hat Enterprise Linux 7.6
カーネル 3.10.0-957.el7.x86_64
コンパイラ インテル® Parallel Studio クラスター Edition_2019_Update_1

表2 サーバー構成

ここに示すすべての結果は、単一サーバーのテストに基づいています。クラスター レベルのパフォーマンスは、単一サーバーのパフォーマンスによって制限されます。パフォーマンスの比較には、次のメトリックが使用されました。
  • ストリーム – ストリーム ベンチマークによって報告されたトライアド スコア。
  • HPL:GFLOP/秒。
  • Fluent - Fluent によって報告されたソルバー評価。
  • WRF – 円錐 2.5 km の過去 719 インターバルで計算された平均時間ステップ

ベンチマークとアプリケーションの結果

グラフ表記の略語:

システム プロファイル:

パフォーマンス – パフォーマンスSLN316864_en_US__2a2OS – パフォーマンスPerWattOS SLN316864_en_US__3a3 DAPC – パフォーマンスPerWattDAPCSLN316864_en_US__4a1
サブNUMAクラスタリング: SNC = 0 (SNC = 無効): SNC = 1(SNC = 有効: グラフではストライピングとして書式設定)
SW – Software Prefetcher: SW = 0(SW = 無効): SW = 1(SW = 有効)

SLN316864_en_US__5image006
 図2:ハイ パフォーマンスLinpack

図2は、さまざまなBIOSオプションで問題サイズ = 90%(N=144476)のHPLの結果を比較したものです。このグラフは、さまざまなBIOS構成でHPLを実行しているときに取得された絶対ギガフロップスをプロットします。得られたこれらのギガフロップスはy軸にプロットされており、数値が高いほど良いです。
以下は、グラフの観測結果です。
  • ソフトウェアのプリフェッチによるHPLパフォーマンスの差は1%未満です。
  • HPL パフォーマンスに対する SNC の大きな影響はありません (SNC=Disabled で 0.5% 向上)。
  • パフォーマンス システム プロファイルは、OSおよびDAPCと比較して最大6%優れています。
 SLN316864_en_US__6image008
図3:ストリーム

図3は、STREAMの結果を異なるBIOS構成で比較したものです。
このグラフは、STREAM Triadの実行中に得られたメモリ帯域幅をギガバイト/秒でプロットしたものです。得られたメモリー帯域幅(GB/秒)はy軸にプロットされます。数値が高いほど良いです。x軸には、ギガバイト/秒の特定の値に関連付けられているBIOS設定がプロットされます。
以下は、グラフの観測結果です。
  • SNC=enabled使用時のメモリー帯域幅が最大3%向上。
  •  STREAMメモリー帯域幅でのソフトウェア プリフェッチによるパフォーマンスの偏差はあまりありません。 
  •  システム プロファイル間の逸脱なし。
   SLN316864_en_US__7a4
図4:メモリー帯域幅 – SNC

図4は、このような構成でのストリーム トライアド メモリー帯域幅スコアを示しています。フル システム メモリー帯域幅は~220 GB/秒です。ローカル ソケット上の20個のコアがローカル メモリーにアクセスする場合、メモリー帯域幅は~109GB/秒で、これは全システム帯域幅の半分です。この半分(~56 GB/秒)は、ローカル メモリーにアクセスする同じNUMAノード上の10スレッドと、同じソケット上の他のNUMAノードに属する1つのNUMAノード アクセス メモリー上の10スレッドのメモリー帯域幅です。スレッドがリモート ソケット上のQPIリンクを介してリモート メモリーにアクセスすると、メモリー帯域幅が42%低下して~33GB/秒になります。これは、データがローカルでない場合にSNCモードで大幅な帯域幅のペナルティがあることを示しています。

SLN316864_en_US__8image012
 図5:Wrf

図5は、さまざまなBIOSオプションでのWRFの結果を比較したものです。使用されるデータセットは、デフォルトの「namelist.input」ファイルを使用したconus2.5kmです。
このグラフは、さまざまなBIOS構成でWRF-conus2.5kmデータセットを実行しているときに得られた絶対平均時間ステップ(秒単位)をプロットしています。得られた平均時間ステップはy軸にプロットされ、小さいほど良いです。平均時間ステップの特定の値に関連付けられた相対プロファイルが x 軸にプロットされます。
以下は、グラフの観測結果です。
  • SNC=Enabledでパフォーマンスが2%向上。
  •  ソフトウェア プリフェッチの有効化と無効化でパフォーマンスに差はありません。
  •  パフォーマンス プロファイルは、PerformancePerWattDAPCプロファイルよりも1%優れています
  SLN316864_en_US__9a7
 SLN316864_en_US__10a6
図6から図9は、Fluent-の実行中に得られたソルバーレーティングを、それぞれIce_2m、Combustor_12m、Aircraft_Wing_14m、Exhaust_System_33mデータセットでプロットしたものです。得られたソルバー評価はy軸にプロットされます。数値が高いほど良いです。平均時間の特定の値に関連付けられた相対プロファイルがx軸にプロットされます。
以下は、上記のグラフの全体的な観察結果です。
  • SNC=Enabledを使用すると、パフォーマンスが最大4%向上します。
  • ソフトウェア プリフェッチによるパフォーマンスへの影響はありません。
  • パフォーマンス プロファイルを使用すると、DAPCおよびOSプロファイルと比較してパフォーマンスが最大2%向上します。

結論

この調査では、インテル Xeon Gold 6230プロセッサーを使用した場合のパフォーマンスに対するさまざまなBIOSチューニング オプションの影響を評価しました。さまざまなベンチマークとアプリケーションにわたってさまざまなBIOSオプションのパフォーマンスを観察した結果、次のような結論が出されます。
  • ソフトウェア プリフェッチ は、テストされたデータセットに大きなパフォーマンス インパクトを与えません。したがって、ソフトウェアプリフェッチャーをデフォルト(有効)のままにしておくことをお勧めします
  • SNC=Enabled の場合、Fluent と Stream では 2 から 4% のパフォーマンス向上、SNC = Disabled と比較して WRF では約 1% 向上します。したがって、パフォーマンスを向上させるには、 SNC を有効にすることをお勧めします
  • パフォーマンス プロファイルは、PerformancePerWattDAPCおよびPerformancePerWattOSよりも2〜4%優れています。そのため、HPC のパフォーマンス プロファイルをお勧めします
汎用HPCクラスターでは 、ハイパースレッディング をオフにすることをお勧めします。使用するアプリケーションに応じて、この機能のメリットをテストし、必要に応じて有効にする必要があります。

この調査では説明しませんが、システムにx4 DRAM構成(32GB、64GB DIMM)のメモリーが構成されている場合に利用できる、Adaptive Double DRAM Device Correction(ADDDC)と呼ばれるメモリーRAS機能があります。システムにx8ベースのDIMM(8GB、16GB)がある場合、ADDDCは使用できず、これらの構成では重要ではありません。HPCワークロードの場合、 調整可能なオプションとして使用可能な場合は、ADDDCを無効に設定することをお勧めします。

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140, Red Hat Enterprise Linux Version 7

Last Published Date

10 Apr 2021

Version

4

Article Type

Solution