Commit graph

10724 commits

Author SHA1 Message Date
architkulkarni
15391026c1
add bazel build OOM tip to docs (#20833) 2021-12-06 21:34:27 -08:00
Eric Liang
5d5ca8fed4
[dataset] Reduce memory usage during .to_pandas() (#20921)
We shouldn't ray.get() all the blocks immediately during the to_pandas call, it's better to do it one by one. That's a little slower but to_pandas() isn't expected to be fast anyways.
2021-12-06 18:17:16 -08:00
Balaji Veeramani
17b6130f9f
[Train] Clarify Session.get_next docstring (#20877)
This PR addresses two issues an issue with the Session.get_next docstring:

It's unclear whether the tense should be imperative or non-imperative. The Ray documentation states that we use Google style (which is non-imperative), but we are formatting using PEP8 (which is imperative). Moreover, we use both imperative and non-imperative summaries across the Ray Train code. I've stuck with a non-imperative summary for consistency with the rest of the Session class.
The docstring doesn't describe the conditions under which the function returns None.
2021-12-06 17:26:25 -08:00
Dmitri Gekhtman
10ed6765c7
[Autoscaler] Add autoscaler update time prometheus metric. (#20831)
It's useful when measuring autoscaler performance to know how long the autoscaler takes for update iterations.
This PR adds a prometheus metric for that. 

The bucket ticks for the histogram are arranged in powers of ten: 
[.001, .01, .1, 1, 10, 100, 1000]. Depending on the situation, we've seen the update time range from .1 second to a few minutes.
2021-12-06 11:55:07 -08:00
shrekris-anyscale
2d58664f98
Add Pydantic validation to Serve AutoscalingConfig class (#20779) 2021-12-06 11:51:02 -08:00
Chen Shen
b9a418352b
[Core][Refactor CoreWorker 3/n] split static function from CoreWorkerProcess (#19678)
Separate the CoreWorkerProcess static functions from CoreWorkerProcess state; Currently the static and non-static state are mixed together, and more importantly the static state is not thread safe. By separating them and create helper class for non-static state CoreWorkerProcessImpl, we can make it thread safe.

in follow up PR we will make CoreWorkerProcess state thread safe.

This PR depends on #19677, The follow up PR is #19679
2021-12-06 11:12:21 -08:00
Jiao
e065f2e30a
[Jobs] Update CLI examples to use the same setup (#20844) 2021-12-06 12:15:17 -06:00
architkulkarni
c024d984e5
[runtime_env] Parse local conda/pip requirements files before sending runtime env to Ray Client Server (#20885) 2021-12-06 12:04:22 -06:00
Chen Shen
a628182cf5
[nighly-test] update cuj2 to reflect latest change #20889
we fixed groupby issue in cuj2; sync the change into nightly test. this test doesn't need to use gpu at all. it returns soon after data ingestion finishes.
2021-12-06 09:59:21 -08:00
Avnish Narayan
b8c64480d8
[RLlib] Change return type of try_reset to MultiEnvDict (#20868) 2021-12-06 14:15:33 +01:00
Kai Fricke
b3a9d4d87d
[ci/release] Remove quotation marks from pip installs (#20638)
Quotation marks were needed in Anyscale app configs to avoid install errors when # were used e.g. in URLs.
Since this has been fixed on the Anyscale side, we can get rid of these.
2021-12-05 17:57:08 -08:00
Siyuan (Ryans) Zhuang
3285bb6b9f
[train] Fix assertion in test (#20893) 2021-12-05 17:47:43 -08:00
Sven Mika
b4790900f5
[RLlib] Sub-class Trainer (instead of build_trainer()): All remaining classes; soft-deprecate build_trainer. (#20725) 2021-12-04 22:05:26 +01:00
Sven Mika
60b2219d72
[RLlib] Allow for evaluation to run by timesteps (alternative to episodes) and add auto-setting to make sure train doesn't ever have to wait for eval (e.g. long episodes) to finish. (#20757) 2021-12-04 13:26:33 +01:00
Kai Fricke
d4413299c0
Revert "[Core] Support back pressure for actor tasks (#19936)" (#20880)
This reverts commit a4495941c2.
2021-12-03 17:48:47 -08:00
Jiao
1e67bdfcec
[jobs] Add headers field to JobSubmissionClient and apply to all requests (#20663) 2021-12-03 18:44:30 -06:00
architkulkarni
ac911d6b51
[runtime_env] Change error log to debug log (#20875) 2021-12-03 18:21:43 -06:00
xwjiang2010
b0c56c8f9b
[tune] Fix testResourceScheduler and testMultiStepRun. (#20872)
This commit fixes flaky tests by relaxing strictly deterministic trial runner behavior constraints.
2021-12-03 16:07:52 -08:00
Amog Kamsetty
611bfc1352
[ML] Move find_free_port to ml_utils (#20828)
Small refactoring of common utility used by Train, Tune, and Rllib.
2021-12-03 13:38:42 -08:00
runedog48
c432815b10
Fix argument typo in post_mortem method (#20871) 2021-12-03 10:27:12 -08:00
xwjiang2010
368da1742b
[tune] Enforce one future at a time for any given trial at any given time. (#20783)
Also enforce disabling (instead of allowing user to override this) buffer training when checkpoint_at_end is used.
2021-12-03 08:14:12 -08:00
xwjiang2010
205d1e9d1f
remove on_pause/on_unpause (#20822) 2021-12-03 08:13:17 -08:00
DK.Pino
4ef0d4a37a
[Java] [Placement Group] Make class PlacementGroupImpl serializable (#20759) 2021-12-03 13:06:17 +08:00
Matti Picus
442943572b
DOC, BUILD: limit bazel resource usage with BAZEL_LIMIT_CPUS and document it (#20845)
So I have a AMD machine with many cores and 32GB of memory. When I do `pip install -e .`, my machine crashes since bazel tries to use all the cores, but quickly runs out of memory. It seems there is no native way to set environment variables to tell bazel to limit its resource consumption, but there is a `--local_cpu_resources` command-line option.

This PR exposes that to the `pip install` via an environment variable. I also went through the setup.py and documented all the environment variables I could find.
2021-12-02 16:39:36 -08:00
mwtian
c01fa39d84
[Cleanup] delete remaining protos related to ObjectLocation in GCS (#20823)
Object metadata are fully managed by workers now, so the related protos and logic in GCS are obsolete. Most of the logic has been removed in https://github.com/ray-project/ray/pull/19963. This PR removes some remaining obsolete protos.
2021-12-02 15:24:43 -08:00
WanXing Wang
a4495941c2
[Core] Support back pressure for actor tasks (#19936)
Support back pressure in core worker.
Job config added for python worker and java worker.
2021-12-02 14:41:30 -08:00
xwjiang2010
e8ce1edfdc
[tune] move on_no_available_trials to a subclass under runner (#20809)
Separates out warning logic to a different submodule.
2021-12-02 12:54:45 -08:00
Kai Fricke
6b683ec8dc
[ci] Retry release tests on infra error (#20478)
This PR introduces proper exit codes for release tests. These are used to restart a certain set of infrastructure related failures automatically.
2021-12-02 10:34:40 -08:00
architkulkarni
725480ad7e
Revert "[runtime_env] Allow working_dir and py_module to be Path type (#20810)" (#20852)
This reverts commit fb3d57fb71.
2021-12-02 10:17:16 -08:00
Sven Mika
0de41e4a6b
[RLlib] Trainer sub-class QMIX/MAML/MB-MPO (instead of build_trainer). (#20639) 2021-12-02 13:17:10 +01:00
Jun Gong
2317c693cf
[RLlib] Use SampleBrach instead of input dict whenever possible (#20746) 2021-12-02 13:11:26 +01:00
Jun Gong
65bd8e29f8
[RLlib] Update a few things to get rid of the remote_vector_env deprecation warning. (#20753) 2021-12-02 13:10:44 +01:00
Chu Xiangyang
93732231cb
[Core] Update job id to hex in JOB_LOG_PATTERN (#20612) (#20816)
* [Core] Update job id to hex in JOB_LOG_PATTERN (#20612)

* Add test to log pid with hex job id
2021-12-02 16:47:26 +09:00
mwtian
8716ae9fdc
[Core][Pubsub] deflake test_gcs_pubsub (#20812)
In `test_gcs_pubsub.py`, ensure subscribers subscribe before data is published to the channel.
2021-12-01 19:11:18 -08:00
mwtian
b3264138b5
[cli] Use 8 Ansi colors for ray command output (#20485) 2021-12-01 16:44:52 -08:00
iasoon
7546ea452f
[serve] Catch errors caused by bad deployment configurations (#20617) 2021-12-01 17:20:25 -07:00
hckuo
fb3d57fb71
[runtime_env] Allow working_dir and py_module to be Path type (#20810) 2021-12-01 16:39:39 -07:00
architkulkarni
765e8d8d53
[Serve] [Doc] fix custom metric link in serve doc (#20775) 2021-12-01 16:39:22 -07:00
Antoni Baum
da57c99f47
[tune] Add set_max_concurrency to Searcher API (#20576)
Adds a set_max_concurrency method to the Searcher API. This method allows for the ConcurrencyLimiter to override the max_concurrency value on searchers with custom internal logic for limiting concurrency (atm. SigOpt and HEBO). This PR also changes the initialisation of SigOpt and HEBO optimisers to happen on set_search_properties instead of in the constructor, so that the new max_concurrency is respected.

Furthermore, this PR breaks up test_tune_restore.py into test_tune_restore_warm_start.py and test_tune_restore.py to deal with a timeout, and ensures that the automatic application of ConcurrencyLimiter in tune.run doesn't override a user-defined ConcurrencyLimiter.
2021-12-01 13:07:48 -08:00
mwtian
0467bc9df5
[Core][Pubsub][Importer] GCS pubsub for function manager & importer (#20804)
This PR allows using Ray pubsub for notifying worker importers that a new function / actor class needs to be imported.
2021-12-01 10:44:50 -08:00
xwjiang2010
8c0bf41b17
[tune] clean up start_trial API. (#20796) 2021-12-01 08:46:22 -08:00
Sven Mika
9e38f6f613
[RLlib] Trainer sub-class DDPG/TD3/APEX-DDPG (instead of build_trainer). (#20636) 2021-12-01 10:52:12 +01:00
Avnish Narayan
74dd0e4085
[RLlib] Make to_base_env() a method of all RLlib-supported Env classes (#20811) 2021-12-01 09:01:02 +01:00
Tao Wang
f481081904
[Java]Get next job id only in driver (#20813)
## Why are these changes needed?
Job id is only used in driver, we should not get it in WORKER.
2021-12-01 15:48:21 +08:00
SangBin Cho
4b9524ed76
[Part 4] Support passing metadata to Ray error object. (#20714)
This will allow us to pass protobuf-defined metadata to the error object. It will allow us to propagate meaningful metadata (e.g., function names for ObjectLostError, ip address for ObjectLostError within raylet, or many useful metadata for ActorDiedError).

### Impl
We will allow the error object to include "payload". The payload will be the protobuf message that includes metadata.
```
# Prev 
ACTOR_DIED (metadata) | (empty)

# New
ACTOR_DIED (metadata) | Serialized protobuf message (body)
```

Note that currently, the body is 

serialized message pack that contains serialized protobuf. This needs to be cleaned up in the future.
2021-11-30 21:58:07 -08:00
SangBin Cho
5e1692e8ac
[Core] Support timeout for gRPC methods. (#20734)
* Completed

* Add a test

* lint failure
2021-11-30 18:46:20 -08:00
Avnish Narayan
3ddc09544d
[rllib] Env to base env refactor (#20785) 2021-11-30 17:02:10 -08:00
Stephanie Wang
162cc9e6bd
Add chaos test for shuffle (#20657)
Adds a working failure test for streaming and non-streaming shuffle, without lineage reconstruction. This does a few things.

Test improvements:
- modifies AutoscalingCluster to allow passing an idle node timeout (the default is very low)
- some small improvements to the NodeKiller actor to hopefully improve flakiness.

Shuffle fixes:
- modifies shuffle tracker to wait on futures instead of having tasks signal. During failures, tasks may never signal the tracker, so we can't rely on these to track progress.

Core fixes:
- raylet will exit immediately if it receives the Shutdown RPC with graceful=False - there was a bug here where it's supposed to exit after replying to the client, but the gRPC server goes down for an unknown reason and the client reply is never sent
- On reference deletion, the owner now publishes an additional message to subscribers that the object has been deleted. Previously, this was causing a hang in streaming shuffle because the raylets pulling an object subscribed after the object was already deleted, so they never received the error signal.
2021-11-30 15:24:09 -08:00
Alex Wu
9a0e67cd7e
Remove duplicate test (in test_component_failure_2) (#20798)
test_component_failure_2::test_worker_failed is a duplicate of test_mulitnode_failure::test_worker_failed
2021-11-30 12:49:43 -08:00
Siyuan (Ryans) Zhuang
3eb76466a0
[workflow] workflow.wait() feature (#20163)
This PR implements `workflow.wait()`. When combined with checkpointing, it allows skipping sync & checkpointing of unfinished workflows.
2021-11-30 12:30:28 -08:00