AMDが「Mext」というソフトウェアの売り込みを始めた。Epycサーバー上でDRAMの一部をNVMeフラッシュで代替するもので、AIモデルが「どのメモリページがまもなく必要になるか」を予測し、OSやアプリケーションが気づく前にそのページをメモリへ戻しておく仕組みだ。AMDによれば、DRAMの半分をフラッシュに置き換えても、一部のワークロードでは最大99%の性能を保て、企業向けサーバーのコストは最大83%削減できるという。
Mextはもともと独立した企業で、AMDは今年6月にこの技術を買収した。Mextの元CEOで、現在はAMDのビジネス開発担当バイスプレジデントを務めるGary Smerdon氏は、The Registerの取材に対し、ソフトウェアはすでに最初の145システムに導入されており、同氏の試算では顧客はこれまでにDRAM購入費として約500万ドルを節約できたと語った。
従来のスワップが敬遠される理由
サーバーで「使用中」と表示されるメモリの多くは、実際には使われていない。Smerdon氏はMetaの研究を引用し、メモリページの50%から80%が、5分、10分、あるいはそれ以上アクセスされないままだと述べた。同氏の言葉では「Epycにとって5分は永遠だ」。
コールドなページを安価な媒体へ移すという発想は、OSのスワップやWindowsのページファイルと同じだ。問題は速度にある。Smerdon氏の示す数字では、フラッシュはビット単価がDRAMの約50分の1、消費電力は約30分の1だが、速度は約500倍遅い。従来のスワップは、プログラムがそのページを要求して初めてディスクから取りに行くため、遅延が一気に跳ね上がり、サービスレベル契約(SLA)も守れなくなる。そのため運用現場では、可能な限りスワップを無効にしている。
Mextは、要求が来る前にページを戻しておく。「フラッシュを透過的にDRAMのように見せている」とSmerdon氏は要約する。同氏の例では、本来2TBのメモリを積むはずのEpycサーバーに1TBだけを購入し、残り1TBをMextがフラッシュで補う形にできる。
予測モデルはCPU上でその場で学習
予測を担う中心的なモデルは、Transformerの派生構造だ。Smerdon氏のたとえでは、大規模言語モデルが次の単語を予測するように、このモデルは次に使われるメモリページを予測する。ページがアクセスされる前にDRAMへ戻っていれば、順序が多少前後しても問題ない。
メモリのアクセスパターンはワークロードごとに異なるため、汎用モデルを事前学習するのは現実的でない。そこでMextは、Epycのコア1つで1秒以内に初期モデルを学習させ、その後は稼働しながら再学習を重ね、予測が十分に当たるようになるまで続ける。処理はすべてCPUだけで完結しGPUは不要なので、理論上はどのEpyc顧客でも利用できる。
オーバーヘッドもここにある。The Registerは、仮想化環境ではこのソフトウェアが仮想マシン1台につき1コアを占有し、仮想マシンが増えるほど消費コア数も増えると指摘している。コンテナ環境でも同様かどうかについて、AMDは同誌の問い合わせにまだ回答していない。
性能はワークロードごとに見る必要がある
Smerdon氏はコールドページを移しても「性能にはまったく影響がない」と言うが、AMD自身が公開した実測値はやや控えめだ。
- Synopsys PrimeTime(半導体設計用のEDAツール):メモリの半分をフラッシュに置き換えると、性能はDRAMのみの構成の95%。DRAMを25%、フラッシュを75%にすると80%まで下がる。
- Apache Spark:DRAMの半分をフラッシュに置き換えても、性能は99%を維持する。
EDAソフトは大量のメモリを消費するが、ある瞬間に演算コアが実際に処理しているデータは数MB程度にとどまることが多い。Mextが最初にこの分野で試された理由はそこにある。その後、対応範囲はデータベースやエージェント推論パイプラインなど、遅延に敏感な用途へ広がった。後者の数値は今回公開されておらず、第三者による再検証もまだ出ていない。
サーバー全体のコストをざっと試算する
Smerdon氏によると、大容量メモリサーバーのコストに占めるメモリの割合は、控えめに見て6〜7割、超大容量機では8〜9割に達する。同氏の2TBの例で粗く計算してみる。メモリが総コストの70%を占めると仮定し、DRAMの半分を削って単価が約50分の1のフラッシュに置き換えた場合、Mextのライセンス料を除いて、システム全体のコストは3割強下がる。83%という上限は、メモリの比率がさらに高く、置き換え比率も大きい構成に対応すると考えられるが、AMDは具体的な算出方法を公開していない。
ライセンス料は現時点では不明だ。MextはAMDのハードウェア上でのみ動作し、HPEなどのOEMを通じて、Epycサーバーとともにライセンス形式で販売される予定で、価格は未発表となっている。Linuxではカーネルドライバーを1つ導入するだけでよい。AMDはさらに「RAM View」というツールも提供し、どのマシンやワークロードがMextの有効化に向いているかを企業が判断できるようにする。
AIデータセンターの増設でメモリ不足が続くなか、AMDは「数ポイントの性能と引き換えに、メモリ予算を大幅に圧縮したい」という顧客需要に賭けている。同社の計画では、現在は第1段階で、OEMと協力して機器を「Mext ready」の状態に仕上げる段階にある。第2段階でライセンス販売を開始し、出荷時のEpyc搭載機にRAM Viewをプリインストールする。
参考資料:The RegisterによるGary Smerdon氏へのインタビュー、CocoLoop、Metaのメモリアクセス研究。性能比率、145システムの導入数、83%のコスト削減率はいずれもAMDの数値。