Download - IMS10a Why OSAM - IMS UG June 2013 Sydney
![Page 1: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/1.jpg)
© 2009 IBM Corporation
Why OSAM?
Bhups NarsiIMS L2 Technical [email protected]
IMS Technical ConferenceJune, 2013
![Page 2: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/2.jpg)
2IMS Technical Conference 2013 2
Agenda
� Origins of OSAM• Where OSAM was first used• Where IMS Uses OSAM
� Benchmarks• Online Workload • BMP workload• Full Function Dynamic Buffer Pool
� Some important features and benefits of OSAM • Specific purpose software• OSAM sync point processing• OSAM sequential buffering (SB)• Buffer Pool Quiesce Processing• OSAM 8GB Datasets
![Page 3: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/3.jpg)
3IMS Technical Conference 2013 3
Agenda…
� Some things to watch out for• OSAM requires care when allocating datasets
• Allocating a Multi-Volume OSAM database for non-SMS managed DASD
• Allocating a Multi-Volume OSAM database for SMS managed DASD
� Summary
![Page 4: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/4.jpg)
4IMS Technical Conference 2013 4
Origins of OSAM
![Page 5: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/5.jpg)
5IMS Technical Conference 2013 5
� Before VSAM there was ISAM• Index Sequential Access Method
� HISAM DB• Root at start of ISAM logical record• Root Key = ISAM record key• Dependent segments stored, in sequence, following root
• as many as will fit in ISAM logical record
• Remaining dependent segments must go into a BSAM overflow
� The IMS code written to access segments in the BSAM overflow• OSAM (Overflow Sequential Access Method)
Where OSAM was first used
![Page 6: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/6.jpg)
6IMS Technical Conference 2013 6
� Message Queue Data Sets� Optionally for HDAM, PHDAM, HIDAM and PHIDAM data
� SM
Where IMS Uses OSAM
LMSQ
SMSQQBLKS
HDAM
OSAM or ESDSOSAM or ESDS
HIDAM PrimaryIndex
HIDAM
KSDS
![Page 7: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/7.jpg)
7IMS Technical Conference 2013 7
Benchmarks
![Page 8: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/8.jpg)
8IMS Technical Conference 2013 8
� The database set up was as follows:• A 32-partition 64 GB HALDB database with 2 GB per
partition• Access method of PHIDAM/OSAM and PHIDAM/VSAM• Multi-volume databases spanning three volumes each• Specific customer-like DBD and database data• Equivalent buffer settings for both OSAM and VSAM
environments
Online workload
![Page 9: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/9.jpg)
9IMS Technical Conference 2013 9
Online workload
+504 (+12%)4,5734,096CPU efficiency(transactions per second)
+6 (+.01%)1,2151,209Transactions completed (per second)
-3.14% (-11%)26.57%29.71%CPU usage (%)
Delta (%)PHIDAM/OSAMPHIDAM/VSAM
![Page 10: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/10.jpg)
10IMS Technical Conference 2013 10
BMP workload
-141 seconds (-22%)
8 minutes 7 seconds
10 minutes 28 seconds
Total CPU time
-2321 seconds (-36%)
minutes 33 seconds
107 minutes 14 seconds 68
Elapsed time
.78 (+13%)6.96%6.18%CPU usage (%)
Delta (%)PHIDAM/OSAMPHIDAM/VSAM
![Page 11: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/11.jpg)
11IMS Technical Conference 2013 11
� Benefits:
• OSAM databases were able to complete 10% more transactions per processor cost over the VSAM database workload environments.
• For IMS BMP workload IMS OSAM databases shows 30%+ total elapsed time saving and 20%+ savings in CPU time respectively than VSAM databases.
Summary
![Page 12: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/12.jpg)
12IMS Technical Conference 2013 12
Dynamic Buffer Pool impact against online activity
41 msec43 msec44 msecTransit execution time
35.7% / 28.6% / 36.4%
36.7% / 29.2% / 37.1%
36.2% / 36.2% /36.2%
CPU busy % before/during/after UPD
.7 sec / 17 sec16 sec.7 secTotal time to process UPD POOL (sec)
632.9 tx/sec628.1 tx/sec846.3 tx/secTran Rate during UPD POOL
852.6 tx/sec852.2 tx/sec851.3 tx/secTran Rate before UPD POOL
OSAM & VSAM
VSAMOSAM
Single Image IMS FF workload with 128 MPP regions a t approximately 850 tx/sec
![Page 13: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/13.jpg)
13IMS Technical Conference 2013 13
Dynamic Buffer Pool impact against online activity
43 msec43 msec42 msecTransit execution time
41.1% / 22.1% /37.2%
33.5% / 29.4% / 37.4%
40.9% / 42.5% /36.4%
CPU busy % before/during/after UPD
.7 sec / 36 sec36 sec.7 secTotal time to process UPD POOL (sec)
605.5 tx/sec603.7 tx/sec850.1 tx/secTran Rate during UPD POOL
852.6 tx/sec852.7 tx/sec852.2 tx/secTran Rate before UPD POOL
OSAM & VSAM
VSAMOSAM
Single Image IMS FF workload with 128 MPP regions a nd 4 BMP’s at approximately 850 tx/sec
![Page 14: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/14.jpg)
14IMS Technical Conference 2013 14
� Benefit
• A ~26% transaction rate impact to the online system was observed during the command execution against our VSAM database resource pool vs a ~1% transaction rate impact when the command was issued against our OSAM buffer pools.
• Issuing the command with BMPs active slightly increased the online transaction rate impact from 26% in the VSAM case to 29% but remained ~1% for the OSAM buffer pool case.
Full Function Dynamic Buffer Pool
![Page 15: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/15.jpg)
15IMS Technical Conference 2013 15
Some important features and benefits of OSAM for databases
![Page 16: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/16.jpg)
16IMS Technical Conference 2013 16
� OSAM was written for specific IMS usage and is optimized for this function.
� OSAM is implemented within about seven modules; VSAM is a general purpose access method.
� We can conclude that the more specific the function, the more efficient the process.
� The benefit is reduced CPU cost, less maintenance, and the maintenance is done within IMS.
Specific purpose software
![Page 17: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/17.jpg)
17IMS Technical Conference 2013 17
� For transactions, BMPs and checkpointing batch programs, all IMS DB writes should take place at sync point time
� At sync point, VSAM writes each buffer individually (one at a time). OSAM chains together blocks for the same data set by using a single I/O operation, for non-page-fixed subpool, which is limited to 49 blocks per start I/O (SIO).
� OSAM does parallel writes, for multiple subpools to multiple volumes and in parallel with VSAM. This way leads to reduced elapsed time and region occupancy.
OSAM sync point processing
![Page 18: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/18.jpg)
18IMS Technical Conference 2013 18
� Sequential buffering is implemented with chained reads (10 consecutive blocks) instead of single-block reads. Sequential buffering assumes that if you need the first block, you will also need the immediately following ones.
� OSAM SB is “enabled” by the user but is dynamically switched on or off by IMS, according to the estimated or measured benefit calculated by various algorithms.
� OSAM SB is exploited by BMPs (and theoretically, MPPs), stand-alone batch, utilities, online image copy (IC), unload, scan, prefix update, surveyor, HALDB online reorganization.
� Totally sequential processes can run in less time, but jobs with some element of sequential processing can see a benefit.
OSAM sequential buffering (SB)
![Page 19: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/19.jpg)
19IMS Technical Conference 2013 19
� OSAM• When subpool ownership goes to zero, subpool is
destroyed• Applications can own one OSAM (or VSAM) buffer at a
time• UPDATE POOL command quieces buffers
• Only after application ownership of buffer goes to zero� VSAM
• Activity against affected subpools is quiesced, subpool is destroyed
• IMS looks at PSTs to find PSBs with intent on databases• If intent found, PST is quiesced at commit point
• When all PSTs are quiesced• Buffer pools are purged
• Open database data sets are closed and reopened
Buffer Pool Quiesce Processing
![Page 20: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/20.jpg)
20IMS Technical Conference 2013 20
� OSAM• OSAM datasets can be up to 8GB in size• Non-HALDB only• If blocksize is even, pointer values are always even
• Rightmost bit is ZERO• Can be used as high-order 33rd bit
� VSAM is limited to 4 GB
OSAM 8GB Datasets
![Page 21: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/21.jpg)
21IMS Technical Conference 2013 21
Some things to watch out for
![Page 22: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/22.jpg)
22IMS Technical Conference 2013 22
� The number off OSAM Secondary Extents is limited• between 52 and 60 (dependent on blocksize)
� OSAM can use JCL or Access Method Services (AMS) to allocate database data sets
� Allocating multi--volume OSAM database data sets must be done carefully• There are different rules for SMS managed DASD and
non-SMS managed DASD� Care is also required in reusing an OSAM multi--volume
dataset• You potentially could leave an EOF on a volume that is
not used on a reload
Allocating OSAM datasets
![Page 23: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/23.jpg)
23IMS Technical Conference 2013 23
Allocating a Multi-Volume OSAM database for non-SMS managed DASD// EXEC PGM=IEFBR14//DD1 DD DSN=HIGHNODE.MIDNODE.ENDNODE,// DISP=(NEW,KEEP),// SPACE=(CYL,(200,100)),// UNIT=3390,// VOL=SER=VOL111//*// EXEC PGM=IEFBR14//DD2 DD DSN=HIGHNODE.MIDNODE.ENDNODE,// DISP=(NEW,KEEP),// SPACE=(CYL,(200,100)),// UNIT=3390,// VOL=SER=VOL222//*// EXEC PGM=IEFBR14//DD3 DD DSN=HIGHNODE.MIDNODE.ENDNODE,// DISP=(NEW,KEEP),// SPACE=(CYL,(200,100)),// UNIT=3390,// VOL=SER=VOL333//*// EXEC PGM=IEHPROGM//SYSPRINT DD SYSOUT=*//DD1 DD UNIT=3390,VOL=SER=VOL111,DISP=SHR//DD2 DD UNIT=3390,VOL=SER=VOL222,DISP=SHR//DD3 DD UNIT=3390,VOL=SER=VOL333,DISP=SHR//SYSIN DD *CATLG DSNAME=HIGHNODE.MIDNODE.ENDNODE,VOL=3390=(VOL111,VOL222,VOL333)
![Page 24: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/24.jpg)
24IMS Technical Conference 2013 24
� You must allocate and catalog the data as shown � If you try VOL=SER=(VOL111,VOL222,VOL333)
DISP=(NEW,CATLG) or� VOL=(,,,3),DISP=(NEW,CATLG)
• you will get a primary extent only on the first volume• The other volumes will get only secondary extents
Allocating a Multi-Volume OSAM database for non -SMS managed DASD
![Page 25: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/25.jpg)
25IMS Technical Conference 2013 25
Allocating a Multi-Volume OSAM database for SMS managed DASD
// EXEC PGM=IEFBR14//DD123 DD DSN=HIGHNODE.MIDNODE.ENDNODE,// DISP=(NEW,CATLG),// SPACE=(CYL,(200,100)),// UNIT=3390,// VOL=SER=(VOL111,VOL222,VOL222),// STORCLAS=GTDSPACE
� You must use an SMS storage class with the Guaranteed Space attribute
� You must specify the volume serial numbers• If you do not do these two things you will get a primary extent
only on the first volume• The other volumes will get only secondary extents
![Page 26: IMS10a Why OSAM - IMS UG June 2013 Sydney](https://reader034.vdocuments.net/reader034/viewer/2022042816/559b73c91a28ab794f8b45b8/html5/thumbnails/26.jpg)
26IMS Technical Conference 2013 26
� OSAM is more efficient than VSAM• less CPU• chained writes• parallel writes• chained and look-ahead reading with OSAM SB
� OSAM supports up to 8GB datasets (for non--HALDB)� If performance or cost are key factors in your system
• USE OSAM
Summary