The indexed sequential access method NK-ISAM of DMS supports the use of disks without PAM keys. NK-ISAM also offers possibilities for performance optimization through a reduction of disk I/Os. This requires the buffer areas of NK-ISAM, the ISAM pools, to be large enough.
These ISAM pools are stored in the privileged address space or in data spaces and serve as buffers for the processing of one or more NK-ISAM files. ISAM pools can be created and administered either explicitly by the user by means of special macros and commands or implicitly by the system. Both the user and the system can create task-local or task-independent ISAM pools.
Task-independent ISAM pools are automatically created on a file-specific basis in one data space.
Task-local ISAM pools can be used only by the calling task. Task-independent ISAM pools define a buffer area that is accessible to other tasks as well by specifying the pool name.
If an ISAM file is opened without having been assigned to a specific ISAM pool by the user in a command or macro, DMS uses a standard ISAM pool of the system for processing: If the file is opened with SHARUPD=NO, a task-local standard ISAM pool will be assigned, and in the case of SHARUPD=YES a task-independent standard ISAM pool.
The size of a standard ISAM pool is defined in the parameter file by systems support. The size of a user-defined ISAM pool is also specified in this file if no size was specified when the ISAM pool was created.
The keyword for the BEGIN record is ISAM.
The maximum number of permissible parameter records is 16.
The parameters for NK-ISAM may be specified more than once. However, only the last value entered is valid.
Format of the parameter record for preset values for NK-ISAM
LCLDFPS = number | |
GLBDFPS = number | No longer evaluated |
GLBPS = number | |
LCLPS = number | |
DFPPROC = *STD / *ADV[ANCED] | No longer evaluated |
GLBDFPN =number | No longer evaluated |
MAXDSBN = number |
LCLDFPS = number
Defines the size of the task-local standard ISAM pools in PAM pages.
Possible values: 96 £
number £
8192
Default value: 512
GLBPS = number
Defines the minimum size of an ISAM pool in a data space in PAM pages. Each “number” is, if necessary, rounded up to the next multiple of 512 and, if necessary, once more reduced to the maximum value of 32766.
Possible values: 512 <= number <= 32766.
Default value: 512
LCLPS = number
Defines the default value in PAM pages for the pool size when setting up task-local ISAM pools using a command or macro.
Possible values: 32 <= number <= 8192
Default value: 512
MAXDSBN = number
Defines the maximum number of data spaces to be provided for task-independent ISAM pools.
Possible values: 1 <= number <= 127
Default value: 2
Note on the setting of MAXDSBN and GLBPS
The preset values MAXDSBN=2 and GLBPS=512 enable a maximum of approx. 4000 NK-ISAM files which are opened simultaneously in SHARUPD=YES mode to be buffered in separate ISAM pools. Any further NK-ISAM files opened in SHARUPD=YES mode are buffered in existing ISAM pools.
If you wish to ensure that (almost) every NK-ISAM file opened in SHARUPD=YES mode is buffered separately, you must initially determine how many NK-ISAM files are opened simultaneously with SHARUPD=YES. If the number of files opened simultaneously (=#FILES) exceeds the limit value of 4000, the number of data spaces required must be adjusted (with rounding to the next highest multiple of 2 GB):
MAXDSBN = (#FILES x GLBPS) / 1.000.000 | |
Comment: | As the pool size is specified in units of 2 KB, the size of a data space must be expressed in 1,000,000 x 2 KB (= 2 GB). |
The paging area must be expanded if required; the data space requirement for task-independent ISAM pools must be specified as
.(MAXDSBN +
1)
x
2
GB
Extract from the parameter file
/BS2000 PARAMS : /BEGIN ISAM LCLDFPS=100 GLBPS=512 LCLPS=512 MAXDSBN=4 /EOF : /END-PARAMS