IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

SAS dataset subextents


IBM Mainframe Forums -> All Other Mainframe Topics
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Wed Dec 23, 2015 5:58 pm
Reply with quote

Hi,

Could you please let me know if there is anyway to reduce the number of subextents in a compressed SAS dataset.

A job processes data and creates a SAS dataset with below attributes,

POINTOBS=YES
Code:
Attribute           ▭Value
Compressed           CHAR
Row Length           2705
Deleted Rows         0
Reuse                No
Point to Observation Yes
Data Set Page Size   55296
Number of Data Set P 3090
Number of Data Set R 0
Physical Name        POINTOBS.YES.DATASET
Release Created      9.0301M1
Release Last Modifie 9.0301M1
Created by           WELLS
Last Modified by     WELLS
Subextents           619
Total Blocks Used    6180
Percent of Lib Alloc 38.5%
Encoding             ebcdic1047  Western (EBCDIC)

I modified the job and included a dataset option POINTOBS=NO to the step creating the dataset. Now the dataset has the below attributes,

POINTOBS=NO
Code:
Attribute           ▭Value
Compressed           CHAR
Row Length           2705
Deleted Rows         0
Reuse                No
Point to Observation No
Data Set Page Size   55296
Number of Data Set P 3089
Number of Data Set R 0
Physical Name        POINTOBS.NO.DATASET
Release Created      9.0301M1
Release Last Modifie 9.0301M1
Created by           WELLS
Last Modified by     WELLS
Subextents           1544
Total Blocks Used    6178
Percent of Lib Alloc 38.5%
Encoding             ebcdic1047  Western (EBCDIC)


The dataset with POINTOBS=YES has fewer subextents compared to the POINTOBS=NO.
The job did more EXCPs to the POINTOBS=NO dataset compared to the POINTOBS=YES. Is there any way to control this subextents parameter.

Regards,
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Wed Dec 23, 2015 6:44 pm
Reply with quote

I did a Google search on sas subextents and found a NESUG '92 paper that has this:
Quote:
Subextents. Subextents is the number of discontiguous blocks into which the data set is divided. The SAS System attempts to use free space within libraries when data sets are created. If a data set is too large to fit into imbedded free space it is divided into a piece that fits into the embedded free space and a piece (or pieces) that are placed elsewhere. Subextents is a measure of the degree of data set fragmentation within a SAS library. When this number grows for several large, active data sets within a library. the library should be reorganized (PROC COPy) to put the data sets into contiguous allocations.
So it doesn't sound like the programmer has much control over subextents. You might open an issue with SAS Institute to verify that, though.
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Thu Dec 24, 2015 7:11 pm
Reply with quote

Thank you for your thoughts Robert. I've never opened a case with SAS before. I'll check with our software guys on the process.

I was thinking that POINTOBS=NO would reduce fragmentation since it limits the dataset to sequential access only. But the opposite was observed in our studies. hmmm...

Regards,
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Dec 24, 2015 7:45 pm
Reply with quote

I can see those results -- without POINTOBS, SAS has to fill the subextents from first to last rather than being able to pick the largest to use next. But then I could be barking up a totally wrong tree since I don't know the internal structure of SAS data sets that well!

Opening a problem with SAS is easy -- support.sas.com/ctx/supportform/createForm is the web site. You fill in the fields -- site ID (customer ID) being probably the most important one -- go to the next screen, and IIRC a confirmation screen requires an OK click. You get back a confirmation email and then (depending on the contact method you selected) an email or phone call.
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Thu Dec 24, 2015 8:23 pm
Reply with quote

Thank you Robert for the directions. I would do that.
Wish you a happy Christmas.

Regards,
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Dec 24, 2015 10:00 pm
Reply with quote

Thanks -- I hope you a Merry Christmas as well!
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> All Other Mainframe Topics

 


Similar Topics
Topic Forum Replies
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts Map Vols and Problem Dataset All Other Mainframe Topics 2
No new posts Allocated cylinders of a dataset DB2 12
No new posts Sort First/last record of a subset th... DFSORT/ICETOOL 7
No new posts Reading dataset in Python - New Line ... All Other Mainframe Topics 22
Search our Forums:

Back to Top