高速ストレージのためのColossus
(cloud.google.com)> 「Colossusのステートフル・プロトコル」は、Rapid Storageの高性能を実現する秘密の材料
- Google Cloud Storageは、シンプルさと拡張性の高さから広く利用されている
- 従来のRESTベースのステートレス・プロトコルは使いやすい一方で、AIやデータ集約型ワークロードではレイテンシとファイル中心機能の不足が問題となる
- Rapid StorageはステートフルなgRPCストリーミング・プロトコルを導入することでこの問題を解決し、オブジェクトストレージの拡張性とスループットはそのまま維持する
Colossusベース・アーキテクチャの強み
- ColossusはGoogle内部のクラスタレベル・ファイルシステムであり、高性能製品の基盤技術である
- ステートフル・プロトコルを用いることで、超低レイテンシのデータ読み書きをサポート
- クライアントはファイルを開いて**ハンドル(handle)**を受け取り、これを通じて直接ディスクと通信できる
- RDMA類似プロトコルを活用して高速アクセスを可能にし、SSD最適化および並列書き込み技術を適用
- 耐久性が求められるログ書き込みやストリーミング分析ワークロードに適している
Colossusステートフル・プロトコルの動作方式
- ファイルをappendモードで開くと、Curatorがハンドルを生成してクライアントに渡す
- アプリケーションはログデータをクライアントに書き込み、クライアントはハンドルを使って複数のディスクに並列書き込みを実行する
- データを耐久的に保存するため複数のディスクに複製し、クォーラムベースの書き込みでレイテンシを最小化する
Rapid Storageの性能と活用例
- Cloud Storageクライアントは、gRPCストリーム生成時に認証とメタデータアクセスを事前処理する
- その後の読み書きはColossusに直接接続されるため、超低レイテンシを維持する
- 1バケットあたり毎秒2,000万リクエストを処理可能 — 大規模なAI/MLワークロードに適している
-
AI/ML学習に最適化された設計
- 数億〜数十億トークンを含む大規模データファイルを非順次に読み取るのに理想的
- 学習開始時にストリームを生成し、並列レンジリードを超低レイテンシで実行できる
- 学習中にストレージの遅延なくデータサンプルを高速に供給できる
-
安全で効率的なappend処理
- 1つのオブジェクトに対して無制限にappend可能(オブジェクトサイズ制限内)
- ハンドルにより、ストリームが中断されても再接続後に読み書きを継続できる
- 1度に1つのストリームのみがオブジェクトに書き込み可能 — 新しいストリームが以前のストリームをトランザクション方式でロックする
- 各appendは書き込みオフセットを明示してデータ整合性を保証する
Rapid Storageの統合とAPI
- gRPCベースのappend機能をサポートするようSDKを更新中
- Cloud Storage FUSEに統合され、ファイルシステムのようにCloud Storageバケットへアクセス可能
- Hierarchical Namespaceとも連携し、性能と一貫性を強化、フォルダベースのAPIをサポート
Rapid Storageの複合的な利点
- ブロックストレージ級の超低レイテンシ
- 並列ファイルシステム級の高スループット
- オブジェクトストレージの拡張性と手軽さも提供
2件のコメント
Colossusはかなり良いと言われていますが、実際に社内で使っている方々の感想が気になりますね。
Hacker Newsのコメント