AIワークロードで高まるオブジェクトストレージの重要性

AIワークロードのためのSolidigm™ S3 Fuseの調査と概念実証設計

オブジェクトストレージの普及が進んでAIワークロード向けの最上位ストレージソリューションとみなされるようになり、推論だけでなく、AIトレーニングやVectorDBのユースケースもカバーするようになりました。PyTorchやCUDAのようなAIのトレーニングおよび推論フレームワークとシームレスに統合できるファイルシステムでS3をプロキシする需要が高まっています。それに対応するため、業界ではオープンソースプロジェクトs3fs-fuseを提供して、ユーザーがS3ストレージとファイルシステムの橋渡しをできるようにしています。

オープンソースs3fs-fuseの主な問題点

  • メモリ消費量が多い:このオープンソースソリューションは、GetAttrやReadDirのようなファイルシステム操作の結果をキャッシュするために、少なくとも4つのC++ STLマップを使用しています。各マップは1億個のオブジェクトを処理するために32GBのDRAMを必要とするため、1億個のオブジェクトを管理するには、合計約128GBのDRAMが必要になります。
  • スケーラビリティの問題:AIストレージシステムでは何十億個もの小さなオブジェクトを処理する必要があるため、現在のs3fs-fuseの実装では、スケーラブルで将来性のあるクラウドネイティブなAIの導入には不向きです。
  • パフォーマンスのトレードオフ:C++ STLマップは、検索やリスト操作で優れたパフォーマンスを発揮しますが、関連するメモリ消費によりスケーラビリティが制限されます。

Solidigm S3 Fuse設計アーキテクチャーの主な利点

Solidigmのクラウドストレージ高速化レイヤー(CSAL)グループが提案するのは、パフォーマンスSLAを定義したりDRAM使用量を管理したりする際、顧客により高い柔軟性を提供するよう設計された革新的なアーキテクチャーです。SK hynixのCXLメモリモジュール、Solidigm D7-P5810 SLCドライブ、Solidigm D7-PS1010 Gen5 TLCドライブ、Solidigm D5-P5336高密度QLCドライブなどの最先端技術を活用することで、この設計は以下の点を確実にします。

  • スケーラブルなAIストレージシステムのためのリソース使用の最適化。
  • 多様なワークロードの需要に対応するための、パフォーマンスとメモリ消費量のバランス。
  • クラウドネイティブなAIの導入ニーズの高まりに対応する、将来を見据えたスケーラビリティ。

このアーキテクチャーが提供するのは、既存のオープンソースの選択肢による制限に対処し、効率的なAIトレーニングおよび推論ワークフローを可能にする、将来を見据えたソリューションです。

Solidigm S3 Fuseアーキテクチャーは、AIのトレーニングおよび推論フレームワークのためにオブジェクトストレージを使用し、S3ストレージとファイルシステムの橋渡しをします。 図1. Solidigm S3 Fuseアーキテクチャー

Solidigm S3 Fuseアーキテクチャーの概要

1. ユーザーファイルシステムの操作

ユーザーが開始したファイルシステム操作は、まずカーネルのFUSEドライバーによって処理されます。FUSEドライバーは、これらの操作をユーザーモードのサービスにリダイレクトします。このアーキテクチャーでは、Solidigmが開発した概念実証済みのS3 Fuseサービスが、GetAttr、ReadDir、Read、Writeといった主要なファイルシステム操作を管理します。

2. S3 FUSEキャッシュ

Solidigm S3 FUSEキャッシュのキャッシュモジュール設計では、消去アルゴリズムとしてFIFO(First-In、First-Out。先入先出法)を選択しました。FIFOは([3]のLRU消去アルゴリズムとの比較テストで実証されているように)ヒット率が高いだけでなく、基盤となるNAND SSDとの互換性にも優れているためです。SolidigmのCSALソフトウェアとの連携により、NAND SSDの書き込み増幅を大幅に低減できます。実環境でのテストで、書き込み増幅率(WAF)の値が実質的に1まで減少していることを確認しました。

