LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (October 1999, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Sat, 23 Oct 1999 09:48:07 -0400
Reply-To:   RAITHEM <RAITHEM@WESTAT.COM>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   RAITHEM <RAITHEM@WESTAT.COM>
Subject:   Re: Sorting large data sas data sets: Help !!
Comments:   To: Don Stanley <don_stanley@XTRA.CO.NZ>
Content-Type:   text/plain; charset=US-ASCII

In an interesting thread on sorting large SAS data sets, Don Stanley posted (in part) the following:

<<Don's entire posting can be found beneath the Sig line, below>>

>Changing LRECL> some of the posts here used 6144. I would use 27648 for your >work DD (again check this, i think this is the right number) if you have 3390 >dasd as you gain an improvement in excps esp since you have such a lot of >variables. >

Don, as always, a _GREAT_ suggestion! I have been amazed (more like dazed and confused) by the number of organizations that are still using the old default block size of 6144 for SAS Work data sets. In my after-work SAS under MVS consulting life, I have just encountered this problem (and fixed it) in (yet) another organization that has a pretty mature (SAS is 15-years old there) SAS programming culture, and relatively savvy SAS programmers. Since this organization has an IS Chargeback system that charges for I/O's, my I/O reduction efforts in their production and test SAS batch jobs have been very appreciated.

At a block size of 6144 on IBM 3390 DASD, a SAS data library will be stored with eight (8) blocks to the track and only occupy 92% of the track. At a block size of 27648, the same SAS data library will be stored with two (2) blocks to the track and occupy 98.8% of the track. Half-block blocking provides optimal DASD track usage. Half-track blocking provides optimal I/O performance, as (potentially) only two I/O's are needed to read a track, instead of eight. As Don stated; half track blocking (LRECL=27648 BLKSIZE=27648) is definitely the way to go on the Work (and on the Sort) SAS data sets!

I hope that this answer proves helpful now, and in the future!

Of course, all of these opinions and insights are my own, and do not reflect those of my organization or my associates.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Michael A. Raithel "The man who wrote the book on performance." E-mail: raithem@westat.com Author: Tuning SAS Applications in the MVS Environment ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Destiny is what you are supposed to do in life. Fate is what kicks you in the ass to make you do it. -- Henry Miller ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<<Here is Don's entire original posting>>

Couple of suggestions that I haven't seen suggested .. (but I haven't seen Mike Raithels response yet) ...

multivolume work space> Override the work dd with (check the syntax, I'm not at work and my PC doesn't emulate MVS yet -- still waiting for the Microsoft enhancement -- your site may also have an SMS DATACLAS class set up for multivolume SAS datasets).

//WORK DD UNIT=(SYSDA,10),SPACE=(CYLS,1000)

This will allocate 10000 cylinders of work space spread across 10 work packs. I find using 1000 cylinders per pack much better than using say 3500 as you may not find 3 packs with 3500 cylinders, but 10 packs with 1000 is often acheivable.

Changing LRECL> some of the posts here used 6144. I would use 27648 for your work DD (again check this, i think this is the right number) if you have 3390 dasd as you gain an improvement in excps esp since you have such a lot of variables.

Don

Kattamuri.Sarma@RESPONSEINSURANCE.COM wrote:

> ---------------------- Forwarded by Kattamuri S Sarma/HR/NY/DRC on 10/22/99 > 09:05 AM --------------------------- > > Kattamuri.Sarma@RESPONSEINSURANCE.COM@LISTSERV.UGA.EDU> on 10/22/99 > 09:01:29 AM > > Please respond to Kattamuri.Sarma@RESPONSEINSURANCE.COM > > Sent by: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU> > > To: SAS-L@LISTSERV.UGA.EDU > cc: > > Subject: Sorting large data sas data sets: More Help !! > > Dear SAS-lers : > I have been getting this message, no matter how much I increase the work > files (sortwk001,...sortwk008). > This is done on the main frame. (MVS) > proc sort data=temp ; > by pno masterkey ; > run ; > temp is a temporary sas data set. The way SAS is configured at this > installation, SYNCSORT ( or something > similar) is used . Temp has 1.7 million records, and 90 variables. > > Sort did not complete successfully. See messages on the Job Console Log o > ERROR: Sort did not complete successfully. See messages on the Job Console > Log o > ERROR: Sort did not complete successfully. See messages on the Job Console > Log o > ERROR: Host sort cannot be used. > > ERROR: Host sort cannot be used. > > ERROR: Host sort cannot be used. > > When I reduce the number of work fikles Sortwk001-sortwk005, and reduce > the number of cylenders requested, I get the following message : > > DFSORT TERMINATED WITH U0318 ABEND DURING PHASE S 3 > JOB STAKSSPE STEP SAS69 TIME 090347 DATE 99295 > > I would appreciate any suggestions > > TIA > Kattamuri Sarma

-- Don Stanley, B.SC, Dip O.R.S, MNZCS Director, Sysware Consulting Group Box 634, Wellington, NEW ZEALAND Ph 064 21 479 863, http://www.sysware.co.nz

EMAIL:: don_stanley@xtra.co.nz, ICQ 35025765 Author: Beyond The Obvious With SAS Screen Control Language Author: Solutions for Your GUI Applications Development Using SAS/AF FRAME Technology

Genealogy: Stanley(Banbury), Bowell (London), Cartwright (Brum), Ryan (Limerick), Walsh (Co Clare), Bealing (Gillingham), Merrilees (Glasgow), More(Glasgow), Smith(Kidderminster), Hilsden(Oxfordshire)


Back to: Top of message | Previous page | Main SAS-L page