Computer Corporation of America
|
Feedback
Search CCA:
   
USA CCA
CCA Products
CCA Customer Support
CCA Resources
CCA - Company
CCAPRINT: A Newsletter for Model 204® and System 1032® Users
November 10, 2003

 

Model 204

V5R1 - CCATEMP in a Dataspace
By James Damon


In
V5R1 of Model 204, in-memory support for a number of performance-critical datasets was implemented. On OS systems (OS390 and z/OS), CCATEMP can now reside in a dataspace. CCASERVR and the new CCAAPSY can reside either in a dataspace or hiperspace, a high performance dataspace.* These new high-performance features further improve online and batch performance by eliminating the physical I/O, and the concomitant electro-mechanical delays associated with these high-activity datasets. In this article I am discussing what this feature is, how to enable it, and how to monitor the activity in a CCATEMP dataspace.

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 1. CCATEMP parameters

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 2. MONITOR FSTAT output

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) XYZ
SUBSYSTEM 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
Figure 3. MONITOR SUBSYS (PROCCT) output

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
Figure 4. Output from a VIEW TEMPPAGE command, plus a MONITOR DATASPACE command

Statistic
Represents the number of…
READS 6184-byte pages moved from the dataspace to the Model 204 buffer pool
WRITES 6184-byte pages moved to the dataspace from the Model 204 buffer pool
PAGES READ 4K-pages moved from the dataspace to the Model 204 buffer pool. This is equivalent to READS, but is calculated in units of 4K-blocks: 2 = (1*6184)/4096, rounded up.
PAGES WRITN 4K-pages moved to the dataspace from the Model 204 buffer pool. This is equivalent to WRITES, but is calculated in units of 4K-blocks: 32 = (21*6184)/4096, rounded up

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 StegnerTym

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.

A binary add operation involving real numbers now correctly checks the converted real number for authenticity.

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.

V042 introduces the logical S1032ODBC_DSN that is created by the server. S1032ODBC_DSN contains the name of the data source used by the server in the current session. Use the System 1032 tools procedure SHOW_LOGICAL to retrieve the value.
  You might want this feature, if you want to perform data-source specific configuration in your ODBC process. An example is to define logical names to support tables in the data source, or as a tracking feature to determine which data sources are in common usage.

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.


Contact CCA Webmaster
Copyright 2008