8000 [dask-on-ray] Remove internal Dask API dependencies from the Dask-on-Ray scheduler. · Issue #13560 · ray-project/ray · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
[dask-on-ray] Remove internal Dask API dependencies from the Dask-on-Ray scheduler. #13560
Open
@clarkzinzow

Description

@clarkzinzow

We should remove the internal Dask API dependencies from the Dask-on-Ray scheduler, implementing our own Rayification pass of the Dask graph.

Why

The Dask-on-Ray scheduler currently uses the local Dask scheduler to "Rayify" the Dask task graph, i.e. to turn the Dask task functions into Ray remote functions and properly unpack and repack task dependencies. While this does result in a shorter scheduler implementation, it also comes with a few disadvantages:

  1. The scheduler is relying on Dask internal APIs that may break at any time.
  2. The semantics of the custom callback hooks break, given that they execute at the time of Rayification, not at the time of actual task execution.
  3. It limits our ability to add other nice Ray-specific hooks to the Rayification process.
  4. Given that Ray task submission is so lightweight, all of the extra machinery in the local Dask scheduler is unnecessary overhead for the Rayification pass.

We should create our own version of the local Dask scheduler that's lightweight, adds additional Rayification hooks for callbacks, and purely relies on the Dask scheduler API and the Dask graph spec, not internal Dask APIs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issue, but not time-criticalenhancementRequest for new feature and/or capabilitypending-cleanupThis issue is pending cleanup. It will be removed in 2 weeks after being assigned.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0