분산 Ray 클러스터에 gVisor 샌드박스 도입
강화 학습 워크플로우는 점점 더 Ray를 통합 컴퓨팅 런타임으로 활용하고 있습니다. 그러나 동적 롤아웃 및 복잡한 상호 작용을 위한 안전하고 격리된 샌드박스를 대규모로 오케스트레이션하는 것이 병목 현상이 되었습니다. 이를 해결하기 위해 Ray를 위한 실험적인 라이브러리가 도입되었으며, 분산 Ray 클러스터에 직접 고성능 네이티브 샌드박싱을 통합했습니다. 이 새로운 라이브러리는 샌드박스를 Ray Actor로 표현하여 다른 Ray 리소스처럼 관리할 수 있도록 합니다. Ray 스케줄러는 이러한 샌드박스 Actor의 배치 및 리소스 할당을 처리합니다. 각 샌드박스 Actor는 지정된 노드에서 격리된 실행을 위해 gVisor를 활용합니다. 프레임워크 작성자와 연구자는 이제 기존 Ray API 및 패턴을 사용하여 이러한 샌드박스 환경을 관리할 수 있습니다. 샌드박스 API는 이러한 환경 내에서 생성, 구성 및 명령 실행을 위한 기능을 제공합니다. 또한 파일 작업 및 상태 검사도 지원합니다. 더 고급 사용 사례의 경우 SandboxRuntime은 로컬 gVisor 샌드박스에 직접 액세스할 수 있도록 하여 실행 전에 사용자 정의할 수 있습니다. gVisor를 선택하면 워크로드와 호스트 커널 간에 강력한 격리 경계를 제공합니다. 이러한 샌드박스는 가볍고 시작 시간이 1초 미만이며 메모리 오버헤드가 낮아 동적 에이전트 워크로드에 적합합니다. Ray의 향후 버전에서는 다른 샌드박싱 런타임에 대한 지원을 확장할 계획입니다. 사용자는 Google Kubernetes Engine에서 Ray 샌드박싱을 시도하고 GitHub에서 피드백을 제공할 수 있습니다.