分散RayクラスターへのgVisorサンドボックスの導入 ノート

分散RayクラスターへのgVisorサンドボックスの導入

Reinforcement learningワークフローでは、統合されたコンピューティングランタイムとしてRayの利用が増加しています。しかし、動的なロールアウトや複雑なインタラクションのために、セキュアで分離されたサンドボックスを大規模にオーケストレーションすることがボトルネックとなっています。この問題に対処するため、Rayの実験的なライブラリが導入され、分散Rayクラスタにネイティブで高性能なサンドボックスが直接統合されました。この新しいライブラリは、サンドボックスをRay Actorとして表現し、他のRayリソースと同様に管理できるようにします。Rayスケジューラは、これらのサンドボックスActorの配置とリソース割り当てを処理します。各サンドボックスActorは、指定されたノード上で分離された実行のためにgVisorを利用します。フレームワークの作成者や研究者は、既存のRay APIとパターンを使用して、これらのサンドボックス化された環境を管理できるようになります。サンドボックスAPIは、これらの環境内での作成、設定、コマンド実行のための機能を提供します。また、ファイル操作や状態の検査もサポートしています。より高度なユースケースのために、SandboxRuntimeはローカルgVisorサンドボックスへの直接アクセスを提供し、実行前のカスタマイズを可能にします。gVisorを選択することで、ワークロードとホストカーネルの間に強力な分離境界が提供されます。これらのサンドボックスは軽量で、起動時間は1秒未満、メモリオーバーヘッドも低いため、動的なエージェントワークロードに適しています。Rayの将来のバージョンでは、他のサンドボックスランタイムへのサポート拡張が計画されています。ユーザーはGoogle Kubernetes EngineでRayサンドボックスを試すことができ、GitHubでフィードバックを提供できます。
CdXz5zHNQW_2RT5oca7fM.png