NUMA ハードウェアによるパフォーマンスの向上

同カテゴリーの次の記事

データとコードの並べ替え: 最適化とメモリー - パート 1

この記事は、インテル® デベロッパー・ゾーンに公開されている「Performance Improvement Opportunities with NUMA Hardware」の日本語参考訳です。


この記事の PDF 版はこちらからご利用になれます。

インテル コーポレーションの Non-Uniform Memory Access (NUMA) に関する戦略は、能力とパフォーマンスの両方で大幅な向上が見込まれる、さまざまな新しいメモリー・テクノロジーに基づいています。

  • マルチチャネル DRAM (MCDRAM (英語)) と高帯域幅メモリー (HBM)
  • 不揮発性デュアル・インラインメモリー・モジュール (NVDIMM (英語))
  • インテル® Omni-Path ファブリック

メモリーシステムのパフォーマンス特性を考慮するソフトウェアは通常、それらを無視するソフトウェアよりも効率的です。これらの新しいメモリー・テクノロジー向けに記述されたソフトウェアも例外ではありません。メモリー・サブシステムを効率的に利用すると、パフォーマンスが大幅に (10 倍以上) 向上します。不揮発性メモリー (停電やシステム障害が発生した場合でも内容を保持可能なメモリー) を活用するように変更されたソフトウェアもパフォーマンスが大幅に向上します。

これらの新しいテクノロジーは、小規模なサーバーから Aurora (英語) のような大規模なシステムまで、ソフトウェアおよびハードウェアの設計にすでに影響を与えています。

MCDRAM と HBM

MCDRAM は、インテル® Xeon Phi™ プロセッサー (開発コード名 Knights Landing) に搭載されている、専用の高帯域幅メモリーです。

HBM は、インテル® Xeon Phi™ プロセッサー (開発コード名 Knights Hill) 向けに設計された高帯域幅メモリーで、JEDEC 規格に準拠しています。

注: MCDRAM と HBM の両方を高帯域幅メモリーと呼ぶこともあります。

不揮発性 DIMM

停電時にもデータを失わない DIMM (Dual Inline Memory Module) を構築するテクノロジーはいくつかあります。不揮発性 DIMM の容量、消費電力、読み取り/書き込みパフォーマンスは DDR (英語) DIMM とは異なります。不揮発性 DIMM を使用すると、システムの停電時でもメモリーのデータを失うことなく、メモリー・サブシステムの速度でそれらのデータにアクセスすることができます。

将来は、3D XPoint™ テクノロジーを使用して作成した DIMM が提供される予定です。

インテル® Omni-Path ファブリック

MCDRAM、HBM、および NVDIMM テクノロジーとは異なり、インテル® Omni-Path ファブリック・テクノロジーは、メモリーデバイスがプロセッサーの近くにある場合でも、遠く離れている場合でも、プロセッサーとメモリーデバイスを接続できるため、多くのシステムにわたって拡大されたアドレス空間を備えた並列アプリケーションを簡単に作成することができます。

まとめ

これらの新しいハードウェア・テクノロジーを利用すると、既存のアプリケーションを変更することなく、より高速に実行できるようになりますが、ソフトウェアを変更すると、パフォーマンス向上の可能性はさらに高くなります。次の記事、NUMA ハードウェアの対象ユーザー (英語) では、これらの技術の活用方法を具体的に説明します。

著者紹介

Bevin Brett。インテル コーポレーションの主任エンジニアで、プログラマーとシステムユーザーがアプリケーション・パフォーマンスを向上できるように支援するツールに取り組んでいます。時間があるときは、1920 年代の機械式計算機の修理を行ったり、救急医療隊員として緊急医療に対応しています。

関連情報

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事