Skip to content

[RPC] Make ProcessGroupAgent send task non-blocking #24946

@mrshenli

Description

@mrshenli

@xush6528 pointed out in #23968 that we should make send task non-blocking in ProcessGroupAgent. It currently waits until both preamble and payload send finishes. We could use a separate send GC thread that captures the preamble, payload and ProcessGroup::Work (all as std::shared_ptr) in a GC work, keep them in a queue, wait for completion in order, and destruct preamble and payload tensors.

cc @pietern @mrshenli @pritamdamania87 @zhaojuanmao @satgera

Metadata

Metadata

Assignees

Labels

module: rpcRelated to RPC, distributed autograd, RRef, and distributed optimizertodoNot as important as medium or high priority tasks, but we will work on these.triagedThis issue has been looked at a team member, and triaged and prioritized into an appropriate module

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions