1 ポイント 投稿者 GN⁺ 2025-03-01 | 1件のコメント | WhatsAppで共有

Fire-Flyer ファイルシステム

Fire-Flyer ファイルシステム(3FS)は、AIの学習および推論ワークロードの課題を解決するために設計された高性能な分散ファイルシステムです。最新のSSDとRDMAネットワークを活用し、分散アプリケーション開発を簡素化する共有ストレージ層を提供します。

性能と使いやすさ

  • 分離されたアーキテクチャ: 数千台のSSDと数百台のストレージノードのネットワーク帯域を結合し、アプリケーションがローカリティに縛られることなくストレージリソースにアクセスできるようにします。
  • 強力な一貫性: Chain Replication with Apportioned Queries(CRAQ)を実装し、強力な一貫性を提供するとともに、アプリケーションコードをシンプルで理解しやすくします。
  • ファイルインターフェース: トランザクション型キー・バリューストア(例: FoundationDB)を基盤とするステートレスなメタデータサービスを開発しています。ファイルインターフェースは広く知られており、どこでも使われています。新しいストレージAPIを学ぶ必要はありません。

さまざまなワークロード

  • データ準備: データ分析パイプラインの出力を階層的なディレクトリ構造として整理し、大量の中間出力を効率的に管理します。
  • データローダー: コンピュートノード全体で学習サンプルへのランダムアクセスを可能にし、データセットの事前ロードやシャッフルを不要にします。
  • チェックポイント: 大規模学習向けの高速な並列チェックポイントをサポートします。
  • KVCache for Inference: DRAMベースのキャッシングに対するコスト効率の高い代替手段を提供し、高いスループットと非常に大きな容量を実現します。

性能

1. ピークスループット

  • 3FSクラスターの大規模な読み取りストレステストで、最終的な集計読み取りスループット約6.6 TiB/sを達成しました。

2. GraySort

  • 大規模データセットのソート性能を測定するGraySortベンチマークを用いて評価しました。110.5 TiBのデータを8,192個のパーティションにソートするのに30分14秒を要し、平均スループット3.66 TiB/分を達成しました。

3. KVCache

  • LLM推論プロセスを最適化するためにKVCache技術を使用します。デコーダーレイヤーの以前のトークンのキーおよび値ベクトルをキャッシュし、重複計算を回避します。ピークスループットは最大40 GiB/sに達しました。

ドキュメント

  • 設計ノート
  • 設定ガイド
  • USRBIO API リファレンス
  • P 仕様

ソースコードの確認

  • GitHubで3FSリポジトリをクローンしてソースコードを確認できます。

問題の報告

1件のコメント

 
GN⁺ 2025-03-01
Hacker Newsの意見
  • この設計はもともとここで発表されていた: リンク

    • このファイルシステムは数年にわたって開発・運用されてきた
    • 従来のファイルシステムと比べて、モデル学習により特化している
    • ランダムリードが多い場合、読み取りキャッシュやプリフェッチは役に立たない
    • 性能向上のため、これらの機能なしでファイルシステムを設計した
  • 3FSは、AI学習中に計算ノードでサンプルデータを一括読み込みするシナリオで使われる

    • 高速な計算とストレージの相互作用によってモデル学習を加速する
    • 大規模なランダムリードのワークロードであり、読み込んだデータは短時間では再利用されない
    • したがって「読み取りキャッシュ」は使えず、先読みも無意味である
    • 3FSは他のファイルシステムとは実装がかなり異なる
  • 3FSはLinuxベースのAIOとio_uringインターフェースを使ってサンプル読み込みを完了する

    • ファイルキャッシュはまったく効果がなく、システムメモリを消費して後続処理に影響を与える
    • ファイルキャッシュを無効にし、Direct I/Oモードのみを使ってデータを読み取る
    • バッファポインタ、オフセット、長さをアラインする必要がある
    • ユーザー側でアラインすると追加のメモリコピーが発生するため、ファイルシステム内部でアラインを行う
    • 性能を最適化し、ユーザーに利便性を提供する
  • DeepSeekとOpenAI/Anthropicの違いは、実務家と学者の違いの一つでもある

    • OpenAIには世界トップクラスの人材がいるが、技術面の露出が不足している人もいる
  • 分散ファイルシステムは最も厄介なソフトウェアの一つと見なされている

    • FUSEの上であっても、ファイルシステムをゼロから書くなという助言を受ける
    • シリコンバレーの企業が100回目の会議をしている間に、60人未満のチームが高効率な並列ファイルシステムを開発した
  • 関連研究論文: リンク

    • 「Fire-Flyer AI-HPC: ディープラーニングのためのコスト効率の高いソフトウェア・ハードウェア協調設計」
    • ディープラーニングと大規模言語モデルの急速な発展により、計算能力と帯域幅の需要が急増している
    • Fire-Flyer AI-HPCアーキテクチャを紹介し、コストとエネルギー消費を削減する
    • HFReduceを設計してallreduce通信を高速化する
    • Computation-Storage Integrated Networkの輻輳を防ぐための複数の対策を実装した
  • FUSEベースの設計でどうやってその性能を得ているのか気になった

    • FUSEはメタデータ管理に使われており、高性能を得るにはC++クライアントライブラリをリンクする必要がある
    • 汎用用途ではなく、アプリケーションを修正する必要がある
    • それでも巧妙な方法であり、LD_PRELOAD戦略が一般化できるのか気になる
  • OpenAIなどもシステムに深く関与しているが、他ではこうした細やかさを見るのは難しい

    • 素晴らしい仕事であり、DeepSeekが今後さらにすごいことをしてくれることを願う
  • 彼らは間違いなく生産的だ

    • 明日は何が見られるのだろう? DeepSeek OSのようなものだろうか?
  • 現在人気のあるシステムが、どこでどのように不足しているのかが明確ではない

    • データアクセスパターンが従来のユースケースとどう違うのか気になる
  • K8sのようなオーケストレーターへ移植することに利点があるのか気になる

    • 学習には過剰かもしれないが、KVCacheはマルチレプリカ向け推論に有用かもしれない
  • NIH症候群ではないと納得させられる人がいるのか気になる

    • なぜSeaweedFS、Ceph、MinIOではなくこれを使うべきなのか気になる