MainframeSupports
tip uge 51/2003:

SMS-compression er ved at udvikle sig til en større føljeton her på min hjemmeside. Historien startede i uge 41/2000 og fortsatte i uge 23/2002. I dette tip prøvede jeg at lukke sagen, men jeg er igen blevet klogere. Jeg skiftede til en ny installation og så virkede SMS-compression slet ikke, uanset hvad jeg gjorde. Jeg spurgte storage administratorerne på den pågældende installation, om hvad der var galt. Jeg blev hver gang spist af med et "det kigger vi på", og så hørte jeg ikke mere. På et tidspunkt blev det for meget for mig, jeg måtte vide, hvad der var galt.

Hvis du har lignende oplevelser, så start med at lave et job, der allokerer et dataset med en DATACLAS, der er defineret til at anvende SMS-compression (Felt compaction lig YES). Sørg for at jobkortet benytter MSGLEVEL=(1,1). I jobloggen udskrives der en warning ved allokeringen af datasettet med den pågældende DATACLAS, hvis SMS-compression ikke er sat rigtig op. Det skyldes højst sandsynligt, at datasettet SYS1.DBBLIB mangler. Start derfor med at kontrollere om SYS1.DBBLIB findes på den MVS, hvor du har problemer. Hvis det ikke findes, så bed storage administrationen om at installere det. Der skal i øvrigt IPL'es, før SMS benytter et netop installeret SYS1.DBBLIB dataset. Hvis SYS1.DBBLIB findes, ja så kan dette tip ikke bringe dig videre på den front.

Undervejs i alt dette fandt jeg ud af, at SMS har to forskellige former for compression. Den ene kaldes for tailored comression (TCOM) og den anden kaldes generic compression (GEN). Der er en default compression type, som bestemmes ved opstart af SMS og den er typisk sat til generic. Når man på en DATACLAS sætter værdien af feltet COMPACTION, så kan den sættes til Y, N, G eller T. N står for ingen compression, Y for default compression type, G for GEN og T for TCOM. GEN betyder, at den samme compression algoritme benyttes for alle datasets, mens TCOM betyder, at SMS dynamisk bygger en compression algoritme (præcist som DB2 compressed tablespaces), der giver den umiddelbart bedste compression for det aktuelle dataset.

Jeg har lavet forskellige forsøg med GEN og TCOM. GEN sparer ca. 25%, mens TCOM sparer omkring 50%. TCOM er CPU-mæssigt 5-10% dyrere, så det kan i mine øjne bedst svare sig at benytte TCOM. Hvis man benytter SMS-compression, så koster det i det hele taget dyrt på CPU. Det er ca. 3 til 4 gange dyrere end at køre uden SMS-compression. Der er i øvrigt en anden pudsig detalje ved at benytte SMS-compression, og det er, at et dataset lige pludseligt kan extente mere end 16 gange. Jeg har faktisk ikke stødt på nogen øvre grænse, men mit gæt er 255 extents pr. volume, så hvis datasettet kan brede sig over 2 volumes, så kan det sandsynligvis have 510 extents ialt og så fremdeles.

Forrige danske tip        Last tip in english        Tip oversigten