Availability Guide for Application Design
Availability Through Process-Pairs and Monitors
Availability Guide for Application Design—525637-004
7-8
Receiving Information in the Passive Backup
The amount of data that can be checkpointed using a restart checkpoint is a little under
32 kilobytes. For stacks that are larger than this, you can checkpoint in smaller
amounts, but only the last checkpoint will contain a restart point.
In an NonStop native process, you cannot checkpoint global data with the stack,
because global variables are not stored adjacent to the stack. To checkpoint global
data, you must separately specify each area of global data you want to checkpoint; this
technique works for TNS processes as well. Refer to the CHECKPOINTMANYX
procedure description in the Guardian Procedure Calls Reference Manual for
additional details on checkpointing global data.
Nonrestart Checkpoint
Restart checkpoints can consume significant resources. Often, it is neither necessary
nor desirable to checkpoint everything. Nor is it necessary to checkpoint a restart point
every time you read input or issue some output.
The CHECKPOINT, CHECKPOINTMANY, CHECKPOINTX, and
CHECKPOINTMANYX procedures, therefore, allow you to checkpoint small amounts
of data without a restart point. Typically, single data values and file synchronization
information are checkpointed in this way.
Nonrestart checkpoints can be used in applications that also use restart checkpoints
and in applications that use no restart checkpoints. In applications that also use restart
checkpoints, the design typically checkpoints the entire stack and the restart point
before entering a loop in which input/output operations are made. Within this loop,
nonrestart checkpoints can be used to update the backup process with the most recent
input and output operations. Such a design primes the backup data stack in case an
input or output operation is lost due to failure of the primary process while keeping the
amount of data checkpointed to a minimum.
Nonrestart checkpoints can also be used in process-pair applications that do not use
restart checkpoints. This technique can reduce the complexity and increase the
efficiency of the application considerably by checkpointing only the data that is needed
to get the backup process restarted. Note that, with this approach, the backup process
does not receive a restart point from the primary process. Instead, if the primary
process fails, the backup process restarts by returning from the CHECKMONITOR
procedure.
Receiving Information in the Passive Backup
From the viewpoint of the application programmer, the backup process waits in the
CHECKMONITOR procedure in case the primary process stops. While in
CHECKMONITOR, however, the backup process:
•
Receives data-state and control-state information from the primary process
•
Receives messages from the operating system