353
General-Purpose Remote Replication Method
The general-purpose remote replication method (GPRRM), also referred to as the
general-purpose server persistency method (GPSPM), relies on the initiator RDMA
application to maintain a list of virtual addresses on the remote target system that have
been written to with previous RDMA Write requests. When all remote writes to persistent
memory are issued, the application issues an RDMA Send request from the initiator NIC
to the target NIC. The RDMA Send request contains a list of virtual starting addresses
and lengths that the target system will consume when the application software running
on the target node interrupts the system to process the send request. The application
walks the list of regions, flushing each cache line in the requested region to the persistent
memory using an optimized flush machine instruction (CLWB, CLFLUSHOPT, etc.). When
complete, an SFENCE machine instruction is required to fence those previous writes and
force them to complete before handling additional writes. The application on the target
system then issues an RDMA Send request back to interrupt the initiator software of
the completed flush operations. This is an indicator to the application that the previous
writes were made persistent.
Figure 18-2 outlines the general-purpose remote replication method sequence of
operation.
Chapter 18 remote persistent memory
General-Purpose Remote Replication Method
The general-purpose remote replication method (GPRRM), also referred to as the
general-purpose server persistency method (GPSPM), relies on the initiator RDMA
application to maintain a list of virtual addresses on the remote target system that have
been written to with previous RDMA Write requests. When all remote writes to persistent
memory are issued, the application issues an RDMA Send request from the initiator NIC
to the target NIC. The RDMA Send request contains a list of virtual starting addresses
and lengths that the target system will consume when the application software running
on the target node interrupts the system to process the send request. The application
walks the list of regions, flushing each cache line in the requested region to the persistent
memory using an optimized flush machine instruction (CLWB, CLFLUSHOPT, etc.). When
complete, an SFENCE machine instruction is required to fence those previous writes and
force them to complete before handling additional writes. The application on the target
system then issues an RDMA Send request back to interrupt the initiator software of
the completed flush operations. This is an indicator to the application that the previous
writes were made persistent.
Figure 18-2 outlines the general-purpose remote replication method sequence of
operation.
Chapter 18 remote persistent memory
