I'm fairly a newbie in computer system research and recently encountered a thought on modern bus interconnect in computer systems while I was looking at RDMA documents.
As far as I understood (might be wrong), RDMA needs some memory region to be registered and through the registration process, a RDMA device becomes aware of physical address of registered memory.
Does it mean that the registration process will have OS pin (lock) the memory region so that it can't be swapped out to disk?
Also how RDMA read/write (one-sided verbs) guarantee cache coherence if CPUs have duplicate or updated blocks of the memory in their cache? Does OS do something to make the memory region non-cached region?
I'm having hard time understanding this and it really got me wondering how RDMA devices access system memory. Can anyone provide keywords or materials on how PCIe interconnect or legacy bus technology works in general?
I would appreciate any help.
As far as I understood (might be wrong), RDMA needs some memory region to be registered and through the registration process, a RDMA device becomes aware of physical address of registered memory.
Does it mean that the registration process will have OS pin (lock) the memory region so that it can't be swapped out to disk?
Also how RDMA read/write (one-sided verbs) guarantee cache coherence if CPUs have duplicate or updated blocks of the memory in their cache? Does OS do something to make the memory region non-cached region?
I'm having hard time understanding this and it really got me wondering how RDMA devices access system memory. Can anyone provide keywords or materials on how PCIe interconnect or legacy bus technology works in general?
I would appreciate any help.