Hello,

I am learning Crail and RDMA implementation. I have a question regarding RDMA + 
Crail and I was hoping you could help me figure it out. In RDMA, a memory space 
is required to be registered with a protection domain to get a memory region 
(IbvMr) and respected rkey. However, each registration will take extra overhead.

After studying Crail code, I found it seems Crail only registers memory space 
once with a single protection domain to get a single memory region and save 
registration overhead, and all incoming connections/storageClients share the 
same memory space, memory region, and protection domain with the same RDMA 
privilege. Did I understand this correctly?

Reference code in Crail: 
1 [create endpoint]. 
https://github.com/apache/incubator-crail/blob/v1.1/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServer.java#L68
2 [register memory]. 
https://github.com/apache/incubator-crail/blob/v1.1/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServer.java#L112

William

Reply via email to