インテル® Optane™ DC パーシステント・メモリー導入への道: その 1 – 計画から装着まで

その他

第 2 世代インテル® Xeon® スケーラブル・プロセッサーの発表に前後して、この新しい不揮発性メモリーの記事や資料をよく見かけるようになりました。iSUS では、今年導入した開発コード名 CascadeLake ベースのシステムで、インテル® Optane™ DC パーシステント・メモリー (DCPMM) が利用できることを確認していましたが、インテル社のご厚意でメモリーをお借りすることができました。この記事では、計画からインストール、そして各種モードでの DCPMM の評価をシリーズで解説していきたいと思います。第 1 回目は、計画から装着までを説明します。


写真 1: 見た目は当然 DDR4 RDIMM と変わりない。
シールが貼られているためかろうじて DCPMM と分かります。

計画から購入まで

これから新規に第 2 世代インテル® Xeon® スケーラブル・プロセッサー・ベースのシステムを導入される方や、すでに DCPMM 対応のシステムをお持ちで後付けて購入を検討されている方はこの記事を参考にしてください。

インテル® Optane™ DC パーシステント・メモリー (DCPMM) の利点

  1. DRAM より価格が安いと言われる
  2. DIMM ソケットにそのまま装着できる
  3. 電源を切っても内容が保持される (不揮発性) 機能を持つ
  4. DRAM よりは低速であるが、NVMe SSD よりはおよそ 3 倍高速

インテル® Optane™ DC パーシステント・メモリー (DCPMM) 利用上の注意点

  1. 第 2 世代インテル® Xeon® Gold プロセッサー以上が必要 (Silver やBronze ではサポートされない)
  2. チャネルあたり 1 つの DCPMM しか装着できない (同じチャネルに DRAM が搭載されている必要がある)
  3. システム BIOS とオペレーティング・システムが DCPMM に対応している必要がある
  4. ユーザーは Memory モード (MM)、App Direct モード (AP) または MM + AP モードを選択する必要がある

インテル® Optane™ DC パーシステント・メモリー (DCPMM) 関連の記事は、以下をご覧ください。

価格のメリット
ワークステーションの一部やサーバーシステムでは、ECC 付きのDIMM (RDIMM) や、より多くのチャネルを確保でき高密度な LRDIMM が利用されます。2019 年 11 月時点のそれぞれのメモリーの価格を検索してみると、サーバーメーカーのオンライン購入では、DRAM と DCPMM を同容量構成しようとすると DRAM の価格は DCPMM の倍近くになります (表1)。しかし、メモリーデバイスに搭載されるチップ構成などの詳細を考えず、容量だけに注目すると DCPMM の DRAM 対する価格のメリットはほぼないのが現実です。

iSUS で導入したシステムには、Crucial (Micron 製) サーバー用メモリー 32GB DDR4-2666 CL19 DR x4 ECC DIMM を 4 本搭載しています。購入価格は、23,129 x 2 + 27,600 x 2 = 101,458 円 (128GB) です (購入時期が異なるので価格に差があります)。

メモリーチャネルのパフォーマンスを考慮すると、必要なメモリー容量を少ない容量の DIMM でスロット全体を埋めるような構成が取られます (例えば、ソケットあたり 256GB 必要な場合、32GB x 8、16GB x 16 など)。第 2 世代インテル® Xeon® スケーラブル・プロセッサーは、最大 6 チャネルのメモリー構成をサポートするため、システムごとに搭載できる DIMM スロットの数は異なります。

すでに DIMM スロットに DRAM がフル実装されている場合、DCPMM を装着するため DRAM をチャネルあたり 1 枚抜く必要があります。そのため、将来 DCPMM の導入を検討されている方は、空きスロットを作っておくと良いでしょう。

  32G 64G 128G 256G 512G
DDR4 RDIMM
(PC4-21300/2666)
24,000 ~
117,100 (D 社)

280,200 (D 社)
DDR4 LRDIMM
(PC4-21300/2666)
50,000 ~ 70,000 ~ 145,000 ~
1,003,200 (D 社)
DCPMM 463,000 (H 社)
259,000 (D 社)
1,517,000 (H 社)
994,500 (D 社)
4,630,000 (H 社)
3,159,700 (D 社)

DIMM ソケットにそのまま装着できる
インテル® Optane™ DC パーシステント・メモリー・モジュール (DCPMM) のフォームファクターは DRAM と同じであるため、DIMM スロットにそのまま装着できます。DCPMM は、Memory モード、App Direct モード、App Direct によるストレージモードの 3 つのモードで利用できますが、Memory モードでは従来の揮発性メモリーとして、オペレーティング・システム、アプリケーション、または仮想マシンモニター (VMM) から透過的に見えます。この場合、システム上の DRAM メモリーは、自動的にメモリーシステムのキャッシュとなります。DRAM メモリーがメモリーキャッシュとして動作する場合、その領域はオペレーティング・システムが利用可能な合計揮発性メモリープールには含まれません。

