Next: Remote Requests
Up: Implementation of HLRC on
Previous: Implementation of HLRC on
The data transfers (pages and diffs) are performed using RDMA Write
with or without copy. If the problem size is small, the entire
shared address space is registered with VIA, and page transfers
from home to the non-home nodes are performed without any copy.
Memory registration consists of locking the pages of a virtually
contiguous memory region into physical memory and providing the virtual
to physical translations to the NIC. The amount of physical memory
on the machine imposes a limit on the amount of memory that can
be registered.
If the problem size is larger than the limit imposed by the
VIA implementation for memory registration, a set of
communication buffers are registered instead and page transfers
are performed with one copy at each end (from page to buffer at the
sender and from buffer to page at the receiver). Unlike VMMC, another
memory-mapped communication library that requires receive buffers
to be registered (``exported'' in its terminology), VIA requires
both send and receive buffers to be registered.
To send an update, the diff is computed by packing all the modified
words within a dirty page into one message by the sender
(non-home node), and sent to the home of the page. The receiving
node applies the diff by modifying the appropriate page at the words
mentioned in the diff message.
Next: Remote Requests
Up: Implementation of HLRC on
Previous: Implementation of HLRC on
Murali Rangarajan
2000-08-09