rayfed icon indicating copy to clipboard operation
rayfed copied to clipboard

[Feature] send and recv use multiple cpus

Open da-niao-dan opened this issue 2 years ago • 2 comments

The current send and recv is an grpc service. The grpc service limits the use of CPU to 1 core per connection. https://github.com/grpc/grpc-swift/issues/992

image

This limit is by design, because grpc service considers the senario when a servie should handle multiple connections.

However, between two clusters, we may have only a handful connections that each needs to send a large object to the other end. Sometimes we can superposition computation with such communications but sometimes it is hard to do so, particularly when communication time is much longer than computation time.

For example, we have two secretflow clusters, and one needs to send a large ciphertext to another. Using multiple CPUs to do send and receive can really speed up communications in this case.

Can you provide the feature to use multiple cores when doing send and receive?

da-niao-dan avatar Jun 06 '23 02:06 da-niao-dan

@NKcqx to triage.

jovany-wang avatar Jun 06 '23 03:06 jovany-wang

This feature is somewhat important in secretflow's HEU based algorithms. please help.

da-niao-dan avatar Jun 09 '23 09:06 da-niao-dan