MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Peformance related help in SYNCSORT

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities
View previous topic :: View next topic  
Author Message
kris_madras
Beginner


Joined: 07 Apr 2004
Posts: 41
Topics: 30

PostPosted: Fri Jan 20, 2006 10:36 am    Post subject: Peformance related help in SYNCSORT Reply with quote

Hi,
We are encountering CPU related performance when sorting a 50 Million record based on 10 Key fields listed below:
Code:

SORT FIELDS=(021,005,CH,A,
             026,007,CH,A,
             487,009,CH,A,
             171,001,CH,A,
             526,005,PD,A,
             534,003,PD,A,
             220,003,PD,A,
             227,012,CH,A,
             499,001,CH,A,
             506,003,CH,A)


Could you suggest me the best way can I reduce the CPU time significantly in SYNCSORT?
I do have the following questions with SYNCSORT

1). Does SORTWORK allocation impact CPU time processing?
2). The input file is spanned across 19 volumes in TAPE. Any possibility to faster the I/O processing?
3) Any additional parameters required to improve CPU time significantly?

Any suggestions would really help us a lot...

Code:

//S05S EXEC PGM=SORT,PARM='VSCORET=32M'
//$ORTPARM DD DSN=IMS.PARMLIB(IMSMS005),DISP=SHR
//SYSIN DD DSN=SCM.ENDEVR.SUACC.PARMLIB(RXDMS945),DISP=SHR
//SORTIN DD DSN=RXD.TST.ER905101.M11305,DISP=SHR
//SORTOUT DD DSN=&&TEMPOUT,
// DISP=(NEW,PASS),
// DCB=*.SORTIN,UNIT=VTS1,VOL=(,,,111)
//STATOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
//SORTWK04 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
//SORTWK05 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
//SORTWK06 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
//SORTWK07 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
//SORTWK08 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
//SORTWK09 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
//SORTWK10 DD UNIT=SYSDA,SPACE=(CYL,(1000,100))
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12382
Topics: 75
Location: San Jose

PostPosted: Fri Jan 20, 2006 10:49 am    Post subject: Reply with quote

kris_madras,

You need to use MAXSORT for such large files. There is an entire chapter on MAXSORT in syncsort manual.

Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Bill Dennis
Advanced


Joined: 03 Dec 2002
Posts: 579
Topics: 1
Location: Iowa, USA

PostPosted: Fri Jan 20, 2006 2:18 pm    Post subject: Reply with quote

Realize that MAXSORT doesn't reduce CPU but rather makes large SORTs easier to manage. Subsets of data in pre-determined amounts are sorted and then MERGEd automatically.

You could eliminate tape rewind time by allocating multiple units as UNIT=(TAPE,2).
_________________
Regards,
Bill Dennis

Disclaimer: My comments on this foorum are my own and do not represent the opinions or suggestions of any other person or business entity.
Back to top
View user's profile Send private message
kris_madras
Beginner


Joined: 07 Apr 2004
Posts: 41
Topics: 30

PostPosted: Sat Jan 21, 2006 12:00 am    Post subject: Reply with quote

Dennis.. You are correct.. Max Sort can handle large volume of data but doesn't reduce CPU time..

Could you help me in the above example where to use this option UNIT=(TAPE,2)?
Back to top
View user's profile Send private message
Phantom
Data Mgmt Moderator
Data Mgmt Moderator


Joined: 07 Jan 2003
Posts: 1056
Topics: 91
Location: The Blue Planet

PostPosted: Sat Jan 21, 2006 3:25 am    Post subject: Reply with quote

kris_madras,

Quote:

2). The input file is spanned across 19 volumes in TAPE. Any possibility to faster the I/O processing?


For faster I/O processing and reduced elapsed time, you can use PARASORT or if you have the latest version of Syncsort (v 1.2) then you can go for PIPESORT. Syncsort has brought in special techniques to process multi-volume datasets faster. You may not experience any reduction in CPU time, but elapsed time is reduced greatly. Check your manual for more details.

Cheers,

Phantom
Back to top
View user's profile Send private message
kris_madras
Beginner


Joined: 07 Apr 2004
Posts: 41
Topics: 30

PostPosted: Sun Jan 22, 2006 11:17 pm    Post subject: Reply with quote

Phantom,

Thanks for additional information..We are using SYNCSORT FOR Z/OS 1.2.0.0R. Could you send me the link or manual to use PIPESORT?
Back to top
View user's profile Send private message
Phantom
Data Mgmt Moderator
Data Mgmt Moderator


Joined: 07 Jan 2003
Posts: 1056
Topics: 91
Location: The Blue Planet

PostPosted: Mon Jan 23, 2006 1:06 am    Post subject: Reply with quote

Kris_madras,

Quote:

Could you send me the link or manual to use PIPESORT?


I would love to send you those docs, but Syncsort manuals are copyrighted and are not available for free distribution. Since you already have the latest version of syncsort, you can talk to your system programmers to get a copy of the manual. I am sure They will have it.

But I can give you a sample code. There is a small change in the DD names used. Pipesort has a new DD Name called SRTnCNTL replacing SYSIN. You must code your sort card under this DD. You can do multiple SORTs on the input file producing different outputs by coding different control cards SRT1CNTL, SRT2CNTL. etc....Also, note that every SRTnCNTL has a matching SYSOUTn (SYSOUT1, SYSOUT2....) in addition to the default SYSOUT DD.

Code:

//SORT EXEC PGM=PIPESORT
//SORTIN DD DSN=MY.INPUT.FILE,DISP=SHR
//SYSOUT DD SYSOUT=*
//*
//SRT1CNTL DD *            * sort #1 cntl statements
  SORT FIELDS=(......)
/*
//SYSOUT1 DD SYSOUT=*          * sort #1 SYSOUT
//SRT1OUT DD DSN=output.file.#1,
//           DISP=(NEW,CATLG,DELETE),
//           UNIT=SYSDA,
//           SPACE=(CYL,(x,y),RLSE)
//*
//SRT2CNTL DD *            * sort #2 cntl statements
  SORT FIELDS=(......)
/*
//SYSOUT2 DD SYSOUT=*          * sort #2 SYSOUT
//SRT2OUT DD DSN=output.file.#2,
//           DISP=(NEW,CATLG,DELETE),
//           UNIT=SYSDA,
//           SPACE=(CYL,(x,y),RLSE)
//


Hope this helps,

Thanks,

Phantom
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group