2. IMS Storage
VSAM Control Interval : VSAM works with a logical data area known as a
control interval (CI). The default CI size is 4K bytes, but it can be up to
32K bytes. The CI contains data records, unused space, and a CI
descriptor field.
Most commonly used VSAM file in IMS.
- Key Sequence Data Set (KSDS)
Contain two components: INDEX and DATA
-Entry Sequence Data Set (ESDS)
Contain single component: DATA.
OSAM Block Size : OSAM works with a logical data area know as a
block size.
VSAM dataset can store data up to 4GB & OSAM up to 8GB
Identify the file type in DBD
DBD NAME=XXLA01DB,
ACCESS=(HIDAM,VSAM) or ACCESS=(HIDAM,OSAM)
AMS Share-Net | Oct 2010
Innovative Improved
Usability
Open
Standards
3. IMS Database Types
Full- Function Database
HSAM,HISAM,HDAM,HIDAM
Fast-Path Database
DEDB,MSDB
HALDB Database
PHDAM,PHIDAM,PSINDEX
Identify the database type based on access methods in DBD
DBD NAME=XXLA01DB,
ACCESS=(HIDAM,VSAM)
Innovative Improved
Usability
Open
Standards
4. 4
Introduction
Buffer poolBuffer pool are areas of virtual storage that temporarily stores data
during run-time.
Allocate sufficient buffers in the IMS database buffer pools to prevent
I/O that results from an application program having to reread data
previously brought into the pool.
Careful choice of sub pool sizes and matching against database block
sizes and frequency of database references is required.
Type of buffer pools – Based on file type
1. VSAM Buffer Pool
- Define VSAM sub pools using the VSRBF control statement
2. OSAM Buffer Pool
- Define OSAM subpools are defined using the IOBF.
Buffer Sizes can be 5 KB, 1 KB, 2 KB, 4 KB, 8 KB and multiple of 4KB.
Buffer Size should be selected based on CI SIZE of VSAM or BLOCK
SIZE of OSAM file.
Innovative Improved
Usability
Open
Standards
AMS Share-Net | Oct 2010
5. 5
Buffer Pool Objective
Eliminating I/O reduces
CPU costs
Increase Number of
Page Hit Ratio.
Reduce CPU Time
Reduce Number of
Page SWAP.
I/O Avoidance
-Keep data in
memory
-Buffer Pool.
Optimize memory Usage
Batch Jobs
-Achieve your batch
requirements
- Maximize throughput
Transactions
-Improve productivity
-Improve clients
satisfaction
Reduce Elapse Time
AMS Share-Net | Oct 2010
6. 6
Buffer Pool Component Located
DLI NOT WAIT
IMS
Controller
IMS DB
IMS
PC
PROGRAM ELAPSE TIME
IMS Buffer Space
IMS DB
IMS Program
DLI ELAPSE TIME APPLICATION
DLI IWAIT
DB Access
AMS Share-Net | Oct 2010
7. 7
How to meet the performance Objective ?
Business Scenario :
Buffer spool option be selected only if the user has established
performance objectives and know how the current system is
performing.
Understand Current Business Scenario :
• Batch job/Online Program is access Large number of IMS Database.
• Database type and Access methods.
-Database type : Full-Function, Fast-Path, HALDB
-Access Method : HISAM,HDAM,HIDAM,PHDAM,PHIDAM
• IMS Storage and Control Interval Verification.
- Verify CI Size of VSAM INDEX & DATA Component.
- Verify Block Size of OSAM file.
AMS Share-Net | Oct 2010
8. 8
How to meet the performance Objective ?
Problem Statement :
Buffer pool was not defined according to the VSAM CI or OSAM Block
size.
Buffer pool was not been divide into sub-pool for Data (D –VSAM Data
component, ESDS) and Index (I- VSAM Index Component).
Common buffer control card has been used across all the batch jobs.
Existing production code :
DFSVSAMP DD DSN=TEST.PROCLIB (XXVSAMP)
18432,4
16384,4
12288,200
8192,700
IOBF=(2048,4,N,N)
IOBF=(4096,500,N,N)
IOBF=(6144,300,N,N)
AMS Share-Net | Oct 2010
9. 9
How to meet the performance Objective ?
Solution:
IMS may build multiple VSAM pools. Each pool may have multiple sub pools.
A VSAM pool is defined by a POOLID= statement in the DFSVSMxx member for
online systems or the DFSVSAMP data set for batch and utility jobs.
Suggest Changes :
POOLID=SP01
VSRBF=8192, 700, D
DBD= XTDBD01 (1, SP01)
POOLID=SP02
VSRBF=12288, 200, D
VSRBF=10240, 500, I
DBD= XTDBD02 (1, SP02)
IOBF=(2048,4,Y,Y)
OPTIONS, VSAMFIX= (BFR, IOB), BGWRT= (YES, 50)
By dividing buffer pools in data and index component number of page hit ratio
can be increased and reduce the I/O transfer rate/sec, which results in reduction
of elapse time, CPU units, I/O transfer counts.
Buffer pool has been defined according to the VSAM CI or OSAM Block Size.
AMS Share-Net | Oct 2010
10. 10
How to meet the performance Objective ?
Change Desc:Change Desc:
VSAM ESDS Buffer poolVSAM ESDS Buffer pool
POOLID=SP01 /* POOLID: Define buffer pool name, SPO1: is buffer pool name. Its user define namePOOLID=SP01 /* POOLID: Define buffer pool name, SPO1: is buffer pool name. Its user define name
VSRBF=8192, 700, D /*-VSRBF: Sub pools in the pool are defined by the VSRBF= statements which followVSRBF=8192, 700, D /*-VSRBF: Sub pools in the pool are defined by the VSRBF= statements which follow
/*the POOLID= statement - 8192-: Buffer Size -Sub pool has a buffer size of 8192,/*the POOLID= statement - 8192-: Buffer Size -Sub pool has a buffer size of 8192,
/*700 : Number of buffer pool/No. of block in SPO1 buffer pool./*700 : Number of buffer pool/No. of block in SPO1 buffer pool.
D : Data component will use this buffer pool SP01.D : Data component will use this buffer pool SP01.
VSAM KSDS Buffer poolVSAM KSDS Buffer pool
POOLID=SP02POOLID=SP02
VSRBF=12288,200,D / * D : Indicates that data component can use this subpoolVSRBF=12288,200,D / * D : Indicates that data component can use this subpool
VSRBF=10240,500,I /* I : Indicated the only index component can use this subpool.VSRBF=10240,500,I /* I : Indicated the only index component can use this subpool.
DBD=XTDBD02 (1,SP02) /* XTDBD02 : DBD name corresponding to dataset.DBD=XTDBD02 (1,SP02) /* XTDBD02 : DBD name corresponding to dataset.
Job1
Shared
Buffer Pools
Job2
Online Scr
Remember:Remember:
Performance dependencePerformance dependence
on whether shared bufferon whether shared buffer
used by multiple programused by multiple program
during run-timeduring run-time
AMS Share-Net | Oct 2010
11. 11
Test Results..
B&UT Testing : IBM GR Team – Test Results
Description Base Converted
Run1
CPU UNITS 3,026,234 2,843,993
CPU Time 00:01:14.88 00:01:02.37
SERV UNITS 3,092,247 2,906,908
SRB UNITS 51,595 48,524
I/O UNITS 14,418 14,391
Execution Time
(step XNC100X)
00:10:55.09 00:05:30.62
DLI Statistics Report
Calls Base Convert
GU 47 41
GN 83,342 83,343
GNP 2,062,941 2,062,981
GHU 6 6
DB
(TOTAL) 2,146,342 2,146,383
CHKP 42 42
LOG 294 294
Remember 1:Remember 1:
Performance should bePerformance should be
compared based on No. ofcompared based on No. of
DLI calls issued & No. ofDLI calls issued & No. of
record accessed inrecord accessed in
program.program.
AMS Share-Net | Oct 2010
12. 12
Test Results..
SIT Testing : Client Technical Expert Group – Test Results
Description Base Converted
Run1
Converted Run2 Converted Run3
CPU UNITS 10,264,284 9,914,169 9,538,354 9,031,724
CPU Time 00:04:06.28 00:04:05.32 00:03:56.02 00:03:36.71
SERV UNITS 10,584,075 10,227,066 9,842,507 9,325,137
SRB UNITS 233,312 230,039 226,202 217,536
I/O UNITS 86,479 82,858 77,951 75,877
Execution Time (step
XNC100X)
00:30:06.43 00:24:18.70 00:20:10.64 00:12:16.73
Remember 2:Remember 2:
Whether the IMS1/IMS2Whether the IMS1/IMS2
region database has beenregion database has been
re-org recentlyre-org recently
AMS Share-Net | Oct 2010
13. 13
Business Benefits…
Buffer pool concept will be applicable to batch & online application.
By proposing IMS buffer-pool concept we are able to reduce 10-20% of elapse
time, CPU units, I/O transfer counts.
Implementing buffer-pool concept into there respective account will add values to
clients and will be able to meet SLA, as it will reduce application elapse time.
Dividing buffer pools in data and index component number of page hit ratio can be
increased and reduce the I/O transfer rate/sec
Supports additional new opts Included – BGWRT (Back Ground Write) % used for
parallel write operation to database and buffer pool can be released during
database processing.
IMS
BufferIMS
IMS
AMS Share-Net | Oct 2010
14. 14
Performance Dependent Parameters…
Performance of XNC100JD dependent on the below parameters
Region Parameters:
• Whether these database are used by other program during the batch job
execution.
• Shared buffer used by other program for loading the data.
• Whether the IMS1/IMS2 region database has been reorganized recently.
Application Parameters:
• No. of record retrieved from the database..
• No. of DLI call issued by the program.
• BGWRT- The best percentage value to be specified will change depending on
whether the program is re- accessing the buffers or not.
• Background Write: In general, maximum benefit occurs in sequential update
processing.
AMS Share-Net | Oct 2010
15. 15
Implementation Method…
Batch Jobs
- Update the DFSVSAMP DD Control Cards
Online Program
- DFSVSMxx member in IMS.PROCLIB for online systems
Example 1:
POOLID=VSM1
VSRBF=4096,3000,D
VSRBF=12288,2000,I
VSRBF=32768,12,D
Since the second VSRBF statement builds an index subpool, the first and third
subpools may only be used for data components. The second subpool may only
be used for index components.
Assumption:Assumption:
Application is IMS BatchApplication is IMS Batch
or Online Programor Online Program
AMS Share-Net | Oct 2010
16. 16
For more information
IMS Full Function Database Use of VSAM Buffer Pools
-http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/FLASH10240
IMS Buffer Pool Analyzer
- http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?
topic=/com.ibm.imstools.bpl.doc.ug/bplucon_hilites.htm
IMS Performance Monitoring and Tuning Update
-ibm.com/redbooks
AMS Share-Net | Oct 2010
17. 17
IMS Buffer Pool is …
… Just
Great !
THANK YOU …..ANY QUESTIONS
AMS Share-Net | Oct 2010