Availability Guide for Application Design
Overview of Server and Network Fault Tolerance
Availability Guide for Application Design—525637-004
2-13
System Process Pairs
are all different in the backup—making it much less likely that the combination of
circumstances that caused the problem in the primary will exist in the backup.
Not All System Processes Are Process Pairs
Not all system processes need a backup running in another processor. Some, such as
the memory manager, are concerned only with managing resources on their own
processor. If the processor fails, there is nothing for the memory manager process to
manage, so there is no need to keep it running.
Input/output processes (IOPs), by contrast, fulfill a global function. They must ensure
access to devices or sets of devices regardless of single-processor failures.
Functions of an I/O Process Pair
Input or output involves the following system software components:
•
The file system
•
An I/O process
•
The server system’s device tables
Figure 2-5 shows these elements for accessing disk data on a NonStop S-series
server.
An application performs input or output by making procedure calls to the file system.
The file system sends requests to the I/O process on the application’s behalf.
The primary and backup processes of an IOP execute in different processors. To
access a given device, the file system uses a logical device name to reference
information about the device in internal tables, copies of which are kept on each
processor. These tables indicate which process is currently the primary process and
which process is the backup process.
By using a logical name, the file system does not have to be concerned about which
process is primary and which is backup; it appears as a single entity.
The backup I/O process is primed with data checkpointed from the primary. It will need
this information to take over if the primary stops. This information typically includes the
opener of the device and, in the case of the disk process operating on a nonaudited
file, data to be written to disk; record locks; and synchronization blocks, whose function
is to enable the disk process to remain synchronized with the application.