Description
Right now, there are several inconsistencies in the API. Some of the following may be fine.
-
We change the way that we call remote functions (versus regular functions), that is
f.remote()
versusf()
. But we do not change the way we instantiate actors (versus regular classes), both are justClass()
. -
We change the way we call remote functions (versus regular functions), that is
f.remote()
versusf()
, but we do not change the way we call actor methods (versus regular class methods). Both arec.method()
. -
The word
remote
is an adjective, butactor
is a noun.
There are a handful of options.
A. (addresses 1 and 3) Replace @ray.remote
and @ray.actor
with @ray.task
and @ray.actor
respectively. Call remote functions with f.remote()
. Create actors with Class.remote()
.
B. (addresses 1 and 3) Replace both @ray.remote
and @ray.actor
with @ray.remote
. Call remote functions with f.remote()
. Create actors with Class.remote()
.
C. (addresses 1 and 3) Replace both @ray.remote
and @ray.actor
with @ray.remote
. Call remote functions with f.task()
. Create actors with Class.actor()
.
Note that none of these address problem (2). The issue with (2) is that calling c.method.remote()
or something like that is kind of verbose. There are probably good options that I'm not thinking of right now.