「ディスアグリゲーテッドコンピューティング」とは何か? (4)

執筆者 : 佐藤 友昭


「ディスアグリゲーテッドコンピューティング」=「一次記憶の共有」という側面に注目している。
かつて二次記憶の共有が可能になり、現在稼働しているソリューションの多くは共有ストレージの上に構築されている。
Network Attached Storage (NAS) や Storage Area Network (SAN) といったストレージ共有基盤を構成する様々なハードウェアやソフトウェアが登場した。
これを当てはめれば、一次記憶の共有が可能になることで、ソリューションは共有メモリ基盤の上に構築されるようになるし、共有メモリ基盤を構成するハードウェアやソフトウェアが登場することになる。

「一次記憶の共有」の背景には、計算対象データ量の指数関数的な増大がある。
プロセッサコア数を追加し、サーバ内蔵メモリを追加する従来アプローチではこれに対応することが困難となった。
主な課題はデータ入出力帯域の不足とシステム価格の上昇およびメモリ使用効率の低下と言われている。
近年すでに、プロセッサコアあたりのメモリ帯域は低減傾向にある。
また、サーバ内蔵メモリ量に比例したペースでサーバのストレージやネットワークのI/O性能を追加することは困難である。
サーバ内蔵メモリを追加することでメモリ部品のコストがシステム価格の大半を占めるようになるが、ワークロードに波がある場合、費用対効果は低減する。
そこで、ホスト(CPUやアクセラレータ)間で共有可能なメモリの層を追加するアプローチが提案されている。
プロセッサコアとメモリを個別にスケールさせることでプロセッサコアあたりのメモリ帯域をバランス可能とし、「メモリごと」ホスト間でデータを共有可能することでストレージやネットワークのI/Oの機会を減らすと同時にワークロードの波に応じてホスト間でメモリリソースを融通可能とし、費用対効果を維持すると言う。

実際のところはどうなのであろうか。

「一次記憶の共有」の話は過去にもあった。
例えば、リモートホストにあるIntelのOptane Persistent Memory Module (PMEM)をRemote Direct Memory Access (RDMA) ネットワークを介して共有する話である。
2018年の OpenFabrics Alliance (OFA) ワークショップでの "OFA Think Tank Session: Remote Persistent Memory" というセッションを YouTube *1 視聴されたい。
ここでは、「リモート PMEM を RDMA ネットワークで共有できるとしたら、どのような使い方をしたいか」というブレインストーミングから始まっている。
登場するテクノロジからユースケースの議論を呼びかけ、そこから要件を抽出し、仕様反映を含むイノベーションへと導く。
その後の数年間で、Microsoft の Tom Talpey 氏を中心に InfiniBand Trade Association (IBTA) や Peripheral Component Interconnect Special Interest Group (PCI-SIG) での仕様策定が行われ、現在では IBTA 1.5 仕様に対応した NVIDIA ConnectX-7 等の RDMA NIC (RNIC) で PMEM 対応がされているようである。
(実際のところはメーカに確認する必要がある。なお、2022年に Intel は Optane ビジネスをクローズしている。)

今回の「一次記憶の共有」の話のスコープは前回よりも格段に広い。
登場しつつあるテクノロジや議論されているそのユースケースを調査するために、昨年(2023年)の夏から年末にかけて、YouTube で公開されている講演 174 本を 1,970 ページにドキュメント化した。(1ページ=1,800文字)
講演内容は著作権者のものなのでここで共有することはできないが、本稿ではこれから講演動画を視聴される方のために略語リスト*2 を提供したい。
ここで言う略語とは、上記の NAS, SAN, PMEM, RDMA, OFA, IBTA, PCI, SIG 等のことである。1,144 個の略語が抽出された。
講演は話し言葉で行われるため、登場する略語が何の略かは説明されないことが多く、馴染みのない略語が理解の妨げになりがちと感じた。
1,144 個のうち 20 個は筆者には何の略か分からなかったので Definition 欄を記載していない。略語を正しく聞き取れていない可能性もある。
一方、略語の登場頻度は重要度の指標としての参考になりそうなので略語毎に登場する講演数を記載した。
講演数のトップ10は以下のとおり。

