Understanding How VVR Logs Writes to the SRL
VVR receives writes from the application and queues them in the SRL for transmission to the Secondary hosts. All the RLINKs of an RVG share the SRL. The SRL header contains a specific set of pointers for each RLINK that indicates the writes that have not been sent to the corresponding Secondary.
This section explains the working of the SRL as a circular buffer.
Click the thumbnail above to view full-sized image.
The illustration shows how writes are logged in the SRL. The earliest write that came in is Write 1, which also represents the Start of Log for the Secondary. VVR logs Write 2, Write 3, Write m one after the other until it reaches the end of the SRL. Because the SRL is a circular log the next write, Write m+1 wraps around and logging continues. When the Primary receives the data acknowledgement from this Secondary host for Write 1, VVR marks the Write 1 as complete in the SRL. VVR then processes Write 2, Write 3, and so on.
VVR maintains the following types of pointers in the SRL header:
- The Start of Log pointer---Each RLINK has a Start of Log pointer that designates the next write, Write 1, to be sent to the Secondary.
- The End of Log pointer---Designates the location to be written to by the next incoming write after Write n.
In the following illustration, RLINK1 is 200 writes or updates behind, whereas RLINK2 is 150 writes behind. If the End of Log pointer reaches the Start of Log pointer of the RLINK, the SRL overflows for this RLINK.
Click the thumbnail above to view full-sized image.
Synchronous RLINKs are usually up-to-date. Typically, the Start of Log and End of Log pointers of synchronous RLINKs are separated by the number of simultaneous I/O operations the application performs. For asynchronous RLINKs, the difference between the Start of Log pointer and End of Log pointers reflect how many outstanding writes have yet to be processed, that is, how behind is the RLINK. Different RLINKs usually have Start of Log pointers indicating different places in the SRL; this reflects the difference in the rate at which data is sent to the Secondary.
|