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