FASTPAM (FAST Primary Access Method) is a block-access method for NK4 disk files. It is comparable with UPAM in terms of functionality, but is far superior to it in terms of performance, especially with multi-server systems. FASTPAM is characterized by the following features:
accelerated I/O due to a reduced number of CPU instructions,
a clear and efficient interface, and
support for I/O in data spaces.
FASTPAM offers a subset of the functionality of UPAM.
The performance gains are achieved by extracting preparatory I/O actions from the I/O path and executing them before the OPEN independently of each I/O operation. Such actions include:
loading parameter lists into resident memory,
preparing the I/O path, and
creating memory-resident buffer areas.
The I/O paths consist of the entire resident memory that is required by the system for one I/O along with all the data that can be generated in advance when creating the environment. Channel programs are typically set up in this memory area before the inputs/outputs. Memory for the parameter list and I/O area pool is fixed by the user (i.e. is no longer pageable and cannot be released by the user).
Using FASTPAM management calls, the user creates two areas:
the FASTPAM environment, and
the FASTPAM I/O area pool.
The FASTPAM environment is used to hold the FASTPAM parameter lists with which I/O jobs are submitted. It also includes memory areas of the operating system (the so-called I/O paths).
The FASTPAM I/O area pool is an area with 4-Kbyte buffers.
If the user has the required FASTPAM authorization (entry in the user catalog), these areas can be optionally made memory-resident. FASTPAM areas may be used on a cross-file basis and, if they are in common memory pools, on a cross-task basis and thus allow for efficient usage of the resource of “resident memory”. The size of the FASTPAM environment is determined by the maximum number of I/O operations to be executed in parallel.
The FASTPAM interface is an SVC interface. Jobs are defined via a parameter list; result reports are returned via a return code in the parameter list (not via exits).
FASTPAM permits I/Os to be carried out directly via data spaces. I/O area pools are set up in data spaces for this purpose. Note, however, that these I/O area pools can only be nonresident.
Two groups of functions are offered at the FASTPAM interface:
Management functions (FPAMSRV macro)
creating a new FASTPAM environment or joining an existing FASTPAM environment and FASTPAM I/O area pool
disconnecting and disabling a task from FASTPAM environments and FASTPAM I/O area pools
opening and closing files
Access functions (FPAMACC macro)
synchronous reading and writing of logical blocks
asynchronous reading and writing of logical blocks
waiting for the end of asynchronous I/O jobs
reporting the end of asynchronous I/O jobs
FASTPAM is primarily useful for system support software applications in which I/O performance (path lengths, throughout) plays an important role.
Tape processing and remote file access (RFA) are not supported.
FASTPAM macros and their functions
Two macros are available to the user for processing files (FPAMSRV and FPAMACC). These can be used to execute various functions and operations.
Macro | Function | Brief description |
---|---|---|
FPAMSRV | ENABLE ENVIRONMENT | Enable system environment for FASTPAM processing |
ENABLE IOAREA POOL | Enable I/O area pool for FASTPAM processing | |
OPEN FILE | Open file for processing with FASTPAM | |
CLOSE FILE | Close a file (opened with FASTPAM);the last-page pointer can optionally be specified. | |
DISABLE IOAREA POOL | Enable I/O area pool for FASTPAM processing | |
FPAMACC | ACCESS FILE | Process a file (opened with FPAMSRV) |