Solidigmの概念実証済みS3 Fuse CSALアペンドキャッシュとS3-FIFO KVストア。 図2. Solidigm CSALアペンドキャッシュとS3-FIFO KVストア

3. GetAttrとReadDirリクエストの処理

これらのリクエストを処理するメタデータコアは、Solidigmが開発した概念実証済みのS3-FIFOキーバリュー(KV)ストアを利用します。SolidigmのCSALアペンドキャッシュとS3-FIFOメカニズムに関する詳しい知見については、リファレンスセクションのリンク1-3を参照してください。

4. メタデータコアと概念実証済みキーバリュー(KV)ストア

メタデータコアは、Solidigmが開発した概念実証済みのKVキャッシュストアをベースに構築しており、概念実証済みのS3-FIFOキャッシュアルゴリズムを採用しています。FIFOとCSALのアペンドキャッシュメカニズムはSSDに最適化されており、効率性が非常に高いです。Solidigm Gen5 NVMe SSD、D7-PS1010は、9.4GB/秒の書き込み帯域幅と14GB/秒の読み取り帯域幅を実現します。FIFO書き込みを利用するようにソフトウェアを設計することで、SSDの書き込み増幅率(WAF)は1に低減し、全帯域幅をユーザーデータで利用できるようになります。その結果、KVストアのプライマリキューは10GB/秒の帯域幅で動作できるようになりました。

5.  KVストア拡張オプション

KVストアの小さなキューは、追加のDRAMや、DRAMに匹敵するレイテンシーでユニットあたり最大96GBを提供するSK hynixのCXLメモリモジュールを使用して拡張できます。 

6. 読み取り要求と書き込み要求の処理

これらのリクエストは、ファイルシステムのチャンクマッピングを取得するためにメタデータコアを利用します。その後、データはFIFOベースの大きなチャンクに書き込まれたり、そこから読み出されたりするため、ユーザーは容量要件に基づいてQLCストレージを選択できます。

7. ローカルホストの最適化

ファイル情報やデータがローカルで利用できる場合、システムはそれらを直接ユーザーに返します。そうでない場合、システムはS3からソースデータを取得します。

パフォーマンステスト

パフォーマンスのベンチマーキングは、Solidigm D7-PS1010 Gen5 TLC SSDによるC++マップとRocksDB構成のマイクロベンチマークテスト[5]を利用して実施しました。その結果、効率とスケーラビリティに大きな優位性があると示されました。

このアーキテクチャーは、SSD使用率の最適化、AIワークロードのスケーラビリティ、柔軟な統合オプションを重視しており、AIストレージの最新の課題に対応する堅牢なソリューションになっています。

未定 表1. テスト構成

Test_KVの結果からの知見

Test_KVのテスト結果で示された主な傾向と観測値は以下のとおりです。

設定のコンテキスト

この分析では、RocksDBを最小限のチューニングでテストしました。メモリ書き込みバッファを利用し、圧縮とブロックキャッシュを無効にして、メモリ使用量を適切に制御できるようにしたのです。さらに微調整を加えれば、一層のパフォーマンス向上が期待できるでしょう。

重要なポイント

  • C++マップのパフォーマンス:C++マップは最高のパフォーマンスを発揮しました。RocksDBに3GBのDRAMを割り当て、メモリテーブルのスキップリストをほぼすべて利用した場合でも、そのパフォーマンスはC++マップの4分の1にしか達しませんでした。スキップリストのトラバーサルは、C++マップの直接アクセスとは性質が異なり、複数のリンクリストを操作することになるため、これは仕方ありません。
  • RocksDBでメモリ節約:3GBのDRAM構成と同等のパフォーマンスを維持しながら、RocksDBのメモリ使用量を削減することで、パフォーマンスSLAを損なうことなく、最大2GBという大幅なDRAMの節約を実現しました。
  • 究極のDRAM効率:RocksDBは100MBのDRAMしか割り当てられていない場合でも、平均レイテンシーを15マイクロ秒に維持しました。この柔軟性のおかげで、システム設計者は特定のユースケースに基づいて、リソースとパフォーマンスSLAのトレードオフを行うことができます。
  • 概念実証済みS3 Fuseの効率性:RocksDBを活用した場合、Solidigmの概念実証済みS3 Fuse設計は、1,000万個のオブジェクトを処理する際に、例えばMinIOリスト操作などのS3リストよりも大幅に高い効率を発揮することが実証されました。
  • これらの結果は、RocksDBがリソース効率とパフォーマンスのバランスをとり、要求の厳しいストレージシステムでスケーラビリティと設定の自由度を実現する可能性をはっきりと示しています。
