ray/release/benchmarks/distributed
Tao Wang a051e693c1
[Test]Add a time check for task benchmark (#23170)
In test_many_tasks.py case, we usually found the case failing and found the reason.

We sleep for sleep_time seconds to wait all tasks to be finished, but the computation of actual sleep time is done by 0.1 * #rounds, where 0.1 is the sleep time every round.
It looks perfect but one factor was missed, and that's the computation time elapsed. In this case, it is the time consumed by

            cur_cpus = ray.available_resources().get("CPU", 0)
            min_cpus_available = min(min_cpus_available, cur_cpus)
especially the ray.available_resources() took a quite time when the cluster is large. (in our case it took beyond 1s with 1500 nodes).

The situation we thought it would be:

for _ in range(sleep_time / 0.1):
    sleep(0.1)
The actual situation happens:

for _ in range(sleep_time / 0.1):
    do_something(); # it costs time, sometimes pretty much
    sleep(0.1)
We don't know why ray.available_resources() is slow and if it's logical, but we can add a time checker to make the sleep time precise.
2022-04-11 06:27:04 -07:00
..
config.yaml Migrate scalability tests (#22901) 2022-03-08 17:22:41 -08:00
test_many_actors.py [Nightly tests] Improve k8s testing (#23108) 2022-03-14 03:49:15 -07:00
test_many_pgs.py [Nightly tests] Improve k8s testing (#23108) 2022-03-14 03:49:15 -07:00
test_many_tasks.py [Test]Add a time check for task benchmark (#23170) 2022-04-11 06:27:04 -07:00
test_scheduling.py Migrate scalability tests (#22901) 2022-03-08 17:22:41 -08:00