DCPMM の完全な機能を使用するには、オペレーティング・システムが DCPMM などの不揮発性メモリーに対応している必要があります。Windows* でこの機能を使用するには、Windows® 10 Pro Workstations や Windows Server* OS が必要ですが、サポートしない OS がインストールされていると、Memory モードでは通常の DRAM のように扱われます。

DPCMM はモジュールあたりのメモリー搭載密度が高いため、DIMM スロット数が少ないシステムで大容量のメモリーを装着できるメリットがあります。

DCPMM 装着の注意点
DCPMM は DRAM ソケットにそのまま装着することができますが、空いているソケットに自由に装着できるわけではありません。マザーボード・ベンダー、モデル、メモリースロット数などにより DRAM と DCPMM をどのような組み合わせで装着できるかは異なります。

ここでは、iSUS で導入した ASUS 社のマザーボード Z11PA-D8 シリーズでの例を紹介します。このマザーボードは、ソケットあたり 4 つの DIMM ソケットを備えています。DCPMM 装着前は、ソケットあたり 32GB x 2 のモジュールを H1 & G1 そして A1 & B1 ソケットに実装していました (ソケットあたり 2 DIMM ではこのようにしか装着できません)。


出典: ASUS Z11PA-D8 V6 ユーザーズマニュアル

K1 & L1 および E1 & D1 ソケットが空いているわけですが、ここに 4 本の DCPMM を装着してもシステムは、不明なエラーを起こし起動できませんでした。メーカーや BIOS のバージョンによっては、メッセージを出してくるかもしれません。

メーカーから指示される正しい装着方法は、次のようになります。つまり、B1 と H1 に装着されている DRAM をそれぞれ D1 と K1 に移動し、空きスロットに DCPMM を 4 本装着します。この構成でシステムは起動できるようになりました。


出典: ASUS Z11PA-D8 V6 ユーザーズマニュアル

DCPMM をサポートするほかのマザーボードでも、このような DIMM スロットの制限がありますので、装着する場合はマニュアルをよくご覧になって作業を行ってください。DCPMM をサポートされないスロットに装着しても、メモリーが壊れたりすることはないでしょう。

BIOS 設定
通常の DRAM とは異なり、DCPMM はシステムに装着したら BIOS 設定を起動してモードなどを設定する必要があります。設定画面もそれぞれのシステムごとに異なりますが、ここでは Z11PA-D8 を例にして説明します。

このシステムでは DCPMM を装着していないと、BIOS に DCPMM 関連の設定メニューは表示されません。DCPMM をソケットに装着後、BIOS 設定を起動すると次のように、[Advanced] 設定の配下に [Intel(R) Optane(TM) DC Persistent Memory Configuration] という項目が表示され、DCPMM 関連の設定はすべてこのメニュー以下で行います。

メニューを選択すると DPCMM 設定のメインメニューが表示されます。ここでは、[Detected DIMMs] に 4 が表示され、4 本のモジュールが認識されていることが分かります。ここで、最初にしなければならないことは、[Regions] を選択して、メモリー領域を作成することです。

例えば、DCPMM をすべて Memory モードで使用するには、[Regions] から [Create goal config] を選択して、[Memory Mode [%]]100 を設定します。その後 BIOS 設定を保存してシステムを再起動します。すでに Region が作成済み (違うモードに変更する場合など) の場合は、Region を一度 Delete して再度作成する必要があります。

ここで使用する BIOS では、Memory モードや App Direct モードを直接変更する設定がないように思われます。[Reserved [%]] と [Memory Mode[%]] の比率を変えることで、モード設定を行うようです。画面上では [Persistent memory type: [App Direct]] を変更できるように見えますが、この項目を直接変更することはできませんでした。

Windows® 10 Pro と 128GB の DRAM が搭載されているシステムに、DCPMM (128GB x 4) を装着し BIOS で Memory モード 100% で設定したシステムで、リソースモニターで確認すると次のようになりました。

インストール済み 648704MB で合計 515709MB と DRAM 容量が DCPMM の分だけ増加していることが分かります。DRAM 128GB はメモリープールには割り当てられず、DCPMM に対するキャッシュとして使用されます。

前述の [Memory Mode [%]] の設定を 0 (ゼロ) にして起動するとリソースモニターでは次のように見えます。インストール済み DIMM は 648704MB ですが、合計は 130685MB となっています。これは、DCPMM がDRAM として割り当てられない App Direct モードとして設定されており、この領域を使用するには DCPMM をサポートする OS とアプリケーションが必要になります。

Windows® 10 Pro で DCPMM を Memory モードに設定して起動後、大量の malloc を行う簡単なプログラムで 400GB 以上のメモリーを確保し、スワップが発生することなくプログラムを実行できることが確認できました。インテル® VTune™ Amplifier 2019 を使用してプロファイルを行ったところ、PMEM (DCPMM のこと) がアクセスされていることを確認できます。

今回は、DCPMM の装着までを簡単にまとめてみました。次回は、DCPMM をサポートするオペレーティング・システムを使用して、App Direct モードの使用方法を紹介します。

Intel、インテル、Xeon、Intel Optane、VTune は、アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。
Microsoft および Windows は、米国 Microsoft Corporation の、米国およびその他の国における登録商標または商標です。

タイトルとURLをコピーしました