Skip to content

Resolving inconsistencies in the API. #525

Closed
@robertnishihara

Description

Right now, there are several inconsistencies in the API. Some of the following may be fine.

  1. We change the way that we call remote functions (versus regular functions), that is f.remote() versus f(). But we do not change the way we instantiate actors (versus regular classes), both are just Class().

  2. We change the way we call remote functions (versus regular functions), that is f.remote() versus f(), but we do not change the way we call actor methods (versus regular class methods). Both are c.method().

  3. The word remote is an adjective, but actor 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.

cc @jacobandreas @pcmoritz @istoica

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions