CPU ISSUES FB IFB COMPRESSION RECORD COMPRESSION DECOMPRESSION
CPU ISSUES: FB, IFB, COMPRESSION RECORD COMPRESSION / DECOMPRESSION FORMAT BUFFER (FB) INTERNAL FORMAT BUFFER (IFB) FORMAT TRANSLATIONS FORMAT OVERWRITES ADARUN LFP= * FORMAT POOL 1
WHY, WHAT: FB, IFB, (DE)COMPRESSION FORMAT BUFFER, INTERNAL FORMAT BUFFER I. IFB USER FB BB, CC, AA. CPU HD BB CC AA TRANSLATE ( IFB Len = 60 + 24*F ) II. IFB HD BB CC AA USER RB CPU DE. COMPRESS BB-VALUE, CC-VAL. , AA-VAL. AA-BB-CC-DD---DS COMPRESSED RECORD 2
FB, IFB, (DE)COMPRESSION FORMAT TRANSLATION CAN BE CPU INTENSIVE COMPRESSION/DECOMPRESSION CAN BE CPU INTENSIVE 1. FIELD SEQUENCE DOES NOT MATTER 2. IN FILE DESIGN: FREQUENTLY USED FIELDS SHOULD BE UP FRONT (DECOMPRESS/COMPRESS UP TO LAST FIELD IN IFB) 3. LIMIT VIEWS TO JUST DESIRED FIELDS 3
FB, IFB, (DE)COMPRESSION, eg. 1 3. LIMIT VIEWS TO JUST DESIRED FIELDS EXAMPLE CASE 1 SPECIFIC CASE 2 GENERIC 20 FIELD VIEW 214 FIELD VIEW INCREASE BUFFER LENGTH ELAPSED TIME 115 BYTES 1718 BYTES 9. 4 MIN. 14. 7 MIN. 56% USER CPU ----- 90% DATABASE CPU ----- 70% 4
FB, IFB, (DE)COMPRESSION, eg. 2 RELATIVE CPU TIME TO DECOMPRESS X FIELDS 60 Flds 50 Flds 40 Flds 30 Flds 5 Flds 10 Flds 20 Flds ! SELECT/VIEW FOR ONLY NEEDED FIELDS ! 5
FB, IFB, (DE)COMPRESSION, eg. 3 RELATIVE CPU TIME TO DECOMPRESS 1 FIELD Fld # 152 Fld # 49 Fld # 200 Fld # 261 Fld # 100 Fld # 1 ! MOST FREQUENTLY USED FIELDS UP FRONT ! 6
FB, IFB, GFID, LFP. . . GLOBAL FORMAT ID, Le FORMAT POOL USER FB CPU IFB FORMAT POOL CPU TRANSL. SCAN OVERWRITES IF CID /= 0/b (AND NO GFID) IFB STORED IN LFP FOR RE-USE ONE IFB / VIEW / USER IF GFID, GLOBAL IFB STORED IN LFP FOR RE-USE ONE IFB / VIEW 7
FB, IFB, LFP sizes. Worst case number of Flds in a Natural FB: FBL / 9 (AA, 003, A, ) Worst case number of Flds in an SQL FBL / 7 (AA, 3, A, ) FB: IFB Len = 60 + 24*Flds IF NO GFIDs: LFP = ( # Users) * (aver. Views/user) * (aver. IFB length) IF ONLY GFIDs: LFP = (aver. Views) * (aver. IFB length) 8
FB, IFB, GFID, LFP IFB IFB IFB UQ IFB GFIDs IFB IFB FORMAT POOL UQE: USER IFBs CHAINED / MOST FREQUENT IFBs IN UQE GFIDs CHAINED USE CID TO SAVE ON FORMAT TRANSLATIONS RELEASE CIDs (RC) WHEN DONE USE GFIDs FOR COMMON VIEWS DO NOT USE GFIDs FOR VIEWS RARELY USED 9
ADARUN LFP, CID’S. ADABAS 7. 1. 2 1. FREE SPACE IS CHAINED. 2. GLOBAL IFBs ARE CHAINED (LIFO). 3. USER IFBs ARE CHAINED (OFF U. Q. E. ). 4. U. Q. E. CONTAINS ADDRESSES OF LAST 5 IFBs. 5. SCAN FOR IFB TO OVERWRITE (FB OVERWRITES): ? ? ? 10
ADARUN LFP, CID’S. SCAN FOR EXISTING (5 MOST RECENT) (UQE CHAIN) (G. IFB CHAIN) TRANSLATE TIME SCAN FOR SPACE SCAN FOR F. OVWR 11
ADARUN LFP, CID’S. CM L 1 L 1 L 1 TRANSLATE TIME PER X FLDS NO. CMD MEAN FLDS COUNT CMDTIME FBL 1 1, 000 0. 00006 8 10 1, 000 0. 00013 80 20 1, 000 0. 00018 160 50 1, 000 0. 00036 400 1, 000 0. 00066 800 200 1, 000 0. 00129 1600 TIME TO SCAN X IFBs CM L 1 L 1 L 1 IFBS /LFP 1 100 500 1000 2000 4000 8000 16000 20000 CMD COUNT 1, 000 1, 000 1, 000 MEAN CMDTIME 0. 00006 0. 00007 0. 00016 0. 00026 0. 00047 0. 00088 0. 00168 0. 00362 0. 00460 12
ADARUN LFP, CID’S. a. IF NO G. IFBs, THEN MAX LFP b. IF ONLY G. IFB, THEN LIMIT LFP c. IF MIXED, THEN TRY IT LIMIT G. IFBs -HIGHWATER < 99% -NO FORMAT OVERWRITES MAX G. IFBs = 2 * 30 * (x Flds) LFP = (MAX G. IFBs) * (IFB LEN) TOO SMALL < LFP < TO BIG WATCH CPU DO NOT WATCH FB. TRANS DO NOT WATCH FB. OVWR OPTIONS GFID=OFF (NATURAL PGM, NATPARM) 13
- Slides: 13