IT용어위키


레이 Raylet

레이 Raylet은 Ray 분산 컴퓨팅 프레임워크의 핵심 구성 요소로, 각 워커 노드에서 태스크 실행과 객체 저장을 관리하는 경량 프로세스이다.

개요

Raylet은 Ray 클러스터 내의 각 노드에서 실행되며, 태스크 스케줄링과 객체 저장소 관리를 담당한다. Ray 0.x 버전에서는 글로벌 스케줄러와 로컬 스케줄러가 분리되어 있었으나, Raylet 구조가 도입되면서 이 기능들이 단일 프로세스에 통합되었다. Raylet은 분산 스케줄러와 오브젝트 스토어를 하나의 프로세스로 구성하여 통신 효율성과 시스템 단순성을 높였다.

구성 요소

  • 로컬 스케줄러(Local Scheduler): 로컬 노드에서 실행 가능한 작업을 수락하고 실행한다. 자원이 부족하거나 작업이 다른 노드에서 더 적절하게 실행될 경우, 다른 노드로 위임한다.
  • 객체 저장소(Object Store): Plasma 기반으로 구현되며, 분산된 캐시 역할을 수행한다. 작업의 입력 및 출력 객체를 저장하고 공유한다.

주요 기능

  • 태스크의 의존성 분석 및 준비 완료 대기
  • 클러스터 내에서 적절한 노드로 작업 분산
  • 작업 결과를 공유 메모리 기반 객체 저장소에 저장
  • 자원 요구사항을 기반으로 스케줄링 의사결정 수행
  • 노드 간 통신 및 글로벌 컨트롤 스토어(GCS)와 메타데이터 연동

작동 방식

  1. 클라이언트로부터 태스크 요청이 들어오면 Raylet은 먼저 필요한 객체가 로컬에 있는지 확인한다.
  2. 객체가 준비되면 태스크를 실행하거나, 다른 노드로 위임한다.
  3. 결과는 로컬 객체 저장소에 기록되며, 필요 시 다른 노드로 전파된다.
  4. 실행 결과는 ObjectRef를 통해 클라이언트에게 전달된다.

같이 보기

참고 문헌

  • Moritz, Philipp et al. Ray: A Distributed Framework for Emerging AI Applications. OSDI 2018.
  • The Ray Team. Ray Architecture Overview. https://docs.ray.io

각주


  출처: IT위키 (IT위키에서 최신 문서 보기)

  * 본 페이지는 IT Wiki에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 IT Wiki에서 확인하세요!