Preemptively push arguments to remote nodes for actor tasks#1901
Merged
pcmoritz merged 1 commit intoray-project:masterfrom Apr 16, 2018
Merged
Preemptively push arguments to remote nodes for actor tasks#1901pcmoritz merged 1 commit intoray-project:masterfrom
pcmoritz merged 1 commit intoray-project:masterfrom
Conversation
|
Test FAILed. |
731a868 to
9de149e
Compare
pcmoritz
approved these changes
Apr 16, 2018
Contributor
pcmoritz
left a comment
There was a problem hiding this comment.
LGTM, rebased to avoid the cython error on Jenkins
|
Test PASSed. |
Contributor
|
@stephanie-wang: Now that we can start multiple raylets on one node, do you want to create a followup PR with tests? |
royf
added a commit
to royf/ray
that referenced
this pull request
Apr 22, 2018
* master: Handle interrupts correctly for ASIO synchronous reads and writes. (ray-project#1929) [DataFrame] Adding read methods and tests (ray-project#1712) Allow task_table_update to fail when tasks are finished. (ray-project#1927) [rllib] Contribute DDPG to RLlib (ray-project#1877) [xray] Workers blocked in a `ray.get` release their resources (ray-project#1920) Raylet task dispatch and throttling worker startup (ray-project#1912) [DataFrame] Eval fix (ray-project#1903) [tune] Polishing docs (ray-project#1846) [tune] [rllib] Automatically determine RLlib resources and add queueing mechanism for autoscaling (ray-project#1848) Preemptively push local arguments for actor tasks (ray-project#1901) [tune] Allow fetching pinned objects from trainable functions (ray-project#1895) Multithreading refactor for ObjectManager. (ray-project#1911) Add slice functionality (ray-project#1832) [DataFrame] Pass read_csv kwargs to _infer_column (ray-project#1894) Addresses missed comments from multichunk object transfer PR. (ray-project#1908) Allow numpy arrays to be passed by value into tasks (and inlined in the task spec). (ray-project#1816) [xray] Lineage cache requests notifications from the GCS about remote tasks (ray-project#1834) Fix UI issue for non-json-serializable task arguments. (ray-project#1892) Remove unnecessary calls to .hex() for object IDs. (ray-project#1910) Allow multiple raylets to be started on a single machine. (ray-project#1904) # Conflicts: # python/ray/rllib/__init__.py # python/ray/rllib/dqn/dqn.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What do these changes do?
To lower latency, whenever an actor task is forwarded to a remote node for execution, this also preemptively pushes any arguments of the task that are local. We do this for actors only since they have affinity to the receiving node. The arguments that are local are likely to be the result of a
ray.put.Unfortunately, there isn't a good way to test this yet since multiple raylets on a single node isn't supported.
A future PR will add support for suppression of duplicate object transfers in the object manager.