mirror of
https://github.com/wassname/ray.git
synced 2026-06-28 21:46:57 +08:00
Use gRPC to handle communication and data transmission between object manager (#4996)
This commit is contained in:
@@ -72,3 +72,31 @@ def test_task_forward(benchmark, num_tasks):
|
||||
# Warm up
|
||||
ray.get([f.remote() for _ in range(100)])
|
||||
benchmark(benchmark_task_forward, f, num_tasks)
|
||||
|
||||
|
||||
def benchmark_transfer_object(actor, object_ids):
|
||||
ray.get(actor.f.remote(object_ids))
|
||||
|
||||
|
||||
@pytest.mark.benchmark
|
||||
@pytest.mark.parametrize("object_number, data_size",
|
||||
[(10000, 500), (10000, 5000), (1000, 500),
|
||||
(1000, 5000)])
|
||||
def test_transfer_performance(benchmark, ray_start_cluster_head, object_number,
|
||||
data_size):
|
||||
cluster = ray_start_cluster_head
|
||||
cluster.add_node(resources={"my_resource": 1}, object_store_memory=10**9)
|
||||
|
||||
@ray.remote(resources={"my_resource": 1})
|
||||
class ObjectActor:
|
||||
def f(self, object_ids):
|
||||
ray.get(object_ids)
|
||||
|
||||
# setup remote actor
|
||||
actor = ObjectActor.remote()
|
||||
actor.f.remote([])
|
||||
|
||||
data = bytes(1) * data_size
|
||||
object_ids = [ray.put(data) for _ in range(object_number)]
|
||||
|
||||
benchmark(benchmark_transfer_object, actor, object_ids)
|
||||
|
||||
Reference in New Issue
Block a user