データをめぐるニーズの進化
コンピューターが出現して以降、プロセッサーとの効率的な情報の受け渡しは常に課題でした。パンチカードの恐ろしいほどの山、磁気テープリール、その後のフロッピードライブに代わって、(当時としては)大量のデータの読み取りと保存を迅速に行える回転式ハードディスクが使われるようになりました。これらのドライブは、1台のコンピューターに接続されていました。コンピューター同士の間でデータを移動したければ、スニーカーネット、その後はFTPが最良の選択肢でした。しかし、こうしたアプローチでは、同じファイルのコピーが多く作られる結果となり、これらの同期を保ったり管理したりするのが困難でした。
1980年代の中盤に、サン・マイクロシステムズの優秀なエンジニア集団がネットワークファイルシステム(NFS)を開発し、ファイルコピーの問題を解決しました。NFSでは、1つの場所に存在するファイルを複数のコンピューターがアクセスします。この場所は、最初のうちは別のコンピューターでした。その後、ネットワーク接続ストレージ(NAS)デバイスがその場所になりました。
データマート、データウェアハウス、そしてデータサイロに代わって登場したデータレイクは、図1に示すように、ネットワークを介してさまざまなユーザーがさまざまな目的でアクセスできる、ブロックアドレッサブルな不揮発性ストレージに存在する大量のデータを表す用語です。
データセットが数メガバイトから数テラバイト、さらに数ペタバイトへと増大するにつれ、ブロックストレージデバイスからインターコネクトを通じてシステムメモリにデータを移動し、演算を実行した後、大容量データセットを元の永続的ストレージに保存するコストが、時間的にも、消費電力(ワット数)の観点からも高騰します。さらに、異なる種類のコンピューティングハードウェアで同じデータセットをアクセスする必要性も増大しています。たとえば、データセットの組み立てと前処理やタスクのスケジューリングには、汎用のCPUを使用できますが、AIモデルのトレーニングには、特化型のコンピュートエンジン(GPUなど)のほうがはるかに高速です。プロセッサーがアクセス可能なメモリに、ストレージから直接、大容量データセットを転送する必要性を減らす、より効率的なソリューションが必要です。
いくつかの企業が、バイトアドレッサブルな大容量の共有可能メモリにデータセットを保存することにより、これらの問題を解決する方向へ業界を動かしました。1990年代には、スケーラブル・コヒーレント・インターフェース(SCI)により、システム内の複数のCPUが一貫性のある方法でメモリにアクセスできるようになりました。ヘテロジニアス・システム・アーキテクチャー(HSA)1仕様により、同じバス上の異なるタイプのデバイス間におけるメモリ共有が可能になりました。2010年から始まる十年間で、高帯域幅、低レイテンシー、一貫性のあるメモリセマンティックなバスプロトコルがGen-Z規格によって提供されました。このような取り組みの結果として成立したのが、現在広く採用されているCompute Express Link(CXLTM)規格です。Compute Express Link(CXL)コンソーシアムが発足して以来、マイクロンは積極的な貢献を続けています。
CXLで共有するゼロコピーメモリ
Compute Express Linkは、時間と電力の節約への道を開きます。新しいCXL 3.1規格では、DRAMのようにバイトアドレッサブルな読み込み-保存-アクセス可能メモリを、低レイテンシー、高帯域幅のインターフェース経由で、業界標準のコンポーネントを使用して、異なるホスト間で共有することができます。
この共有により、以前は高価な独自仕様の機器でなければ不可能だった新しい可能性が開かれます。共有メモリシステムを使用する場合、データを共有メモリに1回読み込めば、複数のホストやアクセラレーターで複数回にわたってパイプライン状に処理することができます。ローカルメモリへのデータのコピー、ブロックストレージプロトコル、レイテンシーによるコストが発生しません。
それだけでなく、一部のネットワークデータ転送が排除されます。たとえば、センサーアレイに接続されたホストによって、共有メモリに徐々にデータを取り込み、保存することができます。メモリにデータが書き込まれた後は、この目的のために最適化された2番目のホストを使用してデータのクリーニングと前処理を実行し、その後、3番目のホストがデータを処理します。その間、最初のホストは2番目のデータセットを取り込んでいます。ホスト間でやり取りする必要のある情報は、処理する準備が整ったデータをポイントするメッセージだけです。大容量データセットの移動やコピーが一切不要なので、帯域幅、エネルギー、メモリスペースが節約されます。
ゼロコピーデータ共有のもう1つの例が、プロデューサー–コンシューマーモデルです。この場合、1台のホストがメモリへのデータ収集を担当し、それ以外の複数のホストが、書き込まれたデータを消費します。前と同じように、プロデューサーは他のホストに対し、消費する準備が整ったデータを知らせる、データのアドレスをポイントするメッセージしか送信する必要がありません。
拡張されたメモリ機能
ゼロコピーデータ共有は、組み込みの処理能力を備えたCXLメモリモジュールによって、さらに強化することができます。たとえば、CXLメモリモジュール上にその全体が存在するデータオブジェクトに対し、反復的な数学演算やデータ変換をモジュールで実行することが可能なら、システムの帯域幅や消費電力を節約できます。ニアメモリコンピュート(NMC)と呼ばれる機能を使用して、メモリモジュールに対し、データがモジュールから離れない状態で一定の操作を実行するよう命令することで、このような節約が達成されます。
さらに、低レイテンシーのCXL構造を活用し、1台のホストから他のホストへ、ホストとメモリモジュールの間で、あるいはメモリモジュール間で、少ないオーバーヘッドで非常に速くメッセージを送信することができます。これらの接続を利用して、ステップを同期化し、プロデューサーとコンシューマーの間でポインターを共有することができます。
NMCと通信上のメリットだけでなく、CXLモジュールに高度なメモリテレメトリーを追加して、ホストプロセッサーに負担をかけずに、共有デバイス上の実際のアプリケーショントラフィック2に関する新たな視野を提供することができます。取得したインサイトを基に、オペレーティングシステムと管理ソフトウェアが運用目標(パフォーマンスやエネルギー消費など)を満たすよう、データの配置(メモリの階層構造)を最適化したり、その他のシステムパラメーターを調整したりすることができます。その他のメモリ集約型の付加価値機能(トランザクションなど)も、NMCに理想的に適合します。
メモリレイク
マイクロンは、大規模なスケールアウト型のCXLグローバル共有メモリおよび拡張されたメモリ機能を、メモリレイクの概念に組み込めることを喜ばしく思います。メモリレイクは、CXL 3.1仕様の新機能による利点を活用するとともに、図2に示されているような、このブログで述べた機能およびその他の機能を追加します。
メモリレイクには以下の特長があります。
- 容量とコストの効率性
- 数百テラバイトから数ペタバイトのグローバルにアドレス指定可能な共有メモリにより、非常に大きいデータセットを非分割でアクセス可能
- 最も重要なデータを常に最速のメモリで保存し、より重要度の低いデータをコスト効率の良いメモリに保存することで、コストとデータの永続性を管理
- 構成可能なトポロジー
- 共有によるパフォーマンス
- コピーが不要な読み込み-保存のセマンティックにより、バイトアドレッサブルなデータを数十台(または数百台)のホストでアクセスできるデータ共有
- 低レイテンシーの実装
- 600ナノ秒未満でデータの読み込みと保存が可能
- CXL構造による同期化(1マイクロ秒未満)
- ニアメモリコンピューティングによるパフォーマンスの高速化
- データがメモリモジュールを離れることのないコンピュート機能(ニアメモリまたはインメモリコンピュート)
- アトミック操作に対するネイティブなメモリモジュールサポート
1 Heterogeneous System Architecture Foundation(hsafoundation.org)
2 D. Boles, D. Waddington and D. A. Roberts, "CXL-Enabled Enhanced Memory Functions"
スケーラブルメモリシステムパスファインディンググループ、マイクロン
アドバンストメモリソリューショングループは、新しいメモリテクノロジーの研究、設計、テストに取り組んでいます。マイクロンのメモリソリューションがメモリテクノロジーの最先端であり続けるために、専門家チームがパートナー、お客様、大学、規格団体と密に連携しています。