V5R1 - CCATEMP in a Dataspace By James Damon
What Is CCATEMP? CCATEMP is the Model 204 page dataset; it is much like the paging datasets used by the OS, VM, and VSE operating systems. Temporary objects are kept in CCATEMP--objects that have no permanent existence beyond the current run, the current APSY subsystem, the current transaction, or the current user. These objects are back-page images, bit patterns for found sets and record lists, APSY pre-compiled procedures, temporary procedures, transaction back out (TBO) logs--the list goes on. CCATEMP may account for up to 25% of all Model 204 file I/O, depending on the number of logged-in users, APSY subsystems, and database activity. If this I/O is eliminated or converted to in-memory data transfers, then online and batch performance almost always improves.
Creating a Dataspace Using the TEMPPAGE Parameter If the TEMPPAGE parameter is set to a nonzero value in CCAIN, any CCATEMP DDs are ignored, and TEMPPAGE pages of CCATEMP are allocated in memory in what is known as a dataspace. IBM defines a dataspace as:
A range of up to 2 gigabytes of contiguous virtual storage addresses that a program can directly manipulate through assembler instructions. Unlike an address space, a dataspace can hold only user data; it does not contain common areas, system data, or programs. Instructions do not execute in a dataspace.
A single dataspace is limited in size to two gigabytes. If your total CCATEMP requirement is more than two gigabytes of storage, multiple dataspaces are chained together to back the pages.
A dataspace can be backed by real or expanded storage. CCATEMP in a dataspace uses additional memory. Since CCATEMP is usually a very active dataset in a production Model 204 run, system paging must be monitored to ensure that resources are sufficient to prevent excessive paging.
When the TEMPPAGE parameter is nonzero, a CCATEMP dataspace is allocated as a collection of 4K-blocks according to the following formula:
Number of 4K-blocks = (((TEMPPAGE +1) * 6184)/4096) + 1
The CCATEMP dataspace is created during Model 204 initialization. Since CCATEMP is now a non-DASD entity, its initialization is virtually instantaneous, regardless of the number of pages allocated. Initializing an Online with a 50,000 page CCATEMP allocated on a 3390-RAMAC takes two to three minutes. With CCATEMP allocated as a dataspace, initialization takes less than one second. This is important when you are trying to get your production Online back up following an outage, whether planned or unplanned.
Monitoring CCATEMP There are a number of statistics and parameters available for monitoring CCATEMP activity regardless of whether it is allocated as a dataspace or dataset. Some of these have been available across a number of past releases and some are new in V5R1. Figure 1 shows CCATEMP parameters that can be displayed with the VIEW command.
VIEW TEMPMAX,TEMPHIS,TEMHIE,TEMPCUR,TEMPCURS,TEMPCURE,TEMPSIZE TEMPMAX 2054 CCATEMP HIGHEST NUMBER OF PAGES USED TEMPHIS 1 CCATEMP HIGHEST USED PAGE NUMBER SMALL PAGE AREA TEMPHIE 67587 CCATEMP HIGHEST USED PAGE NUMBER (EXPANSION AREA) TEMPCUR 1054 CCATEMP PAGES CURRENTLY IN USE TEMPCURS 1 CCATEMP PAGES CURRENTLY IN USE (SMALL PAGE AREA) TEMPCURE 1052 CCATEMP PAGES CURRENTLY IN USE (EXPANSION AREA) TEMPSIZE 100000 CCATEMP SIZE IN PAGE
Figure 2 shows output from a MONITOR FSTAT command, which provides information about I/O activity to CCATEMP
MONITOR FSTAT (CCATEMP) FILENAME=CCATEMP DKRD=2412 DKWR=3528
Figure 3 shows output from the MONITOR SUBSYS (PROCCT) XYZ command, which provides information on the number of CCATEMP pages required by all precompiled procedures in this subsystem.
MONITOR SUBSYS (PROCCT) XYZSUBSYSTEM NAME: XYZ NUMBER OF PRECOMPILABLE PROCEDURES (SAVED): 14 NUMBER OF PRECOMPILABLE PROCEDURES (NOT SAVED): 17 NUMBER OF NON-PRECOMPILABLE PROCEDURES: 12 CCATEMP PAGES USED FOR PRECOMPILED PROCEDURES: 283 NUMBER OF REQUESTS MADE RESIDENT: 12 NUMBER OF ELIGIBLE REQUESTS NOT RESIDENT: 0 STORAGE USED FOR RESIDENT REQUESTS: 741376 NUMBER OF RESIDENT PROCEDURE EVALS: 504 NUMBER OF SWITCHES FROM RESIDENT MODE: 51
Introducing the MONITOR DATASPACE Command Under V5R1, when CCATEMP is allocated as a dataspace, the MONITOR DATASPACE command can provide additional information.
The following display was obtained immediately after Model 204 initialization with TEMPPAGE=100000. The number under the 4K PAGES column matches the formula previously described for this value of TEMPPAGE. A few reads and writes to CCATEMP have occurred as part of initialization, but if CCATEMP had been allocated as a dataset, WRITES would have been 100000 and the run would have required four to six minutes to initialize. This run initialized in less than one second.
VIEW TEMPPAGE TEMPPAGE 100000 NUMBER OF CCATEMP PAGES IN STORAGE MONITOR DATASPACE 03.308 NOV 10 13.34.05 PAGE 4 NAME DATASPACE TYPE 4K PAGES PAGE HWM EXTRA DATASPACES -------- ------------------- ---------- ---------- ----------------- CCATEMP DATASPACE 150979 2 NAME READS WRITES PAGES READ PAGES WRITN SLOWRD SLOWWR PAGEF -------- ------ ------ ----------- ----------- ------ ------ ------ CCATEMP 1 21 2 32 0 0 0
READS and WRITES statistics should match DKRD and DKWR statistics seen in the output from the MONITOR FSTAT (CCATEMP) command. When CCATEMP is allocated in a dataspace, DKRD and DKWR no longer represent physical reads and writes, but do count the number of 6184-byte pages moved to and from the dataspace.
The following MONITOR FSTAT and MONITOR DATASPACE commands show CCATEMP activity after the run has been up for several hours.
MONITOR FSTAT (CCATEMP) 03.309 NOV 10 15.15.46 PAGE 161 FILENAME=CCATEMP DKRD=3053 DKWR=3670 MONITOR DATASPACE 03.309 NOV 10 15.16.21 PAGE 162 NAME DATASPACE TYPE 4K PAGES PAGE HWM EXTRA DATASPACES -------- ------------------- ---------- ---------- ----------------- CCATEMP DATASPACE 150979 2012 NAME READS WRITES PAGES READ PAGES WRITN SLOWRD SLOWWR PAGEF -------- ------ ---------- ----------- ----------- ------ ------ ----- CCATEMP 3053 3670 4610 5541 0 0 0
In Summary Most organizations today have added considerable resources in real memory and expanded storage, which was not available just a few years ago. Allocating CCATEMP in memory provides a way to achieve a return on this investment by effectively using these new resources to improve Model 204 performance. You should seriously consider enabling CCATEMP in memory in all production environments.
*In the next issues of CCAPRINT, I will discuss CCASERVR and CCAAPSY in memory and elaborate on hiperspaces.
System 1032
Staying Current By Tym Stegner
This month we just want to update the System 1032 community on happenings here at CCA, as well as offer our latest upgrade images for System 1032 and System 1032 ODBC Driver.
Upgrading Our FTP Service At CCA we recently upgraded our FTP server, FOX.CCA-INT.COM, from a MicroVAX-II to a DECpc/AXP-150 Alpha. As you know, we make available via anonymous FTP System 1032 documentation, utilities, as well as tools described in CCAPRINT articles.
If you would like other items to be made available via FTP, please let us know. Any suggestions for content via FTP are welcome.
System 1032 Image Update Available A new base system image, V9.81-2, is available for download from the FTP site on request, which includes the following ongoing maintenance:
A boundary condition problem that occurred while reading key tables during a PRINT JOIN operation was corrected.
System 1032 ODBC Driver Image Update Available A new System 1032 ODBC Driver image for the server, V042, is available for download from the FTP site on request. The V042 image includes the ongoing maintenance and a new feature, as follows:
When the date value is Missing in a joined query, Jan-1-0000 is no longer returned. To reinstate the behavior of V032, a Null value is now returned.
Contacting CCA Send your requests or comments via the System 1032 Web page: http://www.cca-int.com/prodinfo/s1032.html
Or, via the System 1032 support e-mail: Or, call the System 1032 Support hotline at: 508-270-6666, ext. 700
Upcoming CCAPRINT articles I am working on an article about System 1032 data synchronization and another on the TRANGEN utility.
Just a friendly reminder that we welcome any suggestions for future articles and we also welcome guest authors!
Copyright © 2008 Computer Corporation of America. All right reserved. Published in the United States of America.