Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[core] add ray.util.concurrent.futures.RayExecutor #46249

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

judahrand
Copy link

RayExecutor is a drop-in replacement for ProcessPoolExecutor and ThreadPoolExecutor from concurrent.futures but distributes and executes the specified tasks over a pool of dedicated actors belonging to a Ray cluster instead of multiple processes or threads, respectively.

Why are these changes needed?

This change provides an easy way to use Ray for futures, allowing to scale an existing codebase that relies on them.

Related issue number

Checks

  • I've signed off every commit(by using the -s flag, i.e., git commit -s) in this PR.
  • I've run scripts/format.sh to lint the changes in this PR.
  • I've included any doc changes needed for https://docs.ray.io/en/master/.
    • I've added any new APIs to the API Reference. For example, if I added a
      method in Tune, I've added it in doc/source/tune/api/ under the
      corresponding .rst file.
  • I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
  • Testing Strategy
    • Unit tests
    • Release tests
    • This PR is not tested :(

@judahrand judahrand requested a review from a team as a code owner June 25, 2024 10:30
@judahrand judahrand force-pushed the feature/executor branch 3 times, most recently from 8fae11e to 6268074 Compare June 25, 2024 10:44
GuillaumeDesforges and others added 4 commits June 25, 2024 12:01
RayExecutor is a drop-in replacement for ProcessPoolExecutor and
ThreadPoolExecutor from concurrent.futures but distributes and
executes the specified tasks over a pool of dedicated actors
belonging to a Ray cluster instead of multiple processes or threads,
respectively.

Co-authored-by: Mohamed Nidabdella <[email protected]>, Johann Eicher <[email protected]>
Signed-off-by: Guillaume Desforges <[email protected]>
Signed-off-by: Judah Rand <[email protected]>
Signed-off-by: Judah Rand <[email protected]>
Signed-off-by: Judah Rand <[email protected]>
@can-anyscale
Copy link
Collaborator

look like there are test failures + need core team blessing on supporting this public API

Copy link
Collaborator

@can-anyscale can-anyscale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tests are failing; feel free to request again if they are irrelevant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants