This document describes the Adabas Caching configuration parameters.
The parameter input follows the standard Adabas ADARUN parameter conventions as follows:
The format for specifying session parameters is: ADARUN {
parameter=value } , ...
ADARUN
must be entered in positions 1-6 of each
ADARUN statement.
At least one blank is required between ADARUN
and the first parameter.
No blanks are permitted within a parameter=value
entry.
Multiple parameter=value
entries separated by a comma may
be included in a statement. The last trailing comma is ignored.
A blank following a parameter=value
entry indicates the
end of the statement.
All entries must end before position 73. A parameter=value
entry that would extend beyond position 72 must be coded on a new
statement.
An asterisk (*) in position 1 indicates a user comment line.
The parameters are displayed on DDPRINT. If an error is detected during the processing of a statement, an error message is displayed and the remainder of the statement is ignored. Processing continues with the next statement. All parameters successfully processed are used to define the runtime settings. Defaults are used for the parameters that were not specified or were ignored due to errors.
Note:
If the ADACSH-related ADARUN parameters (for example,
CASSODSP
, CDATADSP
...) are
changed, the command I CMS
must be issued before
each Adabas nucleus is started in a VM/ESA environment.
An overview of the ADACSH parameters is provided in the table below.
Note:
The following parameters can only be used for global-level caching:
{CASSODSP | CASSOEXT | CASSOHSP | CASSOV64} {CDATADSP |
CDATAEXT | CDATAHSP | CDATAV64} CSTORAGE
Note:
The following parameters can only be used for file-level caching:
CFILE
and CXFILE
.
Note:
Extended memory is the only option for RISC machines running BS2000.
Hiperspace is an option only in OS/390 and z/OS environments. Virtual 64
storage is available only in z/OS environments.
The default value for each parameter is underlined.
Parameter | Values | Description |
---|---|---|
CACHE
|
YES | NO | Causes the ADACSH module to be loaded during session
initialization. If CACHE=NO , no caching occurs and no
ADACSH operator commands are accepted.
|
CACTIVATE |
YES | NO | Activates all RABN ranges or files at session open for immediate use. |
{rabn | rabn - rabn}, ... | Specifies the Associator RABNs or RABN ranges to be cached and
the type of cache space to be used. The default is no Associator RABNs. These
parameters are mutually exclusive with the CFILE and
CXFILE parameters.
|
|
CASSOMAXS |
1024K | The unit size for allocating Associator cache areas. Used with
the CMAXCSPS parameter to define the maximum amount of
Associator cache space that can exist for a given type of storage.
|
CBUFNO |
n | One of two parameters used for read-ahead caching. Specifies the number of read-ahead buffers available for concurrent I/O processing. |
CCTIMEOUT |
7200 | The maximum time of inactivity permitted before releasing an area of a cache space. The default is 7200 seconds (2 hours). |
{rabn | rabn - rabn}, ... | Specifies the Data Storage RABNs or RABN ranges to be cached and
the type of cache space to be used. The default is no Data Storage RABNs. These
parameters are mutually exclusive with the CFILE and
CXFILE parameters.
|
|
CDATAMAXS
|
1024K | The unit size for allocating Data Storage cache areas. Used with
the CMAXCSPS parameter to define the maximum amount of
Data Storage cache space that can exist for a given type of storage.
|
CDEMAND
|
0 | n | The minimum acceptable Adabas buffer efficiency level. If the buffer efficiency level drops below this value, the cache spaces for Associator and Data Storage are activated. The default value of zero means no demand activation. |
CDISPSTAT |
YES | NO | Specifies whether or not all ADACSH messages are to be displayed on the system console. |
CEXCLUDE |
{ PHYS | LOGI | HIST | FIND } / ... | One of two parameters used for read-ahead caching. Specifies the command types to be excluded from read-ahead caching. |
CFILE |
({fnr | fnr - fnr}, [cls],[scope] ,[cache]) | Specifies which files to cache and the type of caching to occur.
Multiple CFILE parameters may be specified.
|
CMAXCSPS |
8 | n | Determines the maximum number of storage areas of a size defined
by the CASSOMAXS and CDATAMAXS
parameters that can be allocated for a cache space.
|
CRETRY |
900 | The number of seconds between retries for allocating a storage area for a cache space if a previous allocation attempt failed. |
CSTORAGE |
DATASPACE | EXTENDED | HIPERSPACE | VIRTUAL64 | Specifies the type of cache space to be allocated for both
Associator and Data Storage RABNs. Overrides any CASSO
and CDATA parameters. The default is no type specified.
This parameter is mutually exclusive with the CFILE and
CXFILE parameters.
|
CWORKSTORAGE |
DATASPACE | EXTENDED | HIPERSPACE | VIRTUAL64 | Specifies the type of cache space to be allocated for Work parts 2 and 3. The default depends on the Adabas operating system. |
CWORK2FAC |
0 | The percentage of the number of Work part 2 RABNs to be cached. The default value of zero means that no caching of Work part 2 is in effect. |
CWORK3FAC |
0 | The percentage of the number of Work part 3 RABNs to be cached. The default value of zero means that no caching of Work part 3 is in effect. |
CXFILE |
( { fnr | fnr - fnr } [,,scope] ) | Specifies files to exclude from caching. Multiple
CXFILE parameters may be specified. The commas
",," maintain a correspondence with the positions
established for the CFILE parameter.
|
CACHE
(or CACH
) specifies
whether or not ADACSH is to be loaded during Adabas session initialization.
Value | Description |
---|---|
YES | ADACSH is loaded and available for operation. |
NO | ADACSH is not loaded. Caching is not available
until the Adabas session is terminated and subsequently restarted with
CACHE=YES .
|
Example:
ADARUN CACHE=YES
ADACSH is loaded during the Adabas session initialization. ADACSH operator commands are accepted and caching is in effect.
CACTIVATE
(or CACT
)
specifies whether or not all RABN ranges are to be activated at
session open.
Value | Description |
---|---|
YES | All RABN ranges are activated at session open.
This provides for immediate use of the cache without consideration of the
CDEMAND threshold level.
|
NO | None of the RABN ranges is activated unless:
|
Example:
ADARUN CACTIVATE=YES
All RABN ranges are made available for immediate use; that is, as soon as the Adabas nucleus needs to move a block from the Adabas buffer pool into a RABN range, the RABN range is allocated.
Note:CASSOxxx
parameters
are mutually exclusive with the CFILE
and
CXFILE
parameters.
The CASSOxxx
parameters identify one or more Associator RABNs to be cached where
xxx indicates the
type of cache
space:
CASSODSP
(or CASSOD
) for
data space
CASSOEXT
(or CASSOE
) for
extended memory
CASSOHSP
(or CASSOH
) for
hiperspace
CASSOV64
(or CASSOV
) for
virtual 64
Note:
Virtual 64 storage is only available in z/OS environments.
Value | Description |
---|---|
rabn | The Associator RABN to be cached. |
rabn - rabn | The range of Associator RABNs to be cached. The
range is specified as two numbers separated by a hyphen with no intervening
spaces or special characters. More than one RABN range (separated by a comma)
may be specified on the same line. There are no continuations. If more than one
line is required, additional
CASSOxxx parameters must be
specified.
|
If CASSOxxx
is
specified, only the specified RABNs are cached. Unspecified RABNs are
not cached and are subject to normal Adabas I/O operations.
Associator RABNs 1 through 30 are not cached; they are ignored if specified by the user.
Notes:
CASSOxxx
parameter, subsequent RABN ranges for the
CASSOxxx
parameter are
ignored. The ignored parameters can be added after initialization by using an
operator command.
CSTORAGE
parameter overrides any
CASSOxxx
parameter and ADACSH
will cache all Associator RABNs as defined for the database.
RABNs for the ranges specified are cached in the cache space indicated by the parameter suffix. RABN ranges defined with this parameter must therefore compete for the space available in a given cache space. When the maximum is allocated, RABNs are purged from the cache space based on a first-in-first-out (FIFO) mechanism and are reused to accommodate the latest RABNs being purged from the Adabas buffer pool.
Example:
ADARUN CASSODSP=1330-2349,126-187,124-125,205-216 ADARUN CASSOHSP=218-252,203-204,260-275,277-335
ADACSH caches the specified RABN ranges. No other Associator RABNs are cached.
The first four RABN ranges defined are cached in the Associator cache space allocated in data space (suffix DSP). The second four RABN ranges defined are cached in the Associator cache space allocated in hiperspace (suffix HSP).
The CASSOMAXS
(or CASSOM
)
parameter specifies the unit size in which areas are allocated for Associator
cache space.
Value | Description |
---|---|
n |
The unit size in which areas are allocated for Associator cache space. Size may be specified in bytes, in kilobytes (K), in megabytes (M) or in gigabytes (G). For extended memory, data spaces, and hiperspaces:
For Virtual 64 memory, virtual storage above the 2GB bar is
allocated in terms of memory objects, each of which comprises one or more
virtual segments or pages of one megabyte each. In essence,
|
The total space available is equal to:
Maximum ASSO cache space size = CASSOMAXS · CMAXCSPS
Storage areas for a cache space are allocated when required. The Adabas nucleus informs ADACSH when a RABN is about to be purged from the buffer pool. If ADACSH determines that this RABN is being cached, it attempts to allocate space in the appropriate cache space.
When no space is available in the currently allocated areas for a cache
space, or no areas are allocated, a new area of storage is allocated with the
size specified by the CASSOMAXS
parameter. For cache
storage in
extended memory, additional storage is requested in this area;
data space, an additional data space is allocated;
hiperspace, an additional hiperspace is built; and
virtual 64 memory, an additional memory object is allocated.
This occurs until the maximum number of areas as determined by the
CMAXCSPS
parameter is reached. At this point, space is
made for the latest RABNs to be purged from the Adabas buffer pool based on the
aging algorithms.
The CASSOMAXS
limit used for the allocation of
new areas in a cache space is based on the last specification for this value.
If no operator or Adabas Online System command is issued, this is the value
specified in the start-up parameters. If this value is specified by an operator
command or through Adabas Online System, it takes effect the next time an
additional area is allocated in an ASSO cache space.
Example:
ADARUN CASSOMAXS=15000000
Cache space areas for ASSO RABNs are allocated in units of 15003648 bytes (or 14652K; or 14M).
CBUFNO
specifies the number of read-ahead buffers
available for concurrent I/O processing.
CBUFNO
is one of two parameters
(CBUFNO
and CEXCLUDE
) used for
read-ahead caching. Read-ahead caching performs a read-ahead of consecutive
Associator and/or Data Storage blocks when processing serial Adabas commands
(Read Logical
, Read
Physical
, Histogram
), and when
searching using nondescriptors.
The read-ahead is performed by issuing a single EXCP to read all the consecutive Associator or Data Storage blocks that reside on a single track of the disk device. The blocks are kept in cache and are immediately available when the nucleus requests the next block in a sequence.
This feature may enhance performance by reducing the number of physical read I/Os. For example, for a 3380 Associator, a reduction factor of 18:1 may be achieved.
Value | Description |
---|---|
n |
The number of read-ahead buffers available for concurrent I/O processing. The recommended setting is a value that accommodates the expected
number of concurrent The minimum number of read-ahead buffers is 0 (the default). If
The maximum number is the same as the number of threads specified
for the nucleus parameter |
During normal cache processing, if a read I/O request qualifies for read-ahead processing but no read-ahead buffer is available, the read I/O is satisfied with a single block EXCP. In other words, no optimization is done to issue an EXCP to read the entire track.
Note:
Read-end-of-track processing is not available in Cluster and SMP
environments.
Example:
ADARUN CBUFNO=5,CEXCLUDE=FIND/HIST
Five buffers are available for read-ahead caching. No read-ahead
processing is performed for S1
(nondescriptor
search) and L9
(histogram) commands.
The CCTIMEOUT
(or CC
)
parameter specifies the amount of time (in seconds) a cache space area can
remain inactive before it is released back to the system.
If demand caching (CDEMAND
) is in effect,
CCTIMEOUT
specifies the number of seconds a RABN range,
file, or file range can remain inactive before it is disabled.
Value | Description |
---|---|
n |
The amount of time (in seconds) a cache space area can remain inactive before it is released back to the system. If demand caching ( The minimum number of seconds is 60; the maximum is 2,147,483,647. The default number of seconds is 7200 (2 hours). |
If a cache space area has not been accessed for the specified period of time, ADACSH releases the storage associated with the area back to the operating system. A message is displayed on the operator console indicating that the cache space area was timed out. The cache space area can be re-allocated immediately by the caching system when required.
If a RABN range, file, or file range is not referenced for the specified
period of time, and demand caching is in effect, the RABN range, file, or file
range is disabled. A message is displayed on the operator console informing the
user that the RABN range, file, or file range was timed out. No further caching
occurs for that RABN range, file, or file range until the Adabas buffer
efficiency goes below the level specified by CDEMAND
.
Once this occurs, the RABN range, file, or file range is enabled again and
begins caching its associated RABNs.
Activity is checked at an interval of one half of the
CCTIMEOUT
value. For example, if
CCTIMEOUT=3600
is specified, the allocated cache space
areas, RABN ranges, files, or file ranges are checked every 1800 seconds (30
minutes).
A change to CCTIMEOUT
using an operator command
causes the check to be performed immediately, and subsequently at intervals of
one half of the new CCTIMEOUT
value.
Example:
ADARUN CCTIMEOUT=3600
A cache space area is released (or a RABN range/file/file range is disabled if demand caching is in effect) if there is no activity associated with it for a continuous period of 1 hour (3600 seconds).
Note:CDATAxxx
parameters
are mutually exclusive with the CFILE
and
CXFILE
parameters.
The CDATAxxx
parameters identify one or more Data Storage RABNs to be cached where
xxx indicates the type of cache space:
CDATADSP
(or CDATAD
) for
data space
CDATAEXT
(or CDATAE
) for
extended memory
CDATAHSP
(or CDATAH
) for
hiperspace
CDATAV64
(or CDATAV
) for
virtual 64
Note:
Only extended memory is available for BS2000 RISC machines.
Hiperspace is an option only in OS/390 or z/OS environments. Virtual 64 storage
is available only in z/OS environments.
Value | Description |
---|---|
rabn | The Data Storage RABN to be cached. |
rabn - rabn | The range of Data Storage RABNs to be cached. The
range is specified as two numbers separated by a hyphen with no intervening
spaces or special characters. More than one RABN range (separated by a comma)
may be specified on the same line. There are no continuations. If more than one
line is required, additional
CDATAxxx parameters must be
specified.
|
If CDATAxxx
is
specified, only the specified RABNs are cached. Unspecified RABNs are
not cached and are subject to normal Adabas I/O operations.
Notes:
CDATAxxx
parameters,
subsequent RABN ranges for the
CDATAxxx
parameters will be
ignored. The ignored parameters can be added after initialization by using an
operator command.
CSTORAGE
parameter overrides any
CDATAxxx
parameter and ADACSH
will cache all Data Storage RABNs as defined for the database.
RABNs for the ranges specified are cached in the cache space indicated by the parameter suffix. RABN ranges defined with this parameter must therefore compete for the space available in a given cache space. When the maximum is allocated, RABNs are purged from the cache space based on a first-in-first-out (FIFO) mechanism and are reused to accommodate the latest RABNs being purged from the Adabas buffer pool.
Example:
ADARUN CDATADSP=1-4900,6523-7853 ADARUN CDATAHSP=5032-6204,8123-10382
ADACSH caches the specified RABN ranges. No other DATA RABNs are cached.
The first two RABN ranges defined are cached in the Data Storage cache space allocated in data space (suffix DSP). The second two RABN ranges defined are cached in the Data Storage cache space allocated in hiperspace (suffix HSP).
The CDATAMAXS
(or CDATAM
)
parameter specifies the unit size in which areas are allocated for Data Storage
cache space.
Value | Description |
---|---|
n |
The unit size in which areas are allocated for Data Storage cache space. Size may be specified in bytes, in kilobytes (K), in megabytes (M) or in gigabytes (G). For extended memory, data spaces, and hiperspaces:
For Virtual 64 memory, virtual storage above the 2GB bar is
allocated in terms of memory objects, each of which comprises one or more
virtual segments or pages of one megabyte each. In essence,
|
The total space available is equal to:
Maximum DATA cache space size = CDATAMAXS · CMAXCSPS
Storage areas for a cache space are allocated when required. The Adabas nucleus informs ADACSH when a RABN is about to be purged from its buffer pool. If ADACSH determines that this RABN is being cached, it attempts to allocate space in the appropriate cache space.
When no space is available in the currently allocated areas for a cache
space, or no areas are allocated, a new area of storage is allocated with the
size specified by the CASSOMAXS
parameter. For cache
storage in
extended memory, additional storage is requested in this area;
data space, an additional data space is allocated;
hiperspace, an additional hiperspace is built; and
virtual 64 memory, an additional memory object is allocated.
This occurs until the maximum number of areas as determined by the
CMAXCSPS
parameter is reached. At this point, space is
made for the latest RABNs to be purged from the Adabas buffer pool based on the
aging algorithms.
The CDATAMAXS
limit used for the allocation of
new areas in a cache space is based on the last specification for this value.
If no operator or Adabas Online System command is issued, this is the value
specified in the start-up parameters. If this value is specified by an operator
command or through Adabas Online System, it takes effect the next time an
additional area is allocated in a Data Storage cache space.
Example:
ADARUN CDATAMAXS=15000000
Cache space areas for Data Storage RABNs are allocated in units of 15003648 bytes (or 14652K; or 14M).
The CDEMAND
(or CDE
)
parameter specifies the lowest Adabas buffer efficiency level accepted before
caching is activated.
Calculated by the nucleus, Adabas buffer efficiency is the number of
read requests divided by the actual number of reads to storage. If the Adabas
buffer efficiency level drops below the specified
CDEMAND
level, ADACSH activates all disabled RABN
ranges. In this way, RABN ranges are dynamically activated as demand on the
Adabas buffer pool increases.
The CDEMAND
parameter should be used in
conjunction with the CCTIMEOUT
parameter to establish
resource usage boundaries that permit the timely acquisition and release of
system resources. In other words, CDEMAND
may be used to
activate RABN ranges when the demand load on Adabas is high, and
CCTIMEOUT
may be used to deactivate RABN ranges when
Adabas is idle.
Value | Description |
---|---|
0 |
If |
n |
Demand-level caching is to be activated whenever the Adabas buffer efficiency drops below the value specified. An integer value between 1 and 2,147,483,647 is permitted. |
If CDEMAND
is not zero, the Adabas buffer
efficiency is first checked approximately 30 minutes after the Adabas nucleus
is initialized. Thereafter, the Adabas buffer efficiency is checked at
intervals of approximately 15 minutes.
CDEMAND
does not affect the activation of caching
for Work parts 2 and 3 because these areas do not influence the Adabas buffer
efficiency. Only Associator and Data Storage blocks reside in the Adabas buffer
pool and, consequently, only the cache spaces for the Associator and Data
Storage serve to increase the Adabas buffer efficiency level.
Example:
ADARUN CDEMAND=7
ADACSH activates the RABN ranges if the Adabas buffer efficiency level drops below 7.
The CDISPSTAT
(or CDI
)
parameter specifies whether the RABN range statistics are to be displayed on
both the operator console and DDPRINT, or only on DDPRINT.
The individual RABN range statistics are displayed whenever a RABN range is released due to a parallel utility operation or an inactivity timeout, or when a RABN range is dynamically added or deleted.
Value | Description |
---|---|
YES | RABN range statistics are to be displayed on both the operator console and DDPRINT. |
NO | RABN range statistics are to be displayed only on DDPRINT. |
Example:
ADARUN CDISPSTAT=NO
When the status of a RABN range is changed due to a parallel utility operation, a timeout, or an operator command to add or delete, the individual RABN range statistics are to be displayed on DDPRINT only.
CEXCLUDE
specifies the command types to be
excluded from read-ahead caching.
CEXCLUDE
is one of two parameters
(CBUFNO
and CEXCLUDE
) used for
read-ahead caching. Read-ahead caching performs a read-ahead of consecutive
Associator and/or Data Storage blocks when processing serial Adabas commands
(Read Logical
, Read
Physical
, Histogram
), and when
searching using nondescriptors.
The read-ahead is performed by issuing a single EXCP to read all the consecutive Associator or Data Storage blocks that reside on a single track of the disk device. The blocks are kept in cache and are immediately available when the nucleus requests the next block in a sequence.
This feature may enhance performance by reducing the number of physical read I/Os. For example, for a 3380 Associator, a reduction factor of 18:1 may be achieved.
Value | Description |
---|---|
PHYS | Exclude L2 and
L5 (physical sequence) commands.
|
LOGI | Exclude L3 and
L6 (logical sequence) commands.
|
HIST | Exclude L9 (histogram)
command.
|
FIND | Exclude S1
(nondescriptor search) command.
|
The exclusion list must be specified with each four-byte name separated by a slash ( / ). No intervening spaces or special characters, such as commas, are permitted.
The exclusion is made globally; for example, if
CEXCLUDE=PHYS
is specified, all
L2
and L5
commands are
excluded from read-ahead processing, regardless of the file to which the
command was directed.
The exclusion list may be changed during the nucleus session using the
CEXCLUDE
and CINCLUDE
operator commands.
Example:
ADARUN CBUFNO=5,CEXCLUDE=FIND/HIST
Five buffers are available for read-ahead caching. No read-ahead
processing is performed for S1
(nondescriptor
search) and L9
(histogram) commands.
Note:CFILE
is mutually exclusive with the
CASSOxxx
,
CDATAxxx
, and
CSTORAGE
parameters. If any of these parameters is used
with CFILE
, they will be ignored.
The CFILE
parameter defines a file or file range
to be cached. It is also used to provide the settings used to control how
caching is to be implemented for the file or file range.
Value | Description |
---|---|
fnr | The file number of the file to be cached. The minimum value is 0; the maximum is the actual number of files in the database. File number 0 may be specified to cache RABNs that are not associated with any given file. Currently, this is only the DSST on the Associator dataset. |
fnr - fnr | Range of files to be cached specified by two file numbers (the lower number first) separated by a hyphen with no intervening spaces or special characters. |
cls | Class of service. The percentage of available
cache space that can be used to cache RABNs associated with the specified
file(s). This term effectively assigns a priority to the file(s). RABNs
belonging to the file(s) with the lowest priority are purged first. Valid
values are:
|
scope |
Caching scope. Valid values are:
|
cache |
Specifies the type of cache storage in which RABNs for the file will be cached. Valid values are:
Note: |
Within the parentheses, the value terms are positional. This means that you can omit a term if you want to accept the default value for it, but you must enter a comma to identify the position if you are specifying a subsequent term within the parentheses.
Multiple CFILE
parameters may be specified.
CFILE
and CXFILE
parameters together are processed in order from left to right (or top to bottom
if different ADARUN statements are used). Parameters or statements that specify
file ranges are processed before those that specify specific files.
Examples:
ADARUN CACHE=YES,CFILE=(7,2)
File-level caching is active for file number 7. The file is permitted to use up to 75% of the maximum total available cache space (class of service 2). Both Associator and Data Storage RABNS are cached (the default) and the type of cache space used is data space (the default).
ADARUN CACHE=YES,CFILE=(3-6,,DATA,HIPERSPACE)
File-level caching is active for file numbers 3 through 6. The files are permitted to use up to 50% of the maximum total available cache space (class of service 3, the default). Only Data Storage RABNS are cached, and the type of cache space used is hiperspace.
ADARUN CACHE=YES,CFILE=(14-17,,,HIPERSPACE)
File-level caching is active for file numbers 14 through 17. The files are permitted to use up to 50% of the maximum total available cache space (class of service 3, the default). Both Associator and Data Storage RABNs are cached (the default), and the type of cache space used is hiperspace.
The CMAXCSPS
(or CM
)
parameter specifies the number of storage areas that can be allocated for an
ADACSH cache space in data spaces, hiperspaces, or memory objects (64-bit
virtual storage). It has no effect on a cache space in extended memory, where
only one Associator and one Data Storage area are allowed.
In conjunction with the CASSOMAXS
and
CDATAMAXS
parameters, this parameter is used to control
both the total amount of space that can be allocated for a cache space and the
granularity with which it is allocated.
Value | Description |
---|---|
n |
The number of storage areas that can be allocated for an ADACSH cache space in data spaces, hiperspaces, or memory objects (64-bit virtual storage). It has no effect on a cache space in extended memory, where only one ASSO and one DATA storage area are allowed. The minimum value permitted is 1; the maximum is 16, the default is 8. This means that a potential maximum of 34 storage areas can be allocated for each type of cache space used: 16 for Associator RABNs, 16 for Data Storage RABNs, and 1 each for Work parts 2 and 3. Note: |
Example:
ADARUN CMAXCSPS=6
Up to six Associator cache space areas of size
CASSOMAXS
and up to six Data Storage cache space areas
of size CDATAMAXS
can be allocated for a particular type
of cache space.
The CRETRY
(or CR
)
parameter specifies the amount of time (in seconds) between attempts to acquire
an area of cache space if the previous GETMAIN or space allocation failed.
Value | Description |
---|---|
n | The number of seconds between attempts to acquire
an area of cache space if the previous GETMAIN or space allocation failed.
The minimum number of seconds is 60; the maximum is 2,147,483,647. The default number of seconds is 900 (15 minutes). |
If an area of cache space cannot be allocated, ADACSH waits for the specified number of seconds before attempting to allocate the area of cache space again. During this period of time, caching continues in the other areas of the cache space already allocated, but the maximum allowed cache space is not available. If, after the time period has elapsed, there is a request to cache a RABN and no space is available in the current allocation, ADACSH attempts to allocate the area of cache space again. These attempts continue until the cache space is successfully allocated.
Note:CRETRY
does not apply to an area of cache
space that was released due to a timeout (see
CCTIMEOUT
).
Example:
ADARUN CRETRY=500
If an attempt to allocate an additional area of a cache space fails, another attempt to cache a RABN in the cache space in question is made after 500 seconds. If the currently allocated space is still full, the attempt is again made to allocate an additional area of cache space.
The CSTORAGE
parameter can be used to indicate
that all RABNs for the database are to be cached using the system defaults and
the type of cache specified by this parameter.
The CSTORAGE
(or CS
)
parameter overrides any CASSOxxx
and/or
CDATAxxx
parameter that may be specified. If the
CSTORAGE
parameter is specified, all RABNs for the
database are cached using the system defaults and the type of cache space
specified by CSTORAGE
.
Note:
This parameter is mutually exclusive with the
CFILE
and CXFILE
parameters.
Value | Description |
---|---|
DATASPACE | Data Space |
EXTENDED | Extended Memory |
HIPERSPACE | Hiperspace |
VIRTUAL64 | Virtual 64 Storage |
Extended memory is the only option available on BS2000 RISC machines. Hiperspace is an option only in OS/390 and z/OS environments. Virtual 64 storage is available only in z/OS environments.
Example:
ADARUN CASSOHSP=1-1795 ADARUN CDATAHSP=81-135,1140-1298,136-170,181-230 ADARUN CSTORAGE=EXTENDED
ADACSH caches all Associator and Data Storage RABNs in extended memory
(above the 16 megabyte line). All CASSOHSP
and
CDATAHSP
RABN ranges are ignored.
The CWORKSTORAGE
(or
CWORKS
) parameter specifies the type of cache space to
use for the CWORK2FAC
and/or
CWORK3FAC
areas.
Value | Description |
---|---|
DATASPACE | Data Space |
EXTENDED | Extended Memory |
HIPERSPACE | Hiperspace |
VIRTUAL64 | Virtual 64 Storage |
Extended memory is the only option available on BS2000 RISC machines. Hiperspace is an option only in OS/390 and z/OS environments. Virtual 64 storage is available only in z/OS environments.
If CWORKSTORAGE
is not specified, but the
CWORK2FAC
and/or CWORK3FAC
parameters are specified, then the default CWORKSTORAGE
is as follows:
DATASPACE for BS2000 (except RISC machines), MVS/ESA, VSE/ESA, VM/ESA
EXTENDED for BS2000 RISC machines
Example:
ADARUN CWORKSTORAGE=HIPERSPACE
For Work parts 2 and/or 3, cache space is allocated in hiperspace.
The CWORK2FAC
(or CWORK2
)
parameter specifies the percentage of Work part 2 to be cached.
Value | Description |
---|---|
n | The percentage of Work part 2 to be cached.
The minimum and the default is 0; the maximum is 100. If |
The number of Work part 2 RABNs to be cached is computed by multiplying the specified percentage factor by the number of RABNs allocated for Work part 2.
Each cache space allocation is based on the number of RABNs and the device block size, rounded up to the nearest 4-kilobyte boundary.
cache size = int ( ( ( #RABNs · blksize ) + 4095 ) · 4096 ) + 4096
- where
#RABNs = int ( WORK part 2 size · CWORK2FAC )
If the specified CWORK2FAC
cannot accommodate the
working set of Work part 2 RABNs, the RABNs beyond the computed
CWORK2FAC
are not cached. Normal I/O operations are
performed for the non-cached Work part 2 RABNs.
Example:
ADARUN CWORK2FAC=50
ADACSH caches 50 percent of Work part 2, beginning from the first block. If Work part 2 contains 1000 blocks, a cache space is allocated for 500 blocks. If the Work device type is a 3380, the cache space size required is
cache size = int ( ( ( #RABNs · blksize ) + 4095 ) ÷ 4096 ) · 4096 = int ( ( ( 500 · 5492 ) + 4095 ) ÷ 4096) · 4096 = 2,750,095
The CWORK3FAC
(or CWORK3
)
parameter specifies the percentage of Work part 3 to be cached.
Value | Description |
---|---|
n | The percentage of Work part 3 to be cached.
The minimum and the default is 0; the maximum is 100. If |
The number of Work part 3 RABNs to be cached is computed by multiplying the specified percentage factor by the number of RABNs allocated for Work part 3.
Each cache space allocation is based on the number of RABNs and the device block size, rounded up to the nearest 4-kilobyte boundary.
cache size = int ( ( ( #RABNs · blksize ) + 4095 ) ÷ 4096 ) · 4096
- where
#RABNs = int ( WORK part 3 size · CWORK3FAC )
If the specified CWORK3FAC
cannot accommodate the
working set of Work part 3 RABNs, the RABNs beyond the computed
CWORK3FAC
are not cached. Normal I/O operations are
performed for the non-cached Work part 3 RABNs.
Example:
ADARUN CWORK3FAC=50
ADACSH caches 50 percent of Work part 3, beginning from the first block of Work part 3. If Work part 3 contains 1000 blocks, a cache space is allocated for 500 blocks. If the Work device type is a 3380, the cache space size required is
cache size = int ( ( ( #RABNs · blksize ) + 4095 ) ÷ 4096 ) · 4096 = int ( ( ( 500 5492 ) + 4095 ) ÷ 4096 ) · 4096 = 2,750,095
The CXFILE
parameter is used to exclude files
from caching.
Note:CXFILE
is mutually exclusive with
CASSOxxx
,
CDATAxxx
, and
CSTORAGE
parameters. If any of these parameters is used
with CXFILE
, they will be ignored.
Value | Description |
---|---|
fnr | The file to be excluded specified by file number. The minimum value is 0; the maximum is the actual number of files in the database. File number 0 may be specified to exclude RABNs that are not associated with any given file. Currently, this is only the DSST on the Associator dataset. |
fnr - fnr | A range of files to be excluded specified by two file numbers (the lower number first) separated by a hyphen with no intervening spaces or special characters. |
scope | Specifies the scope of exclusion:
If the scope term is specified, it must be preceded by two commas
to maintain its position within the parentheses. See the
|
Multiple CXFILE
parameters may be specified.
CFILE
and CXFILE
parameters together are processed in order from left to right (or top to bottom
if different ADARUN statements are used).
Examples:
ADARUN CACHE=YES,CFILE=(13-19),CXFILE=(17)
Files 13 through 19 are cached using the standard defaults for class of service (3), scope (BOTH), and cache (DATASPACE) with the exception of file 17, which is not cached.
ADARUN CACHE=YES,CFILE=(13-19),CXFILE=(17),CXFILE=(16,,DATA)
Files 13 through 19 are cached using the standard defaults; however, file 17 is not cached and only the associated Associator RABNs are cached for file 16 since the Data Storage RABNs are excluded.
The following combinations of ADARUN session parameters can be used as guidelines for setting up Adabas Caching. The applicability of these examples depends on the operating system environment and available resources.
ADARUN CACHE=YES
When CACHE=YES
is the only parameter specified,
the ADACSH module is loaded, but no cache spaces are predefined and no caching
occurs.
ADACSH defaults to a global caching mode that allows RABN ranges to be added dynamically using operator or Adabas Online System commands. In this situation, any attempt to start caching on a file level is rejected.
Caching of Work parts 2 and 3 cannot be dynamically defined and is unavailable for this Adabas session.
ADARUN CACHE=YES,CSTORAGE=HIPERSPACE,CACTIVATE=YES
Adding the CSTORAGE
parameter instructs ADACSH to
define cache spaces to encompass all of the Associator and Data
Storage RABNs. The Adabas general control block (GCB) is used as the basis for
the Associator and Data Storage RABN ranges. Although this is the most
generalized parameter setup, an important consideration is the number of
Associator and Data Storage RABNs that are defined for the database.
Using the CASSOMAXS
,
CDATAMAXS
, and CMAXSPS
parameters
minimizes the total space allocated for the actual cache spaces. However,
ADACSH must allocate space for RABN indexes for the cache space and for RABN
tables for each RABN range being cached. If the database has a large number of
RABNs defined, or the total amount of cache space available is very large, the
memory requirements may exceed estimates. Therefore, this setup is not
recommended for very large databases.
If the CACTIVATE=YES
parameter is not specified,
the cache spaces must be activated using Adabas Online System (AOS) or operator
console communication.
ADARUN CACHE=YES,CDEMAND=30,CCTIMEOUT=3600
ADARUN CASSOHSP=1-5000,CDATAHSP=1-8000
No caching occurs for approximately 30 minutes after the nucleus has been
brought up. After 30 minutes, if the nucleus requires caching and the Adabas
buffer efficiency level is below the CDEMAND
level, the
RABN ranges are activated.
Following this, the first time space is required to cache a RABN, the first area of cache space is allocated. Once activated, a RABN range remains in operation as long as there is activity against it. Likewise, any allocated area of cache space remains allocated as long as there is activity against it.
If a RABN range remains inactive for more than 3600 seconds, it is
disabled and is only re-activated if the Adabas buffer efficiency level is
below the CDEMAND
level. Areas of cache space
represented by Hiperspaces are released back to the system if an area of cache
space remains inactive for more than 3600 seconds. Unlike the RABN ranges,
these are re-allocated immediately when required.
ADARUN CACHE=YES,CACTIVATE=YES,CDEMAND=30
ADARUN CCTIMEOUT=7200 ADARUN CASSODSP=1-5000,CDATADSP=1-8000
The CACTIVATE=YES
parameter specifies that the two
data space RABN ranges are to be available for activation as soon as the
nucleus requires caching. The CDEMAND
parameter is not
discarded but is initially superseded by the CACTIVATE
parameter.
If a RABN range is inactive for more than 7200 seconds, it is disabled.
When caching is required by the nucleus for RABNs within those RABN ranges
which have been disabled, this will only occur once the
CDEMAND
level is reached. As long as the Adabas buffer
efficiency level remains greater than the CDEMAND
level,
no disabled RABN ranges will be activated.
When an area of cache space represented by a data space is inactive for
more than 7200 seconds, the data space is released. If this area is required at
a later stage in the processing, it is re-activated as required and does not
require that the Adabas buffer efficiency level fall below the value specified
by CDEMAND
.
ADARUN CACHE=YES,CACTIVATE=YES,CDEMAND=0
ADARUN CCTIMEOUT=7200
ADARUN CASSOEXT=1-5000,CDATAEXT=1-8000
ADARUN CWORKSTORAGE=DATASPACE,CWORK2FAC=50
ADARUN CWORK3FAC=70
The CACTIVATE=YES
parameter specifies that the two
extended storage RABN ranges are to be available for activation as soon as the
nucleus requires caching. The CDEMAND=0
parameter means
that the RABN ranges are not disabled due to time out criteria; however, when
areas of the cache space represented by the block of extended storage are not
referenced for 7200 seconds, the block of storage is freed. It can be
re-activated immediately when it is required by the nucleus.
Also, the first 50 percent of Work part 2 is cached in a data space cache and the first 70 percent of Work part 3 is cached in a second data space cache.
ADARUN CACHE=YES,CACTIVATE=YES ADARUN CCTIMEOUT=3600
ADARUN CFILE=3 ADARUN CFILE=1,2,ASSO,HIPERSPACE
ADARUN CFILE=200,1,BOTH,EXTENDED
The CACTIVATE=YES
parameter specifies that caching
for the files specified by the CFILE
parameters can be
activated as soon as the nucleus requires caching. If no reference is made to a
cache space for more than 3600 seconds, it is released. If activity on the
system increases and the cache space is again required, it is allocated
immediately.
The first time each of the files 1, 3, and 200 are referenced, ADACSH synchronizes the file's RABN range definitions based on the file layout. The first time a RABN block being cached for one of these files is purged from the Adabas buffer pool, cache space is allocated and the RABN is written there first.
File number 3 is cached based on the defaults; that is, both Associator and Data Storage RABNs for the file are cached in data space and up to 50% of the cache space available for Associator or Data Storage RABN caching in data space may be used.
File number 1 has caching active only for Associator RABN blocks, which are cached in hiperspace. Up to 75% of the cache space available for Associator RABN caching in Hiperspace may be used.
File number 200 has caching active for both Associator and Data Storage RABN blocks, which are cached in extended memory. Up to 100% of the cache space available for Associator or Data Storage RABN caching in extended memory may be used.
ADARUN CACHE=YES,CFILE=(1-5,2),CXFILE=(2),CFILE=(2,1,DATA,HIPERSPACE)
CFILE
and CXFILE
parameters
are processed in order from left to right (or top to bottom if different ADARUN
statements are used). Parameters or statements that specify file ranges are
processed before those that specify specific files.
Files 1 through 5 are cached with class of service 2 (use up to 75% of available cache space) and defaults for the other terms within the parentheses (scope BOTH and cache DATASPACE). File 2 is excluded; then it is added again with class of service 1 (use up to 100% of available cache space), caching Data Storage RABNs only, and caching in hiperspace.
To illustrate the order dependence of the CXFILE
and CFILE
parameters:
If the CXFILE
parameter is omitted in the above
example, the result is the same.
If the CXFILE
parameter and the second
CFILE
parameter are reversed, file 2 is not cached.