1月、Cloud Native Computing Foundation(CNCF)は、オープンソースのピアツーピア(P2P)ファイル配布およびイメージアクセラレーションシステムにいくつかの重要な機能強化を導入した、Dragonflyバージョン2.2.0のリリースを発表した。
Dragonflyはオープンソースのピアツーピア(P2P)ベースのシステムで、大規模なファイル配布とイメージアクセラレーションの効率を向上させるために設計されている。ピアのアイドル帯域幅を活用することで、イメージやファイル配布、AIモデルの配布、データセットの共有など、さまざまなドメインでデータ配布を加速する。Dragonflyの主な機能には、複数のコンテナランタイムやダウンロードツールの非侵入型サポート、負荷やトラフィックの制限などの設定可能なピア設定、ファイルの一貫性を確保し、例外を隔離してダウンロードの安定性を向上させるメカニズムが含まれる。そのアーキテクチャは、Manager、Scheduler、Seed Peer、Peerなどのコンポーネントで構成され、これらが連携してタスクを管理し、P2Pネットワーク内でのデータ転送を最適化する。
バージョン2.2.0の注目すべき進展は、DragonflyクライアントのRustによる再実装である。この移行により、メモリの安全性が向上し、パフォーマンスが強化され、より堅牢で効率的なクライアント体験が提供される。
更新されたクライアントは、プリフェッチリクエストの帯域幅レート制限をサポートするようになった。この機能により、ネットワークの輻輳を防ぎ、アクティブなダウンロードタスクとの競合を減らし、システム全体のパフォーマンスを最適化する。ユーザーは、proxy.prefetchRateLimit
オプションを通じてこの設定を構成できる。
ダウンロードレート制限
Dragonfly v2.2.0は、クライアントが共有を無効にできるリーチングモードを導入した。この設定では、クライアントはダウンローダーとしてのみ機能し、配布ネットワークに貢献しないため、特定の要件を持つユーザーに柔軟性を提供する。
このリリースには、特にNydusのようなアプリケーションに役立つ、多数の小規模な入出力操作を管理するクライアントのパフォーマンスを向上させるためのいくつかの最適化も含まれる。主な改善点は以下の通りである。
X-Dragonfly-Prefetch
HTTPヘッダーの導入により、範囲リクエストの全タスクプリフェッチを可能にする。- 独立したHTTPプロキシキャッシュの実装により、gRPCサーバーリクエストを減らしてレイテンシを低減する。
- RocksDBのメモリキャッシュサイズの拡張とプレフィックス検索の有効化により、ピースメタデータの取得を迅速化する。
- ハードウェアアクセラレーションを使用したCRC-32-Castagnoliアルゴリズムの採用により、ピースコンテンツのハッシュ計算のオーバーヘッドを低減する。
- gRPC接続の再利用とダウンロードロジックの最適化により、効率を向上させる。
Dragonfly v2.2.0は、より標準化され、明確で、より高性能なP2P転送プロトコルの第2バージョンを定義する。この更新により、P2Pネットワーク内でのデータ転送効率が向上することが期待される。
この新バージョンは、Harbor v2.13との統合を強化し、イメージのP2Pプリヒーティングに焦点を当てている。強化点は以下の通りである。
- マルチアーキテクチャイメージのプリヒーティングをサポートする。
- ユーザー定義のプリヒートスコープにより、単一のSeed Peer、すべてのSeed Peer、またはすべてのPeerから選択してマルチグラニュラリティプリヒーティングを可能にする。
- ユーザーがスケジューラークラスターIDを指定して、希望するDragonflyクラスターにプリヒーティングを指示できる。
これらの改良は、ユーザーがイメージ配布とアクセラレーションタスクの管理において、より多くの制御と効率を得ることが可能だ。
Dragonfly v2.2.0と同様の機能を提供するツールはいくつか存在する。これらは大規模なファイル配布、コンテナイメージのアクセラレーション、およびP2Pデータ転送に対応している。
- BitTorrent は、分散ネットワーク全体で大容量ファイルを効率的に配布するための広く使用されているP2Pプロトコルであり、汎用ファイル共有の代替手段として有効だ。
- JFrog Artifactory は強力なアーティファクトリポジトリマネージャーであり、コンテナイメージ、バイナリ、およびその他のソフトウェアアーティファクトのキャッシングと配布を提供する。
- FastDFS は、小さなファイルのストレージと同期に最適化された軽量のオープンソース分散ファイルシステムであるが、特定のコンテナイメージアクセラレーション機能は備えていない。
- Amazon S3 Transfer Acceleration は、Amazonのグローバルエッジネットワークを活用して大規模なファイル転送を高速化し、すでにAWSを使用している組織にとって理想的だ。
結論として、Dragonfly v2.2.0は、新しいRustベースのクライアント、改良された帯域幅管理、および強化されたHarbor統合を通じてP2Pファイル配布を強化する。BitTorrentやAmazon S3 Transfer Accelerationのような代替手段も存在するが、DragonflyはI/O操作とコンテナイメージアクセラレーションの最適化により、効率的で大規模なファイル配布を必要とするクラウドネイティブ環境に適している。