Skip to main content
QUICK REVIEW

[論文レビュー] Measuring NUMA effects with the STREAM benchmark

Lars Bergström|arXiv (Cornell University)|Mar 16, 2011
Parallel Computing and Optimization Techniques参考文献 4被引用数 14
ひとこと要約

この論文は、48コアAMD Opteronおよび32コアIntel Xeonシステムにおける非一様メモリアクセス(NUMA)効果を測定するためにSTREAMベンチマークを拡張している。ストライドアクセスとNUMA対応アクセスの両方をテストするようにベンチマークを変更することで、AMDシステムでは非NUMA対応コードに対して顕著な帯域幅およびレイテンシのペナルティが生じることが明らかになったが、Intelシステムは高いプロセッサ間帯域幅のおかげでより良好なパフォーマンスを示した。一方、AMDシステムではNUMA対応コードによりピーク帯域幅が著しく向上した。

ABSTRACT

Modern high-end machines feature multiple processor packages, each of which contains multiple independent cores and integrated memory controllers connected directly to dedicated physical RAM. These packages are connected via a shared bus, creating a system with a heterogeneous memory hierarchy. Since this shared bus has less bandwidth than the sum of the links to memory, aggregate memory bandwidth is higher when parallel threads all access memory local to their processor package than when they access memory attached to a remote package. But, the impact of this heterogeneous memory architecture is not easily understood from vendor benchmarks. Even where these measurements are available, they provide only best-case memory throughput. This work presents a series of modifications to the well-known STREAM benchmark to measure the effects of NUMA on both a 48-core AMD Opteron machine and a 32-core Intel Xeon machine.

研究の動機と目的

  • 現代のハイエンドマルチコアサーバーにおけるNUMAアーキテクチャがメモリ帯域幅およびレイテンシに与える影響を定量化すること。
  • 並列アプリケーションにおけるNUMA対応および非NUMA対応メモリアクセスパターンの間のパフォーマンスギャップを評価すること。
  • ベンダーベンチマークによって隠されがちな、メモリ階層構造の影響を明確に測定可能なデータとして提供すること。
  • 実システムの挙動を測定することで、関数型プログラミング言語向けスケーラブルな並列ガーベジコレクタの設計およびチューニングを支援すること。
  • 実スレッド負荷下におけるAMD OpteronおよびIntel XeonアーキテクチャのNUMA挙動を比較すること。

提案手法

  • ストライドアクセスおよびNUMA対応メモリアクセスパターンの両方を含むように標準STREAMベンチマークを拡張した。
  • AMD Opteron(48コア)およびIntel Xeon(32コア)システムにおいて、スレッド数を変化させた状態でメモリ帯域幅およびレイテンシを測定した。
  • メモリローカリティおよびインターコネクト帯域幅の影響を分離するために、ノードにまたがるスパarsなスレッド割り当てを実施した。
  • ノードごとの帯域幅を算出し、表2(AMD)および表4(Intel)からの理論的インターコネクト制限と正規化した。
  • キャッシュ効果を分離するために、ラジオメモリアクセス時間のみを測定する目的でストライド構成を用いた。
  • 異なるスレッド数におけるパフォーマンスを比較し、スケーリング特性および飽和点を評価した。

実験結果

リサーチクエスチョン

  • RQ148コアAMD Opteronシステムにおいて、非NUMA対応メモリアクセスは帯域幅およびレイテンシにどのように影響するか?
  • RQ232コアのIntel Xeonシステムにおいて、NUMA対応コードと非NUMA対応コードの間にはどの程度のパフォーマンス差が生じるか?
  • RQ3理論的インターコネクト帯域幅は、実世界のワークロードにおける実測帯域幅とどのように比較されるか?
  • RQ4両アーキテクチャにおいて、NUMA効果によって帯域幅およびレイテンシが劣化し始めるスレッド数の閾値は何か?
  • RQ5QPI(Intel)とHyperTransport(AMD)のプロセッサ間帯域幅は、NUMAペナルティを軽減するためにどの程度効果的か?

主な発見

  • AMD Opteronシステムでは、非NUMA対応コードは顕著な帯域幅ペナルティを被り、48コアに達する段階でパフォーマンスが低下し始めるが、NUMA対応コードはほぼ線形的にスケーリングする。
  • AMDシステムでは、NUMA対応コードによりピーク帯域幅が約55,000 MB/sに達し、Intelシステムのピーク約40,000 MB/sを大きく上回る。
  • Intel Xeonシステムでは、QPIの高いプロセッサ間帯域幅のおかげで、非NUMA対応コードとNUMA対応コードの間のパフォーマンスギャップは、コア数が最大に達してもほとんどない。
  • Intelシステムは32コアで帯域幅の飽和に達するが、AMDシステムでは48コアまでノードごとの帯域幅が継続的に増加する。
  • AMDシステムでは、中程度のスレッド数(約24スレッドを超えると)で非NUMA対応アクセスによるレイテンシの急激な劣化が見られるが、Intelシステムでは24コアを超えるまで一貫したレイテンシを示す。
  • 両システムとも、理論的帯域幅と実測帯域幅の間に顕著な差が生じており、特にストライド構成では、理論モデルを超える現実世界の制限が顕在化している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。