Guardian Programmer's Guide

Table Of Contents
Fault-Tolerant Programming in C
Guardian Programmer’s Guide 421922-014
27 - 29
Comparison of Active Backup and Passive Backup
27 Fault-Tolerant Programming in C
Comparison of Active Backup and Passive
Backup
For the benefit of programmers familiar with the passive backup programming
techniques supported by TAL, this subsection provides an overview of the differences
between active backup programming and passive backup programming.
Active backup differs from passive backup in that active backup does not have
Guardian procedures equivalent to the various passive backup CHECK* routines. The
active backup programmer must explicitly provide for this function through various
coding techniques and use of C functions described later in this section.
In active backup programming, the programmer must do more explicit programming
than in passive backup programming. However, active backup programming provides
the following advantages:
Active backup programs can have better performance, because their fault-tolerant
functions can be specifically tailored to the application.
It is potentially easier to convert ported reusable code components and
applications to run in a fault-tolerant manner, because any hidden state information
need not be sent to the backup process.
Table 27-1 summarizes the differences between active backup programming and
passive backup programming. Native processes cannot call CHECKPOINT[MANY];
they must call CHECKPOINT[MANY]X instead.