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

LIN-632, LIN-618 Ray Integration #862

Merged
merged 8 commits into from
Dec 23, 2022
Merged

LIN-632, LIN-618 Ray Integration #862

merged 8 commits into from
Dec 23, 2022

Conversation

andycui97
Copy link
Contributor

@andycui97 andycui97 commented Dec 20, 2022

Description

Adds support for ray dags. Setting framework= RAY in to_pipeline now produces a dag file that can be run using ray.

Ray DAGS currently use .remote() instead of the new alpha workflow API with .bind().

No setup and teardown tasks are added because Ray also does not have a mechanism to specify execution order to allow them to be run in the correct places.

All sink nodes in the graph are materialized since RAY does not have a "run whole dag" API

Fixes # (issue)

LIN-632, LIN-618

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Snapshot and e2e tests added following airflow example including a new github action to run Ray tests.

Copy link
Contributor

@lionsardesai lionsardesai left a comment

Choose a reason for hiding this comment

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

looks good. please run the housing example with inter task communication for sanity checks and then merge.

@andycui97
Copy link
Contributor Author

looks good. please run the housing example with inter task communication for sanity checks and then merge.

Done, synced up and made sure housing example with inter task communication works.

@andycui97 andycui97 merged commit 4520e37 into main Dec 23, 2022
@andycui97 andycui97 deleted the ray_andycui97 branch December 23, 2022 21:51
lazargugleta pushed a commit to lazargugleta/lineapy that referenced this pull request Dec 28, 2022
# Description

Adds support for ray dags. Setting framework= RAY in to_pipeline now produces a dag file that can be run using ray.

Ray DAGS currently use `.remote()` instead of the new [alpha workflow](https://docs.ray.io/en/latest/workflows/index.html) API with `.bind()`. 

No setup and teardown tasks are added because Ray also does not have a mechanism to specify execution order to allow them to be run in the correct places.

All sink nodes in the graph are materialized since RAY does not have a "run whole dag" API

Fixes # (issue)

LIN-632, LIN-618 

## Type of change

Please delete options that are not relevant.

- [X] New feature (non-breaking change which adds functionality)

# How Has This Been Tested?
Snapshot and e2e tests added following airflow example including a new github action to run Ray tests.
andycui97 added a commit that referenced this pull request Jan 6, 2023
# Description

Adds new RAY workflow as the default for RAY pipelines. This change modifies the behavior described in #862 

* Ray now supports `use_workflows`, setting to True (which is also default) uses the new [Ray workflows API ](https://docs.ray.io/en/latest/workflows/index.html)
* Adds ability to configure the runtime_env and storage options in ray.init()
* Updated tests since some workflows are not representable in new Ray workflows API

Fixes LIN-738

## Type of change

Please delete options that are not relevant.

- [X] New feature (non-breaking change which adds functionality)

# How Has This Been Tested?
Ray tests updated. 
Run with housing example using both "use_workflows" as True and False to ensure both new and old DAGs run. 

[LIN-738]: https://linea.atlassian.net/browse/LIN-738?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
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.

2 participants