thustorage/Sherman

Connection code

Closed this issue · 2 comments

Hi,

I am trying to understand the code of "initRDMAConnection" but it seems complex. Could you tell the difference between RemoteConnection, ThreadConnection and DirectoryConnection?

Also, what does MAX_APP_THREAD and NR_DIRECTORY mean?

Thanks.

RemoteConnection contains the informantion for RDMA communication, such as Rkey and Ah.
ThreadConnection are QP endpoints for client threads (who issues RDMA ops to memory pool).
DirectoryConnection is the QP endpoint for memory pool, and we uses a thread in memory pool to manage memory allocation (https://github.com/thustorage/Sherman/blob/main/include/Directory.h).
MAX_APP_THREAD is the max number of client threads; a client thread has a threadconnection, which is allocated in DSM::registerThread.
NR_DIRECTORY is the number of thread in memory, which always is 1.

Thanks!