Page 1 of 1

How to allocate very small data by sms

PostPosted: Mon May 27, 2013 2:26 pm
by samb01
Helleo,

i would like to allocate severals small data (about 500.000). Before i would like to calculate the best space to use the less space.

The datasets are :

LRECL 6400
VB
BLKSIZE=27998
60 records


My question si, what the optimal space to allocate those datasets without losing space...

These datasest are sms managed. I would loike to give then the less space as possible.

Which values could i put is the dataclass :

CDS Name  . . . : ACTIVE                                                   
Data Class Name : DATAF                                                   
                                                                           
Description : PETITS FICHIERS               
                                                                           
Recfm  . . . . . . . . . :                                               
Lrecl  . . . . . . . . . :                                               
Override Space . . . . . : YES                                             
Space Avgrec . . . . . . : K                                               
      Avg Value  . . . . :                                           
      Primary  . . . . . :                                       
      Secondary  . . . . :                                     
      Directory  . . . . :                                                 
Retpd Or Expdt . . . . . :                                                 
Volume Count . . . . . . : 1                                               
Add'l Volume Amount  . . :



Thanks for your help.

Re: How to allocate very small data by sms

PostPosted: Mon May 27, 2013 4:06 pm
by steve-myers
  1. "Data class" definitions vary from installation to installation. Since none of us know your installation, we cannot help you.
  2. The definition of your data is extremely unclear. The logical records in data sets with variable length records in your definition can vary between 5 bytes and 6400 bytes. With no knowledge of the distribution of the actual logical record lengths in your data, we cannot help you.
  3. LRECL=6400 just specifies the maximum record length in the data set, but it says nothing about the actual record lengths.
  4. At one level, you should be concerned. If all of the logical records in your data contain 6400 bytes you get just 4 logical records in each physical record, and each physical record will contain 25604 bytes, and you will be "wasting" several thousand bytes on each track. Of course, if this is true, why are you using variable length records?
  5. One way to avoid the "wastage" just mentioned is to use the VBS record format. On the other hand, many programs will not (ISPF, for example) or cannot handle VBS data sets.

Re: How to allocate very small data by sms

PostPosted: Mon May 27, 2013 5:39 pm
by samb01
These dataset are actually created by dynalloc.
The real record lenght is : 6400

I can't change the type VB

The only thing i want to change is the space by using sms.

Re: How to allocate very small data by sms

PostPosted: Mon May 27, 2013 5:52 pm
by BillyBoyo
Even if the records were all full-sized, they'd only occupy 8 tracks. Realistically, nothing is ever going to use the "spare" space as "the only spare space available on the volume". For 8 tracks, I'd specify space as one cylinder, and not "fracture" the space so when the dataset is deleted/migrated, the space has *not* been "fractured" by another dataset.

However, the way your site wants you to do it, we don't know. "Space-efficient" with small datasets, these days? Why would you bother?

Re: How to allocate very small data by sms

PostPosted: Mon May 27, 2013 5:55 pm
by enrico-sorichetti
the title of the topic hints about a misunderstanding of SMS...

SMS will not allocate anything .

the SMS component of <data/storage/the_thing> management will cooperate whit the other components of the same
to provide the proper allocation parameters by merging/overriding the parameters specified in the jcl dd statement
( or the dynamic allocation values )
whit the values provided by the appropriate DATACLASS chosen by the ACS routines

give the last info you will have to allocate using ...
4 records per block
2 blocks per track
which yields 8 records per track
which for 60 records implies 8 tracks

and You,Your support can have the values by specifying them in the DD statement
or by using a dataset naming convection which matches a data class which specifies the same values.

Re: How to allocate very small data by sms

PostPosted: Tue May 28, 2013 7:24 pm
by samb01
Hello,

i just want to use a specific DATACLASS to override space.

But the biggest dataset have 100 tracks. And the smallest have 1 trak.

Is there an option in the dataclass to release space unused....

Actually my dataclass is :

CDS Name  . . . : ACTIVE                                                   
Data Class Name : DFGCGSDS                                             
                                                                           
Description : DATACLASS FOR SMALL AND BIG DATASETS                     
                                                                           
Recfm  . . . . . . . . . : VB                                               
Lrecl  . . . . . . . . . : 6400                                             
Override Space . . . . . : YES                                             
Space Avgrec . . . . . . : U                                               
      Avg Value  . . . . : 6400                                             
      Primary  . . . . . : 100                                             
      Secondary  . . . . : 100                                             
      Directory  . . . . :                                                 
Retpd Or Expdt . . . . . :                                                 
Volume Count . . . . . . : 1                                               
Add'l Volume Amount  . . :                                                 
Data Set Name Type  . . . . . :                                     
  If Extended . . . . . . . . :                                     
  Extended Addressability . . : NO                                 
  Record Access Bias  . . . . :                                     
Space Constraint Relief . . . : NO                                 
  Reduce Space Up To (%)  . . :                                     
  Dynamic Volume Count  . . . :                                     
Compaction  . . . . . . . . . :                                     
Spanned / Nonspanned  . . . . :                                     
Media Interchange                                                   
  Media Type  . . . . . . . . :                                     
  Recording Technology  . . . :                                     
  Performance Scaling . . . . :                                     
  Performance Segmentation  . :                                     
Use UP/DOWN Command to View other Panels;                           
CDS Name  . . . : ACTIVE                                                     
Data Class Name : DCSVECRP                                                   
                                                                             
Encryption Management                                                       
 Key Label 1:                                                               
 Encoding for Key Label 1 :                                                 
                                                                             
 Key Label 2:                                                               
 Encoding for Key Label 2 :                                                 
System Managed Buffer  . . . :                                               
System Determined Blocksize  : NO                                           
Block Size Limit . . . . . . :                                               
EATTR  . . . . . . . . . . . :                                               
Recorg . . . . . . . . . . . :                                               
Keylen . . . . . . . . . . . :                                               
Keyoff . . . . . . . . . . . :                                               
CIsize Data  . . . . . . . . : 1                                             
% Freespace CI . . . . . . . : 0                                             
            CA . . . . . . . : 0                                             
Shareoptions Xregion . . . . :                                               
             Xsystem . . . . :                                               
                                                                             
Reuse  . . . . . . . . . . . : NO                           
Initial Load . . . . . . . . : RECOVERY                     
BWO  . . . . . . . . . . . . :                             
Log  . . . . . . . . . . . . :                             
Logstream Id . . . . . . . . :                             
FRlog  . . . . . . . . . . . :                             
RLS CF Cache Value . . . . . : ALL                         
RLS Above the 2-GB Bar . . . : NO                           
Extent Constraint Removal  . : NO                           
CA Reclaim . . . . . . . . . : YES                         
 



With that dataclass, my dataset is allocated as following :

 Command - Enter "/" to select action                        Tracks %Used   XT 
 -------------------------------------------------------------------------------
          RTYBF.APFRDS.VGE.DAFGSLMK                            12    0     1 
 ***************************** End of Data Set list ****************************



I would like to have a dataset whith 100 tracks with the option release because if the dataset is very small, 100 tracks is two high... We will need Just 1 traks..

Sorry for my bad english...

Re: How to allocate very small data by sms

PostPosted: Tue May 28, 2013 9:09 pm
by steve-myers
In JCL you would use SPACE=(TRK,(100,...),RLSE) and you can use essentially the same specification with dynamic allocation. The ... is a secondary allocation used if the primary allocation is filled.