익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
레이 (분산 컴퓨팅)
편집하기 (부분)
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
==리모트 함수== Remote function은 Ray에서 분산 병렬 처리를 위해 사용하는 기본 단위로, 다음과 같은 현대 애플리케이션 요구사항을 충족한다. *동일한 코드를 여러 코어나 머신에서 실행 가능 *오류 발생 시 자동 재시도 등 내결함성 제공 *큰 파라미터도 효율적으로 처리 가능 *프로세스 간 정보 전달이 용이함 Ray는 함수 호출을 올바른 프로세스로 자동 매핑하여 실행하며, 함수 호출 결과는 곧바로 '''ObjectRef''' 형태로 반환된다. ObjectRef란 실제 결과가 저장될 미래 객체에 대한 일종의 포인터이다. ===실행 방식=== *사용자가 remote 함수를 호출하면, Ray는 작업을 비동기적으로 분산 실행한다. *ObjectRef를 통해 값을 나중에 받아올 수 있으며, ray.get()을 사용하여 결과를 확인한다. *remote 함수는 반드시 다른 머신에서 실행되는 것은 아니며, 같은 노드 내 다른 프로세스일 수도 있다. ===예시 코드=== <syntaxhighlight lang="python"> import ray ray.init() @ray.remote def f(x): return x * x futures = [f.remote(i) for i in range(4)] print(ray.get(futures)) # [0, 1, 4, 9] </syntaxhighlight> === 동작 흐름 === * 함수 호출자는 해당 작업의 '''소유자(owner)'''가 되며, ObjectRef를 관리한다. *작업 제출 시, owner는 인자로 전달된 모든 ObjectRef가 준비될 때까지 대기한다. * 준비 완료되면, 분산 스케줄러에 자원을 요청하고 작업 실행을 위한 워커 주소를 받는다. *[[GRPC (RPC 프레임워크)|gRPC]]를 통해 워커에게 작업 명세를 전달하며, 워커는 작업을 실행 후 결과를 저장한다. **작은 결과는 인라인으로 전달되고, 큰 객체는 local object store에 저장된다. ===오류 처리=== *'''응용 수준 오류''': 예외가 발생하면 해당 예외 객체가 결과로 반환되며, 재시도는 이루어지지 않는다. *'''시스템 수준 오류''': 예를 들어 워커 프로세스가 죽는 경우, 지정된 횟수만큼 자동 재시도된다.<ref>max_retries 옵션을 통해 최대 재시도 횟수를 설정할 수 있다.</ref>
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록