1,000万件のエントリー 順序なしマップ3.2G(秒)  RocksDB 3G DRAM(秒) RocksDB 2G DRAM(秒)  RocksDB 1G DRAM(秒)  RocksDB 512G DRAM(秒)  RocksDB 100G DRAM(秒) 
挿入 42 59 58 58 64 74
取得 2.24 8.4 8.1 9.7 152.5 152.5
リスト 2.26 1.36 1.34 1.60 2.38 2.36
平均レイテンシー(us) 0.22 0.85 0.8 0.97 15.3 15.3
表2. テスト結果:

Solidigmの概念実証済みFUSE設計に適切なストレージを提供するSolidigmのSSD

S3 Fuseキャッシュの場合、Solidigm D5-P5336の61.44TB QLCドライブは、優れたパフォーマンスとスケーラビリティを提供します。PCIe 5.0 Solidigm D7-PS1010は、チェックポイント書き込みにおいて、世界トップクラスの書き込みパフォーマンスを実現します。


著者紹介

Wayne Gao(ウェイン・ガオ)は、Solidigm の主任エンジニアおよびストレージソリューションアーキテクトです。Solidigm のクラウドストレージ高速化レイヤー(CSAL)に取り組み、初期の開発から商用リリースに至るまで携わってきました。ウェインは20年以上のストレージ開発経験を持ち、米国で4件の特許出願/取得実績があり、EuroSysの論文の著者でもあります。

Yi Wang(イ・ワング)は、Solidigmのフィールド・アプリケーション・エンジニアです。Solidigm入社前は、インテル、Cloudera、NCRで技術職を歴任しました。彼は「Cisco Certified Network Professional」、「Microsoft Certified・Solutions Expert」、「Cloudera Data Platform Administrator」の認定を受けています。

Li Bo(リ・ボー)はSolidigmのシニアストレージ・ソリューションアーキテクトを務めています。20年以上にわたり複数の組織でシステム設計と開発に携わり、特にネットワークおよびストレージ・ソリューションのパフォーマンス最適化を専門としています。近年は、不揮発性ストレージ技術の業界全体への普及に力を注いでいます。

Sarika Mehta(サリカ・メヘタ)は、Solidigmのシニアストレージソリューションアーキテクトであり、インテルのストレージ部門と現在のSolidigmストレージ部門でのキャリアを通じて、15年以上のストレージ経験を有しています。彼女は Solidigm のお客様やパートナー企業との緊密な連携を通して、コストとパフォーマンスを両立するストレージソリューションの最適化に注力しています。  直接接続されたストレージから階層型および非階層型の分散ストレージソリューションまで、さまざまなストレージ導入における、SolidigmのSSDのチューニングと最適化を担当しています。さらに、検証、パフォーマンス・ベンチマーク、パスファインディング、テクニカル・マーケティング、ソリューション・アーキテクチャーの多様なストレージの経歴を持っています。

Jie Chen(ジェ・チェン)はSolidigmのテクニカルマーケティングアーキテクトであり、特にデータ配置モードとストレージAIにおいて、クラウド顧客向けのエコシステム実現を担当しています。Solidigm入社前は、アプリケーションエンジニア、品質信頼性、製品開発エンジニア、各種フラッシュメモリおよび永続性メモリ製品のプログラムマネージャーなど、さまざまな技術的役割を担っていました。

