GDSX (Extended General Device Support) Manual
Design and Development
Extended General Device Support (GDSX) Manual—529931-001
2-29
Level 1 Fault Tolerance
•
The initial values for all globals, except those in user-named or private global data
blocks
•
The changing values for control block variables, except task control block variables
•
The changing state of each configured task
The backup process monitors the status of the primary GDSX process and takes over
in case of primary process failure, restarting from the beginning the tasks that were
active at the time of failure and were not doing any checkpointing. For such tasks,
context is lost, and any data held in memory pool buffers at the time of failure is lost.
This default level of persistent operation for user tasks that do no checkpointing is
called level 0 fault tolerance.
Level 1 Fault Tolerance
When a task does type 1 checkpointing, its stack images and task control block are
copied to the backup process. After a takeover, such a task is restarted at the
instruction following the last type 1 checkpoint call. The task loses any data held in
memory pool buffers at the time of failure. This is called level 1 fault tolerance. Within
a process some tasks may be doing no checkpointing, in which case TSCODE
provides them with level 0 fault tolerance, while other tasks are doing type 1
checkpointing, providing level 1 fault tolerance.
Level 2 Fault Tolerance
If a task does type 2 checkpointing, its stack images, task control block, and allocated
memory pool buffers are copied to the backup process. After a takeover, such a task
is restarted at the instruction following the last type 2 checkpoint call, and all of the
task’s memory pool data is preserved. This is called level 2 fault tolerance. Within a
GDSX process some tasks may be doing no checkpointing while other tasks are doing
type 1 checkpointing, and still other tasks are doing type 2 checkpointing.
Fault-Tolerance Processing in GDSX Initialization
If GDSX is run as a process pair, TSCODE does the following at process initialization
time:
•
Initializes configuration parameters from default values.
•
Calls the USER^INIT^CONFIG^PARAMS user exit.
•
Opens the $RECEIVE file for the GDSX process.
•
Calls the PROCESS^ASSIGNS user exit once for each ASSIGN command entered
from the TACL prompt before GDSX was started. If no such commands were
entered, this user exit is not called at all.
•
Calls the PROCESS^USER^PARAMS user exit once for each USERPARAM
defined in PARAM commands entered from the TACL prompt before GDSX was
started. If no such commands were entered, this user exit is not called at all.