erpc-io / eRPC

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

Could eRPC raw model run without verbs #37

Closed weijietong closed 4 years ago

weijietong commented 4 years ago

The raw model's code depends on verbs code. I want to know whether eRPC raw model could run without verbs ? Does raw UDP model have some special characteristics that depends on verbs to get good performance?

anujkaliaiitd commented 4 years ago

With Mellanox NICs, using ibverbs is the fastest way to send UDP packets from userspace. eRPC's Raw transport uses ibverbs, so it cannot run without them.

The other fast way of sending UDP packets from userspace is to use DPDK, which eRPC also supports (though it's less tested than Raw) on Mellanox NICs.

weijietong commented 4 years ago

Thanks for the explanation. One more question , do you think the eRPC could alleviate the TCP incast problem at the datacenter many to one case by using raw UDP ?

anujkaliaiitd commented 4 years ago

eRPC restricts each flow to one BDP of outstanding data, which we found was sufficient to prevent most packet losses during incast. This technique is referred to as BDP flow control in the paper. eRPC's performance during incast is evaluated in Section 6.5 of the paper.

weijietong commented 4 years ago

thanks , got it.