본문 바로가기

728x90
반응형

ray core

[Ray] 2-3. Ray Core: Objects 예제 Objects task와 actor는 object를 생성하고 계산하는데 이 object를 remote objects로 언급한다. 왜냐면 이것들은 ray 클러스터 어디에나 저장될 수 있기 때문이다. object refs를 사용해 remote objects를 참조한다. object ref는 필수적으로 포인터나 id를 가지고 있다. 이 id는 remote object의 값을 보지 않더라도 참조할 때 사용된다. object refs는 아래 두가지 방법으로 생성될 수 있다. 1. remote function 호출 2. put(docstring)을 사용한 반환 Fetch Object Data get 함수를 사용해서 object ref로부터의 remote object의 결과를 가져올 수 있다. 만약 현재 노드의 ob.. 더보기
[Ray] 2-2. Ray Core : Actors 예제 Actors Actors는 RAY API에서 함수가 클래스로 확장된 개념이다. 새로운 actor가 생성되면 새 worker가 생성되고, actor의 method는 특정 worker에 스케쥴링되어 접근 및 사용될 수 있다 import ray import time ray.shutdown() ray.init() @ray.remote class Counter(): def __init__(self): self.value = 0 def increment(self): self.value += 1 return self.value def get_counter(self): return self.value counter = Counter.remote() Specifying required resources @ray.remo.. 더보기
[Ray] 2-1. Ray Core: Tasks 예제 Tasks Ray는 별도의 파이썬 작업자에서 임의의 함수를 비동기적으로 실행할 수 있다. 그런 기능을 ray remote function이라고 하고 비동기식 호출을 ray tasks라고 한다. import ray import time ray.shutdown() ray.init() def normal_function(): return 1 # @ray.remote 데코레이터를 붙임으로써 ray remote function으로 정의할 수 있음 @ray.remote def my_function(): return 1 # 위의 remote function을 적용하기 위해 'remote' method 사용 # 이는 즉각 object ref(미래시점에)을 반환하고 task를 생성한다. obj_ref = my_funct.. 더보기
[Ray] 2. Ray Core Ray Core란? 분산 어플리케이션을 만들기 위해 제공된 핵심 요소들 (i.e., tasks, actors, objects) Key Concept Tasks Ray는 분산된 파이썬 작업들을 비동기로 실행할 수 있는 함수를 제공하는데, 이 비동기 함수를 'tasks'라고 부른다. Ray를 사용하면tasks가 CPUs, GPUs, 사용자 요구 측면에서 자원을 지정할 수 있다. 이 리소스 요청은 병렬 처리를 위해 clueter scheduler가 task를 분배할 때 사용된다. ( Actors 함수에서 클래스로 Ray API가 확장된 것이다. actor는 필수적으로 stateful(네트워크 연결 상태를 추적할 수 있는) 작업이나 서비스이다. 새로운 actor 객체가 생성되면, 새로운 작업이 생성되고, act.. 더보기

728x90
반응형