erpc-io / eRPC

Efficient RPCs for datacenter networks
https://erpc.io/
Other
835 stars 137 forks source link

Q for the design: How does ePRC handle the incast problem caused by the responses? #53

Closed rhiswell closed 3 years ago

rhiswell commented 3 years ago

IIUC, ePRC only limits the number of requests to a responder by holding its credits. However, it does not limit the total outgoing requests and each request will get a response. Will it cause the incast problem when the massive responses arrive at the requester at the same time? If the problem matters, can eRPC handle it?

Looks forward for your reply.

rhiswell commented 3 years ago

After reading the paper again, I found I was wrong, so I closed this issue.

eRPC can handle the incast of responses. When eRPC creates a session, it will both consider whether the remote RQ and local RQ have enough credits, otherwise the creation will fail. The latter reserves resources for receiving responses, so there is no such problem. Details can refer to the section 4.3.1 of the eRPC [NSDI 19] paper.