64-bit addressing examples
Examples in this topic illustrate the different methods for allocating 64-bit memory in the IMS HP Change Accumulation Utility environment. Comment lines in each example explain the details of the methods.
Example 1: Using IMS HP Change Accumulation Utility MEMLIMIT in multiple address space mode
In this example, SMF MEMLIMIT=2G (specified in JCL) and HPCSYSIN MEMLIMIT = 2048 is specified for multiple address space.
//HPCACCUM JOB '&SYSUID',MSGCLASS=H,MSGLEVEL=(1,1),CLASS=A,
// TIME=1440,NOTIFY=&SYSUID,MEMLIMIT=2G
...
//HPCSYSIN DD *
ID = CA14
List
Unit = 3390
PARALLEL LOGS = 5
PARALLEL SORTS = 7
Select Logs = PRILOG
MEMLIMIT = 2048
...
* SMF MEMLIMIT makes a maximum of 2GB available to this address space.
* HPCA MEMLIMIT=2048 limits IMS HPCA use above the bar to 2GB.
* 2GB are reserved for use by other tasks only if IMS HPCA does not use
any 64-bit memory. For example, if IMS HPCA used 1024MB, then other
tasks in the address space would be allowed up to 1024MB
(for a total of SMF MEMLIMIT=2G).
/*
In the HPC9997I informational message (HPCPRINT), the 64-bit value reveals a high-water mark of 2048MB for the address space. Because HPCSYSIN MEMLIMIT is specified, the 64-IMS HP Change Accumulation Utility value is output to represent the memory allocation internally managed by IMS HP Change Accumulation Utility.
HPC9997I Storage: Used Limit
HPC9997I 24_bit: 176K 8168K
HPC9997I 31_bit: 67576K 1004544K
HPC9997I 64-bit: 2048M 0M
HPC9997I 64-HPCA 2048M 2048M Example 2: Using IMS HP Change Accumulation Utility cache manager in single address space mode
In this example, SMF MEMLIMIT=1G (specified in JCL), the IMS HP Change Accumulation Utility cache manager (HPCCACHE) is configured for 8GB, and single address space mode (HPCSTASK) is specified.
//HPCACCUM JOB '&SYSUID',MSGCLASS=H,MSGLEVEL=(1,1),CLASS=A,
// TIME=1440,NOTIFY=&SYSUID,MEMLIMIT=1G
...
//HPCCACHE DD *
CACHE LEVEL=1,TYPE=64BIT,SPACE=8GB
//HPCSYSIN DD *
ID = CA14
List
Unit = 3390
PARALLEL LOGS = 5
PARALLEL SORTS = 7
PROCEDURE NAME = HPCSTASK
...
* SMF MEMLIMIT makes a maximum of 1GB available to this address space.
* SPACE=8GB attempts to set the limit above this 1GB limit; however,
only a maximum of 1GB is allowed by the SMF MEMLIMIT specification.
* 0GB are reserved for use by other tasks if IMS HPCA used 1024MB.
If IMS HPCA used 512MB, then other tasks in the address space would
be allowed up to 512MB (for a total of SMF MEMLIMIT=1G).
/*
In the HPC9997I informational message (HPCPRINT), the 64-bit value reveals a high-water mark of 1024MB for the address space. The 64-IMS HP Change Accumulation Utility value is not output when the IMS HP Change Accumulation Utility cache manager is used for managing 64-bit memory.
HPC9997I Storage: Used Limit
HPC9997I 24_bit: 4748K 8168K
HPC9997I 31_bit: 71844K 1004544K
HPC9997I 64-bit: 1024M 0M Example 3: Using IMS HP Change Accumulation Utility cache manager or IMS HP Change Accumulation Utility MEMLIMIT command
In this example, SMF MEMLIMIT=6G (specified in JCL), the IMS HP Change Accumulation Utility cache manager (HPCCACHE) is configured for 4GB, and single address space mode (HPCSTASK) is specified.
//HPCACCUM JOB '&SYSUID',MSGCLASS=H,MSGLEVEL=(1,1),CLASS=A,
// TIME=1440,NOTIFY=&SYSUID,MEMLIMIT=6G
...
//HPCCACHE DD *
CACHE LEVEL=1,TYPE=64BIT,SPACE=4GB
//HPCSYSIN DD *
ID = CA14
List
Unit = 3390
PARALLEL LOGS = 5
PARALLEL SORTS = 7
MEMLIMIT=4096
PROCEDURE NAME = HPCSTASK
...
* SMF MEMLIMIT makes a maximum of 6GB available to this address space.
* SPACE=4GB sets the cache manager to 4GB.
* HPCA MEMLIMIT=4096 limits IMS HPCA use above the bar to 4GB (but this
method will not be used because HPCCACHE is specified and therefore
takes precedence).
* 2GB is reserved for other tasks in this address space. SMF MEMLIMIT =6G
and IMS HPCA MEMLIMIT=4G, so a minimum of 2GB is reserved for other tasks
in this address space. If IMS HPCA used only 1GB, then other tasks in
the address space can use up to 5GB.
* HPCSTASK is single address space (SAS); cache manager is the only IMS HPCA
method for managing 64-bit memory allocations in single address space.
* If the procedure name is not HPCSTASK, then cache manager is bypassed.
/*
In the HPC9997I informational message (HPCPRINT), the 64-bit value reveals a high-water mark of 4096MB for the address space. This example is trying to show that although the SMF MEMLIMIT is 6G (6144MB), the HPCCACHE limit restricts the usage to 4GB (4096MB).
HPC9997I Storage: Used Limit
HPC9997I 24_bit: 4748K 8168K
HPC9997I 31_bit: 71844K 1004544K
HPC9997I 64-bit: 4096M 0M Example 4: Using IMS HP Change Accumulation Utility MEMLIMIT in single address space mode
In this example, SMF MEMLIMIT=3G (specified in JCL) and HPCSYSIN MEMLIMIT = 2048 is specified for single address space.
//HPCACCUM JOB '&SYSUID',MSGCLASS=H,MSGLEVEL=(1,1),CLASS=A,
// TIME=1440,NOTIFY=&SYSUID,MEMLIMIT=3G
...
//HPCSYSIN DD *
ID = CA14
List
Unit = 3390
PARALLEL LOGS = 5
PARALLEL SORTS = 7
Select Logs = PRILOG
MEMLIMIT = 2048
PROCEDURE NAME = HPCSTASK
...
* SMF MEMLIMIT makes a maximum of 3GB available to this address space
* IMS HPCA MEMLIMIT=2048 limits IMS HPCA use above the bar to 2GB
* 1GB is reserved for use by other tasks. If IMS HPCA used only 1GB, then
other tasks in the address space would be allowed up to 2GB (for a
total of SMF MEMLIMIT=3G).
/*
In the HPC9997I informational message (HPCPRINT), the 64-bit value reveals a high-water mark of 2349MB for the address space. This example shows that although there are differences in high-water marks for 64-bit and 64-HPCA, the values indicated are accurate.
HPC9997I Storage: Used Limit
HPC9997I 24_bit: 4716K 8168K
HPC9997I 31_bit: 71868K 1004544K
HPC9997I 64-bit: 2349M 0M
HPC9997I 64-HPCA 2048M 2048M In this scenario, 64-bit differs from 64-HPCA because IMS HP Change Accumulation Utility used 2048MB but other tasks in the address space used 301MB for a total of 2349MB. IMS HP Change Accumulation Utility MEMLIMIT will track 64-IMS HP Change Accumulation Utility usage and will limit allocations accordingly.
In this example, IMS HP Change Accumulation Utility is allowed 2048MB and the address space is entitled up to 3072MB (for example, 3GB). The additional 301MB can be attributed to other tasks in the address space.
In single address space, all tasks that use 64-bit memory allocations will be reflected in the 64-bit output line.