Consider a case of a server with a huge amount of memory and thousands of processes are using it to serve clients requests.
In such a case, the HCA will have to manage thousands of MRs which will compete for caches and address translation entities.
The way to improve performance is to allow sharing of IB objects between processes. One process will create several MRs and share them.
This will reduce the number of address translation entries and cache miss dramatically.
This talk will cover the implementation of a Shared Object mechanism.