[new scheduler] Allocate resources for spilled back task to a local view of the remote node (#12711)

* Force report heartbeats if remote resources may be dirty

* lint

* typo

* typo

* unit test

* debug

* Revert "lint"

This reverts commit 6dc7e982ffee98185665eb7c3c8fde0d91938919.

* Revert "Force report heartbeats if remote resources may be dirty"

This reverts commit cbfa9405197df62f874107d55b46715ceae2abd2.

* Local view of resources

* debug travis

* debug

* debug

* debug

* weaken test

* cleanups

* lint

* Revert "debug travis"

This reverts commit 11ff5f4f84e64e9fbd4eecda5b3c7fd07a7130a4.

* revert

* const view, remove unused
This commit is contained in:
Stephanie Wang
2020-12-10 22:43:29 -05:00
committed by GitHub
parent b7f246c451
commit 86b0741026
8 changed files with 236 additions and 191 deletions
+11 -3
View File
@@ -94,8 +94,13 @@ def test_local_scheduling_first(ray_start_cluster):
assert local()
@pytest.mark.skipif(new_scheduler_enabled(), reason="flakes more often")
def test_load_balancing_with_dependencies(ray_start_cluster):
@pytest.mark.parametrize("fast", [True, False])
def test_load_balancing_with_dependencies(ray_start_cluster, fast):
if fast and new_scheduler_enabled:
# Load-balancing on new scheduler can be inefficient if (task
# duration:heartbeat interval) is small enough.
pytest.skip()
# This test ensures that tasks are being assigned to all raylets in a
# roughly equal manner even when the tasks have dependencies.
cluster = ray_start_cluster
@@ -106,7 +111,10 @@ def test_load_balancing_with_dependencies(ray_start_cluster):
@ray.remote
def f(x):
time.sleep(0.010)
if fast:
time.sleep(0.010)
else:
time.sleep(0.1)
return ray.worker.global_worker.node.unique_id
# This object will be local to one of the raylets. Make sure