Commit graph

11826 commits

Author SHA1 Message Date
shrekris-anyscale
b00977b1b1
[serve] Remove dashboard's dependency on Serve (#23389) 2022-03-21 22:14:41 -07:00
Eric Liang
f31e4099ed
Add storage-based spilling backend (#23341)
Why are these changes needed?
This adds a ray-storage based spilling backend, which can be enabled by setting the spill config to {"type": "ray_storage", "buffer_size": N}. This will cause Ray to spill to the configured storage (pyarrow FS).

In a future PR, I'll add documentation and deprecate the existing smart_open backend.
2022-03-21 19:17:42 -07:00
Richard Liaw
1fe110f8f4
[ml] Add a starter page for docstrings (#23312) 2022-03-21 17:20:45 -07:00
Kai Fricke
9d8ce1db59
[tune] Fix docstrings according to code style guide (#23375)
According to https://docs.ray.io/en/latest/ray-contribute/getting-involved.html#code-style, typed arguments should not repeat thetypes in the docstrings. This PR removes these annotations and adds further annotations in some places where they were missing before.
2022-03-21 17:57:50 +00:00
Amog Kamsetty
54d1f6c704
[CI] Better error message for fake multi-node cluster (#22647)
Differentiate between a "resources not available" error vs. other types of errors.

Had this happen to me when I was trying out the fake cluster- I was using Ray client incorrectly, but because we were doing a generic except Exception, this was raised as "Timed out waiting for resources"
2022-03-21 17:35:56 +00:00
Edward Oakes
f22a34bd4f
Restore "[Serve] Implement Default DAGDriver (#23301)" (#23373) 2022-03-21 10:35:00 -07:00
Kai Fricke
b64452bc63
[tune] Add multinode sync test (#23229)
This adds a multinode checkpoint/restore test for Ray Tune. This covers some of the functionality of the release tests, but in a more controlled environment. In a follow-up PR, we should test (mocked) cloud checkpointing, too.
2022-03-21 17:02:17 +00:00
Michael (Mike) Gelbart
99d60ef18c
[docs] Fix typos in ray docs contributing guide (#23360)
There are a couple typos in the [Ray contributing guide](https://docs.ray.io/en/master/ray-contribute/docs.html). I fixed the typos, added a relevant link, and reworded a sentence.
2022-03-21 10:01:41 -07:00
Kai Fricke
e48c407b13
[release] long running many drivers: Use SDK file manager (#23379)
This will make the test pass again: https://buildkite.com/ray-project/release-tests-branch/builds/226#_
2022-03-21 09:56:59 -07:00
Guyang Song
69af9764b2
[runtime env] URI reference refactor (#22828)
- Move the URI reference logic from raylet to agent.
- Redefine the runtime env agent RPC to `CreateRuntimeEnvOrGet` and `DeleteRuntimeEnvIfPossible`
- More details https://github.com/ray-project/ray/issues/21695#issuecomment-1032161528

Future works
- We don't remove the `RuntimeEnvUris` from `RuntimeEnv` protobuf in current PR because gcs also uses those URIs to do GC by runtime_env_manager. We should also clear this.
- Ray client server shouldn't interact with agent directly. Or Ray client server should also decrease the reference count.
- Currently, `WorkerPool::HandleJobStarted` will be called multiple times for one job. So we should make sure this function is idempotent. Can we change this logic and make this function be called only once?
2022-03-21 11:21:15 -05:00
shrekris-anyscale
75b7465ba4
[serve] Reject Ray client addresses when submitting via Dashboard (#23339)
Some commands in the Serve CLI use Ray client and some commands ping the Ray dashboard; however, all commands read `RAY_ADDRESS` to get the address. This change raises a nice exception if the user accidentally passes a Ray client address as the Ray Dashboard address.
2022-03-21 11:17:51 -05:00
Jun Gong
d12977c4fb
[RLlib] TF2 Bandit Agent (#22838) 2022-03-21 16:55:55 +01:00
Stephanie Wang
e507aa5758
Revert "[Serve] Implement Default DAGDriver (#23301)" (#23358)
This reverts commit 91a1c3411f.
2022-03-21 10:54:52 -05:00
Larry
81dcf9ff35
[Placement Group] Make PlacementGroupID generate from JobID (#23175) 2022-03-21 17:09:16 +08:00
Jiajun Yao
d3159f201b
[Doc] Add scheduling doc (#23343) 2022-03-20 16:05:06 -07:00
ZhuSenlin
871f749baf
[GCS] [2 / n] Refactor gcs_resource_scheduler to cluster_resource_scheduler (#23323)
* Add new interface to policy for batch scheduling and unify the scheduling result and context

* Remove the dependence of GcsClient on ClusterResourceScheduler

* fix compile error

* fix lint error

Co-authored-by: 黑驰 <senlin.zsl@antgroup.com>
2022-03-20 15:03:14 -07:00
Kai Fricke
7085749d50
[tune] Adjust release test timeouts (#23362)
Currently release tests fail because they exceed the (rather arbitrary) timeout by 1-2 seconds.
2022-03-20 17:05:20 +00:00
Avnish Narayan
e008a48ef2
[release tests] Pin gym everywhere (#23349) 2022-03-19 02:52:54 -07:00
Philipp Moritz
886cc4d674
Fix broken links in documentation and put linkcheck linter in place on CI (#23340) 2022-03-18 21:02:52 -07:00
Simon Mo
91a1c3411f
[Serve] Implement Default DAGDriver (#23301) 2022-03-18 18:07:39 -07:00
Dmitri Gekhtman
561e7a9677
[RELEASE] Add autoscaler env to fix nightly tests (#23345)
The product backend doesn't yet understand that nightly Ray uses GCS-Ray. (This will be fixed when the next time the product control plane is deployed.)
This PR introduces the env required to signal to the product backend that we're using GCS-Ray so that the autoscaler can startup correctly.
2022-03-18 17:48:27 -07:00
Siyuan (Ryans) Zhuang
65cc877ad8
[workflow] Ensure that DAGs are dereferenced like ObjectRefs in Ray tasks (#23320) 2022-03-18 17:02:15 -07:00
Jiao
9b38b6de47
[Serve] [Pipeline] Default all DeploymentNode route_prefix to None, and "/" for the root driver (#23289) 2022-03-18 16:56:49 -07:00
Archit Kulkarni
db2c37c760
[serve] [release] Disable smoke test by default (#23334) 2022-03-18 18:40:48 -05:00
shrekris-anyscale
c668039020
[serve] Restore "Get new handle to controller if killed" (#23283) (#23338)
#23336 reverted #23283. #23283 did pass CI before merging. However, when it merged, it began to fail because it used commands that were outdated on the Master branch in `test_cli.py` (specifically `serve info` instead of `serve config`). This change restores #23283 and updates its tests commands.
2022-03-18 18:40:08 -05:00
Stephanie Wang
5ab634f285
[core] Disable threaded_actors_stress_test (#23292)
* disable

* smoke
2022-03-18 15:57:53 -07:00
Jiao
49e0ab2f58
[Serve] [Pipeline] Use ServeSchema for deployment prevent config got overridden (#23324) 2022-03-18 15:25:32 -07:00
mwtian
909cdea3cd
[Python Worker] add feature flag to support forking from workers (#23260)
Make sure Python dependencies can be imported on demand, without the background importer thread. Use cases are:

If the pubsub notification for a new export is lost, importing can still be done.
Allow not running the background importer thread, without affecting Ray's functionalities.
Add a feature flag to support forking from Python workers, by

Enable fork support in gRPC.
Disable importer thread and only leave the main thread in the Python worker. The importer thread will not run after forking anyway.
2022-03-18 14:47:18 -07:00
Stephen Polcyn
91aa5c4060
Remove experimental warning for Python 3.9 (#22739) 2022-03-18 13:56:42 -07:00
Junwen Yao
8fff665455
[Train] Add torch data prefetch benchmark example (#22974)
Add a benchmark example for the auto pipeline functionality for host to device data transfer.
2022-03-18 13:27:26 -07:00
Eric Liang
c4b52d34ca
Initial PR for internal storage API (#22889) 2022-03-18 12:32:40 -07:00
shrekris-anyscale
87e77bebb4
Revert "[serve] Get new handle to controller if killed (#23283)" (#23336)
This reverts commit 9f6d96a2fd.
2022-03-18 13:47:57 -05:00
Jian Xiao
0b1a2a44c0
[Dataset GA doc] Decompose the monolith of Getting Started page (and get them under User Guide) (#23311)
Improve the Dataset documentation for GA.
2022-03-18 11:25:43 -07:00
Jialing He
4a83bc3dc2
[runtime env] Support set timeout for runtime env setup (#23082)
Interface example:
```python
@ray.remote(runtime_env=RuntimeEnv(..., config=RuntimeEnvConfig(setup_timeout_s=10))
def f(): pass

@ray.remote(runtime_env={..., "config": {"setup_timeout_s": 10}})
def f(): pass
```

Support set timeout second for timeout of runtime environment creation.

Co-authored-by: 捕牛 <hejialing.hjl@antgroup.com>
2022-03-18 12:52:59 -05:00
Archit Kulkarni
76bb5396c7
[Doc] [jobs] Add links to Job Submission and improve doc (#23209)
- Adds links to Job Submission from existing library tutorials where `ray submit` is used.  When Jobs becomes GA, we should fully replace the uses of `ray submit` with Ray job submission and ensure this is tested.
- Adds docstrings for the Jobs SDK, which automatically show up in the API reference
- Improve the Job Submission main page
- Add a "Deployment Guide" landing page explaining when to use Ray Client vs Ray Jobs

Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
2022-03-18 12:52:13 -05:00
Archit Kulkarni
16fd099b8b
[runtime env] Change pip_check default from True to False (#23306)
@SongGuyang @Catch-Bull @edoakes  I know we discussed this earlier, but after thinking about it some more I think a more reasonable default is for `pip check` to be `False` by default.  My guess is that a lot of users (including myself) work inside an environment where `python -m pip check` fails, but the environment doesn't cause them any problems otherwise.  So a lot of users will hit an error when trying a simple `runtime_env` `pip` example, and possibly give up.  Another less important piece of evidence is that we had to set `pip_check = False` to make some CI tests pass in the original PR.

This also matches the default behavior of pip which allows this situation to occur in the first place:  `pip install` doesn't error when there's a dependency conflict; rather the command succeeds, the package is installed and usable, and it prints a warning (which is confusingly titled "ERROR")
2022-03-18 12:51:41 -05:00
shrekris-anyscale
86169d2452
[docs] Fix malformatted list in "Advanced Pattern: Fault Tolerance with Actor Checkpointing" (#23319) 2022-03-18 10:50:13 -07:00
shrekris-anyscale
9f6d96a2fd
[serve] Get new handle to controller if killed (#23283)
`serve shutdown` is not idempotent with the new Serve CLI. When serve shuts down, it kills the controller. The REST API does not refresh its cached controller handle, so it attempts to make requests to a dead actor, which fail.

This change updates the REST API and `serve.start()` to refresh the controller handle if the controller has been killed.
2022-03-18 11:47:18 -05:00
shrekris-anyscale
aaf47b2493
[serve] Implement serve.run() and Application (#23157)
These changes expose `Application` as a public API. They also introduce a new public method, `serve.run()`, which allows users to deploy their `Applications` or `DeploymentNodes`. Additionally, the Serve CLI's `run` command and Serve's REST API are updated to use `Applications` and `serve.run()`.

Co-authored-by: Edward Oakes <ed.nmi.oakes@gmail.com>
2022-03-18 11:12:09 -05:00
Kai Fricke
ca5354ffb1
[ci/release] Fix test_wheels (#23329) 2022-03-18 14:39:36 +00:00
Kai Fricke
3836333aac
[ml/air] Checkpoints serialization/deserialization support (#23275)
This PR adds support for checkpoint ser/de. In particular this is special casing the local data representation, which will be converted into a bytes checkpoint on serialization. This way checkpoint objects sent to remote tasks are guaranteed to always point to a valid data location within the remote task.
We are not detecting pickling to/from disk (e.g. to pickle files) for now.
2022-03-18 13:10:37 +00:00
Kai Fricke
3cf8116df2
[ci/release] Re-enable commit sanity check (#23327)
Commit sanity checks are currently seemingly disabled. This PR re-enables them by parsing wheel URLs.
2022-03-18 12:57:41 +00:00
Sven Mika
b1cda46681
[RLlib] SlateQ (tf GPU + multi-GPU) + Bandit fixes (#23276) 2022-03-18 13:45:16 +01:00
Kai Fricke
da140a80e9
[ci/release] Legacy field should be optional (#23326)
#22749 broke release unit tests by not providing a legacy key - that key should be optional because we will b dealing with non-legacy tests soon.
Additionally, for some reason the unit tests pass on buildkite while they fail locally and in the release test pipeline. I'm investigating this now...
2022-03-18 11:34:05 +00:00
Kai Fricke
e510d81c71
[ci/release] Save test config and results as artifacts (#23278)
It is good to have these information readily available when checking test results, as it will reveal both the original configuration (that could change over time) as well as the achieved results.
Also gets rid of the unneeded old alerts directory.

https://buildkite.com/ray-project/release-tests-branch/builds/190#ef531787-412c-40ec-81e6-beb495830c60
2022-03-18 09:26:42 +00:00
Amog Kamsetty
bb4ff42eec
[ml] TorchTrainer bug fixes + GPU test (#23293)
Co-authored-by: Eric Liang <ekhliang@gmail.com>
2022-03-17 23:49:42 -07:00
Amog Kamsetty
0f9233fc01
[ml] Switch from tune.run to Tuner.fit (#23282)
Co-authored-by: Antoni Baum <antoni.baum@protonmail.com>
2022-03-17 23:48:38 -07:00
Jiao
e02577adb7
[Pipeline] Add and use RayServeLazyHandle for DAG deployment args (#23256) 2022-03-17 22:58:31 -07:00
ZhuSenlin
d3f92cca33
rename gcs_resource_scheduler to cluster_resource_scheduler (#23274) 2022-03-18 13:19:33 +08:00
Jiaxin Shan
f40fe73f4b
[docker] Apply NO_CACHE for development image (#18364) 2022-03-17 22:06:34 -07:00