Check out the new USENIX Web site. next up previous
Next: Remote Requests Up: Implementation of HLRC on Previous: Implementation of HLRC on

Data Transfers

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 up previous
Next: Remote Requests Up: Implementation of HLRC on Previous: Implementation of HLRC on
Murali Rangarajan 2000-08-09