Term/Acronym Definition 講演数
CXL Compute Express Link 145
CPU Central Processing Unit 120
PCIe Peripheral Component Interconnect Express 98
AI Artificial Intelligence 86
DRAM Dynamic Random Access Memory 82
PCI Peripheral Component Interconnect 72
GPU Graphics Processing Unit 67
OCP Open Compute Project 61
DDR Double Data Rate 51
NUMA Non-Uniform Memory Access 50

また、略語リストと一緒に、登場する略語数順の講演リスト 3 を提供したい。
筆者は 174 本の講演を、なかば手当たり次第で視聴したので相当の時間を要したが、下記のリスト順に視聴すると効率的に(短時間で)内容を網羅できるのではないかと想像する。
略語数のトップ10は以下のとおり。なお、講演リスト
3には略語数ではなく登場略語を記載している。

タイトル ソース 内容 略語数
HC34-T1 CXL https://youtu.be/pHuHUeSmGGk Hotchips34 チュートリアル 1 - CXL (2022/8/21 hotchipsvideos) 99
Introduction to CXL (2023FMS) https://youtu.be/eS5fHdg46nU Flush Memory Summit 2023 での CXL チュートリアル(2023/8/7 CXL Consortium) 97
DC-MHS Peripheral Out-of-Band Management Evolution https://www.youtube.com/watch?v=LF_8JZ1UKAs OCP DC-MHS での Dell, HPE, IBM, Intel による Out-of-Band インターフェイスに関する問題や課題に関する講演(2023/11/02 Open Compute Project) 56
Samsung AI-cluster system with HBM-PIM and CXL-based Processing-near-Memory for Transformer-based LLMs https://youtu.be/07JjXXd-0ao?si=SFHZ2BJhpn4kBe1-&t=1830 HotChips2023 での Jin Hyun Kim (Samsung) による CXL-PNM (Processing-near-Memory) に関する講演(2023/12/04 hotchipsvideos) 54
The History of PCI IO Technology 30 Years of PCI-SIG® Innovation https://youtu.be/_2mdkXvzu_0 初代 PCI バスから 6 世代にわたる PCI Express までの技術の変遷(2023/4/25 PCI-SIG) 53
CSS-Genesis Arm’s Neoverse N2 platform, delivered to partners as a fully verified, customizable compute sub-system https://youtu.be/g3-4K1UCpoU?si=1u9euyD6hNL4-73T&t=1932 HotChips2023 での Anitha Kona (ARM) による Neoverse N2 CPU に関する講演(2023/12/04 hotchipsvideos) 49
The UCIe™ 1.1 Specification Future Applications of Chiplets Webinar https://youtu.be/ZcqVUo5cWDU UCIe 1.0 の概要と UCIe 1.1 について(2023/10/12 UCIe Consortium) 48
SDC 2023 - PCIe® 7.0 Specification 128 GTs Bandwidth for Future Data-Intensive Markets https://youtu.be/HCfM1d-M1uE PCIe 7.0 仕様について (2023/10/23 SNIAVideo) 47
Panel Composable Memory Systems using CXL https://www.youtube.com/watch?v=hHnLyIouQg4 OCP CMS での CXL の進化と未来への展望に関するパネルディスカッション(2023/11/02 Open Compute Project) 46
CXL 1.1 vs. CXL 2.0 – What’s the difference https://youtu.be/w2cZn-Tzrmo CXL1.1 と CXL2.0 の違い(2022/6/14 CXL consortium) 45

今後、「一次記憶の共有」が可能なソフトウェア開発・評価環境に関する情報を発信したいと考えている。
一人でも多くの方に興味を持っていただき、何らかの形でイノベーションに参加していただけると幸いである。

(1) YouTube
(
2) 略語リスト
(*3) 講演リスト