参考資料

  1. Solidigm FMS 2024 CSALアペンドキャッシュのプレゼンテーション資料: https://files.futurememorystorage.com/proceedings/2024/20240807_CLDS-202-1_Malikowski.pdf 
  2. Solidigm S3-FIFO KV: sldmsln-open/S3FIFOKV
  3. SOSP2023の論文: Home - S3-FIFO: Simple, scalable and efficient caching
  4. Solidigm S3 FuseのGitHubロケーション:https://github.com/sldmsln-open/scratchs3fuse
  5. マイクロベンチマークテスト: https://github.com/google/benchmark
  6. CSALと概念実証済みS3 FUSE設計に関するお問い合わせ先: dl_csal@solidigm.com

免責条項

記事中で言及したコードはテストコードであり、通常の検証は行っていません。このコードはアーキテクチャーを検証するためのものであり、本番用ではありません。ユーザーは、このコードを自分の環境で使用する場合、そのリスクに責任を負います。

すべての製品計画、ロードマップ、仕様、および製品説明は、予告なく変更されることがあります。 
  
本資料に記載した内容はすべて、明示されているか否かにかかわらず、いかなる保証を行うものでもありません。ここにいう保証には、商品適格性、特定目的への適合性、および非侵害性の黙示の保証、ならびに履行の過程、取引の過程、または取引での使用から生じるあらゆる保証を含みますが、これらに限定されるわけではありません。 
  
本書で説明されている製品には、「エラッタ」と呼ばれる設計上の不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、Solidigmまでお問い合わせください。 
  
製品をご注文される前に最新の仕様をご希望の場合は、Solidigm の担当者または販売代理店にお問い合わせください。 
  
本書や本書で参照している文書、またはその他のSolidigm文献のコピーをご要望の場合は、Solidigmの担当者にお問い合わせください。 
    
記載されているすべての製品、コンピューターシステム、日付、および数値は、現在の予想に基づくものであり、予告なく変更されることがあります。 

Solidigm製品は、予告なく仕様や説明が変更されることがあります。設計者は、「留保」または「未定義」と記されているものについて、機能または指示の欠損や特徴に依拠してはいけないものとします。Solidigmは、将来の定義のためにこれらを保持し、これらを将来の変更により生じた矛盾や非互換性については一切の責任を負いません。この情報は予告なく変更されることがあります。この情報のみに基づいて設計を最終的なものとしないでください。

テストでは、特定のシステムでの個々のテストにおけるコンポーネントのパフォーマンスを文書化しています。ハードウェア、ソフトウェア、システム構成などの違いにより、実際のパフォーマンスは掲載されたパフォーマンステストや評価とは異なる場合があります。購入を検討される場合は、他の情報も参考にして、パフォーマンスを総合的に評価することをお勧めします。 
  
パフォーマンスの測定結果は構成情報に記載された日付時点のテストに基づいています。また、現在公開中のすべてのセキュリティアップデートが適用されているとは限りません。詳細については、公開されている構成情報を参照してください。絶対的なセキュリティを提供できる製品やコンポーネントはありません。 
  
Solidigmまたはインテルのコンパイラその他の製品に対するSolidigmまたはインテルの最適化については、Solidigmまたはインテル以外の製品では同等の最適化パフォーマンスが得られない場合があります。Solidigmまたはインテルのテクノロジーでは、有効化されたハードウェア、ソフトウェア、またはサービスのアクティベーションが必要となる場合があります。 
  
実際のコストと結果は状況によって異なる場合があります。 
  
Solidigm は、サードパーティーのデータについて管理や監査を行っていません。他の情報も参考にしてデータの正確さを評価してください。 
  
一部の結果はSolidigm社内の分析、アーキテクチャーシミュレーション、モデリングを使用して評価またはシミュレートされたものであり、情報提供のみを目的としています。システムのハードウェア、ソフトウェア、構成などの違いにより、実際のパフォーマンスは掲載されたパフォーマンステストや評価とは異なる場合があります。

© Solidigm 2025. SOLIDIGMおよびSolidigmの「S」のロゴは、米国、中華人民共和国、台湾、香港、シンガポール、欧州連合、英国、メキシコ、およびその他の国で登録されている、SK hynix NAND Product Solutions Corp(商号Solidigm)の商標です。