|
View previous topic :: View next topic
|
| Author |
Message |
seman18
New User
Joined: 08 Feb 2009 Posts: 67 Location: hz
|
|
|
|
I doubt if I can reduce the eclipsed time for following job, can someone give any advices, thx! BTW, the sortin is tape file, and sortout is ps file
| Code: |
//SORT EXEC PGM=SYNCSORT,REGION=0K
//SORTIN DD DSN=XXX.XXX.DAILY(0),DISP=SHR
//SORTOUT DD DSN=XXXX,XXXX,XXXX,DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,(25,32),RLSE),
// DCB=(RECFM=FB,LRECL=1092,BLKSIZE=22932)
//SORTWK01 DD UNIT=SYSDA,
// SPACE=(CYL,(20,32),RLSE)
//SORTWK02 DD UNIT=SYSDA,
// SPACE=(CYL,(20,32),RLSE)
//SORTWK03 DD UNIT=SYSDA,
// SPACE=(CYL,(20,32),RLSE)
//SORTWK04 DD UNIT=SYSDA,
// SPACE=(CYL,(20,32),RLSE)
//SORTWK05 DD UNIT=SYSDA,
// SPACE=(CYL,(20,32),RLSE)
//SORTWK06 DD UNIT=SYSDA,
// SPACE=(CYL,(20,32),RLSE)
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,4,CH,A,11,9,CH,A,28,6,CH,A)
INCLUDE COND=(9,2,CH,EQ,C'00',AND,135,1,CH,EQ,C'1')
|
[/code] |
|
| Back to top |
|
 |
CICS Guy
Senior Member

Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
|
|
|
|
Can you do buffers on the SORTIN? Do you need to do buffers on the SORTIN?
Does the INCLUDE take effect after the sort or before?
The RLSEs are not needed, are any of the SORTWKs needed? Is your specifing them limiting Syncsort's own abilities to dynamically allocating a better value/number?
Have you checked your sort manual? |
|
| Back to top |
|
 |
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1248 Location: Richfield, MN, USA
|
|
|
|
| Both Syncsort and DFSORT use their own BUFNO values for input and output. |
|
| Back to top |
|
 |
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
and INCLUDE takes effect before the sort
Gerry |
|
| Back to top |
|
 |
Anuj Dhawan
Superior Member

Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
| You might like to consider PARASORT as your SORTIN is on tape. Is yout sortin multi-volume? Then too ,you should be considering PARASORT. PARASORT allows you to read more than one volume at a time. PARASORT is fully documented in Chapter 10 of the SyncSort for z/OS Programmer's Guide. |
|
| Back to top |
|
 |
Anuj Dhawan
Superior Member

Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
| Quote: |
| I doubt if I can reduce the eclipsed time for following job, can someone give any advices, thx! BTW, the sortin is tape file, and sortout is ps file |
- What is eclipsed, in this context?
- I believe you meant elapsed time?
- If yes, how much elapsed time?
- How many records are there in sort-in, any estimate you have?
| Quote: |
| and sortout is ps file |
ok, file on tape is also, essentially, a sequential file - did you mean it's on DASD? |
|
| Back to top |
|
 |
Anuj Dhawan
Superior Member

Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
One more time - Tuning SyncSort is usually application specific. So, we'll be intrested to see "B" messages, if they are not already present in SYSOUT, you can add the following to the sort step(s) in question:
| Code: |
//$ORTPARM DD *
MSG=AP,LIST,BMSG |
and post us back the details. |
|
| Back to top |
|
 |
Marso
REXX Moderator

Joined: 13 Mar 2006 Posts: 1356 Location: Israel
|
|
|
|
You can try any (or all) of the following:- Run the sort without SORTWK. Syncsort should be smart enough to allocate exactly what it needs, and that may be different from what you gave.
- Copy the tape to disk and run the sort from there. You will be able to see the cost of the tape reading and of the sort itself separately.
- Check if the blocksize for the tape records is optimized. Small blocks may lead to a lot of I/Os and be costly.
Come back to tell us what happened. |
|
| Back to top |
|
 |
seman18
New User
Joined: 08 Feb 2009 Posts: 67 Location: hz
|
|
|
|
I remove the sortwk statement, however, it doesn't help.
how can I do buffer on sortin, I will try it! |
|
| Back to top |
|
 |
Anuj Dhawan
Superior Member

Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
| seman18 wrote: |
| I remove the sortwk statement, however, it doesn't help. |
Removing sortwork should not affect elasped time, if you code them sort will look for them (and they will be checked for syntax error) otherwise it'll pick, how many are neede, as per DYNALLOC parameter.
I hope other posts of mine are visible at other end (some body tell me )- you might like to consider them... |
|
| Back to top |
|
 |
PeterHolland
Global Moderator

Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
| How about operator intervention time for tape handling? |
|
| Back to top |
|
 |
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1248 Location: Richfield, MN, USA
|
|
|
|
| seman18 wrote: |
| how can I do buffer on sortin, I will try it! |
See my previous post, seman18. |
|
| Back to top |
|
 |
mmwife
Super Moderator

Joined: 30 May 2003 Posts: 1592
|
|
|
|
Hi Seman,
Anuj's suggestion of PARASORT is probably your best bet. Peter's ques about vol mount delays can be be addressed by specifying 2 tape units in your JCL. It also can negate the time lost in tape rewinds.
But that assumes the tape operator hasn't fallen asleep.  |
|
| Back to top |
|
 |
seman18
New User
Joined: 08 Feb 2009 Posts: 67 Location: hz
|
|
|
|
I try to use parasort based on this discussion, however, I got JCL Error
| Code: |
//SORT EXEC PGM=SYNCSORT,PARM='PARASORT,NOEQUALS'
//SORTIN DD DSN=xxx.xxx.xxx(0),DISP=SHR
//SORTPAR1 DD DSN=*.SORTIN,DISP=OLD,UNIT=AFF=SORTIN
//SORTPAR2 DD DSN=*.SORTIN,
// DISP=(NEW,KEEP,KEEP),UNIT=(CART,,DEFER),VOL=PRIVATE
***ERROR - DSS4352E - DISP FIELD INCOMPATIBLE WITH DSNAME
//SORTPAR3 DD DSN=*.SORTIN,
// DISP=(NEW,KEEP,KEEP),UNIT=(CART,,DEFER),VOL=PRIVATE
***ERROR - DSS4352E - DISP FIELD INCOMPATIBLE WITH DSNAME
//SORTPAR4 DD DSN=*.SORTIN,
// DISP=(NEW,KEEP,KEEP),UNIT=(CART,,DEFER),VOL=PRIVATE
***ERROR - DSS4352E - DISP FIELD INCOMPATIBLE WITH DSNAME
//SORTOUT DD DSN=xxx.xxx.xx,DISP=OLD
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,4,CH,A,11,9,CH,A,28,6,CH,A)
INCLUDE COND=(9,2,CH,EQ,C'00',AND,135,1,CH,EQ,C'1') |
|
|
| Back to top |
|
 |
Anuj Dhawan
Superior Member

Joined: 22 Apr 2006 Posts: 6248 Location: Mumbai, India
|
|
|
|
| Code: |
| ***ERROR - DSS4352E - DISP FIELD INCOMPATIBLE WITH DSNAME |
| Code: |
| ***ERROR - DSS4352E - DISP FIELD INCOMPATIBLE WITH DSNAME |
| Code: |
| ***ERROR - DSS4352E - DISP FIELD INCOMPATIBLE WITH DSNAME |
All these are JCL syntax-check errors - And before you use SORTPARn, you need to decide for SORTIN if that qualifies for any of these cases:
• A multi-volume cataloged data set
• A multi-volume uncataloged data set
• Concatenated single and multi-volume uncataloged data sets |
|
| Back to top |
|
 |
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1248 Location: Richfield, MN, USA
|
|
|
|
| It looks like you've defined some of your input data sets as NEW and your output as OLD. |
|
| Back to top |
|
 |
seman18
New User
Joined: 08 Feb 2009 Posts: 67 Location: hz
|
|
|
|
hi Anuj Dhawan,
How can I indentify which case the sortin belong to, and then how to modify the sortin statement, thx! |
|
| Back to top |
|
 |
dick scherrer
Moderator Emeritus

Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
| Quote: |
| How can I indentify which case the sortin belong to |
What is the question here? What is "case"?
Terry told you of some problems. Have you corrected them?
What happened? |
|
| Back to top |
|
 |
seman18
New User
Joined: 08 Feb 2009 Posts: 67 Location: hz
|
|
|
|
I got the SYNCSORT Programming guide, and use the synclist to get the following information
| Code: |
3420 3480/90 3490E 3590
|----------|----------|----------|----------|
4-WAY | NOT | NOT | PARE41 | NOT |
INPUT | POSSIBLE | POSSIBLE | PARE42 | POSSIBLE |
| | | PARE43 | |
| | | PARE44 | |
|----------|----------|----------|----------|
3-WAY | NOT | NOT | PARE31 | NOT |
INPUT | POSSIBLE | POSSIBLE | PARE32 | POSSIBLE |
| | | PARE33 | |
|----------|----------|----------|----------|
2-WAY | NOT | NOT | PARE21 | NOT |
INPUT | POSSIBLE | POSSIBLE | PARE22 | POSSIBLE |
|----------|----------|----------|----------|
|
and I got the dataset in tape's detail using listcat as following
| Code: |
VOLSER------------411991 DEVTYPE------X'78048081'
VOLSER------------414254 DEVTYPE------X'78048081'
VOLSER------------414693 DEVTYPE------X'78048081'
VOLSER------------415183 DEVTYPE------X'78048081'
VOLSER------------415642 DEVTYPE------X'78048081'
VOLSER------------416409 DEVTYPE------X'78048081'
VOLSER------------416862 DEVTYPE------X'78048081'
|
then I modify my jcl, and got following error
| Code: |
//SORT EXEC PGM=SYNCSORT,PARM='PARASORT,NOEQUALS'
//SORTIN DD DSN=xxx.xxx.xx(0),DISP=(OLD,KEEP),
// UNIT=(PARE41,2,DEFER)
***ERROR - DSS4940E - UNABLE TO IDENTIFY UNIT NAME "PARE41 "
//SORTPAR1 DD DSN=*.SORTIN,DISP=OLD,UNIT=AFF=SORTIN
//SORTPAR2 DD DSN=*.SORTIN,
// DISP=(,KEEP,KEEP),UNIT=(PARE42,2,DEFER),VOL=PRIVATE
***ERROR - DSS4352E - DISP FIELD INCOMPATIBLE WITH DSNAME
***ERROR - DSS4940E - UNABLE TO IDENTIFY UNIT NAME "PARE42 "
//SORTPAR3 DD DSN=*.SORTIN,
// DISP=(,KEEP,KEEP),UNIT=(PARE43,2,DEFER),VOL=PRIVATE
***ERROR - DSS4352E - DISP FIELD INCOMPATIBLE WITH DSNAME
***ERROR - DSS4940E - UNABLE TO IDENTIFY UNIT NAME "PARE43 "
//SORTPAR4 DD DSN=*.SORTIN,
// DISP=(,KEEP,KEEP),UNIT=(PARE44,2,DEFER),VOL=PRIVATE
***ERROR - DSS4352E - DISP FIELD INCOMPATIBLE WITH DSNAME
***ERROR - DSS4940E - UNABLE TO IDENTIFY UNIT NAME "PARE44 "
//SORTOUT DD DSN=xxx.xxx.xxx,DISP=OLD
|
Device type is 78048081,which repsent 3490, so based the synclist information, does it means I cannot use parasort on this tape? |
|
| Back to top |
|
 |
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1248 Location: Richfield, MN, USA
|
|
|
|
| I don't have access to a Syncsort manual and you do. Aren't there any JCL examples in it for use with the PARASORT parameter? |
|
| Back to top |
|
 |
seman18
New User
Joined: 08 Feb 2009 Posts: 67 Location: hz
|
|
|
|
yes, there is a sample
| Code: |
//SORTIN DD DSN=....,DISP=(OLD,KEEP),UNIT=(PAR441,2,DEFER)
//SORTPAR1 DD DSN=*.SORTIN,DISP=OLD,
// UNIT=AFF=SORTIN
//SORTPAR2 DD DSN=*.SORTIN,DISP=(,KEEP,KEEP),
// VOL=PRIVATE,UNIT=(PAR442,2,DEFER)
//SORTPAR3 DD DSN=*.SORTIN,DISP=(,KEEP,KEEP),
// VOL=PRIVATE,UNIT=(PAR443,2,DEFER)
//SORTPAR4 DD DSN=*.SORTIN,DISP=(,KEEP,KEEP),
// VOL=PRIVATE,UNIT=(PAR444,2,DEFER)
|
| Code: |
3420 3480/90 3490E 3590
|----------|----------|----------|----------|
4-WAY | PAR241 | PAR441 | PARE41 | NOT |
INPUT | PAR242 | PAR442 | PARE42 | POSSIBLE |
| PAR243 | PAR443 | PARE43 | |
| PAR244 | PAR444 | PARE44 | |
|
[/code] |
|
| Back to top |
|
 |
dick scherrer
Moderator Emeritus

Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
In the manual (before the table you posted) is:
| Quote: |
For optimal PARASORT performance, SyncSort must be able to read each SORTPARn input DD simultaneously, with no channel contention. To ensure this, your system programming staff may have defined special esoteric unit names for use with PARASORT. Before creating a PARASORT application, you should contact your system programmer to verify that this work has been done and that the special names are available for use.
Note, however, that even if the work has been done, certain categories may be unavailable due to limited channel capacity.
To use special esoteric names, do the following:
1. Decide whether you would like to specify 4-way (up to SORTPAR4), 3-way (up to SORTPAR3) or 2-way (up to SORTPAR2) input.
2. In the table of special esoteric names provided by your systems programmer, find the name that corresponds to the tape type of the SORTIN data sets.
The following is a sample table of special esoteric names. This table is for illustration only; the names at your site may be different. |
Did you review this with your systems programmer(s)? |
|
| Back to top |
|
 |
seman18
New User
Joined: 08 Feb 2009 Posts: 67 Location: hz
|
|
|
|
| I specify 4-way, and use PARE41-PARE44 for SORTPAR, so can you tell mewhat's my problem? |
|
| Back to top |
|
 |
enrico-sorichetti
Superior Member

Joined: 14 Mar 2007 Posts: 10903 Location: italy
|
|
|
|
| Code: |
| **ERROR - DSS4940E - UNABLE TO IDENTIFY UNIT NAME "PARE44 " |
the esoteric names You are using are not defined
what was not clear in the syncsort manual quote ??? ...
| Quote: |
For optimal PARASORT performance, SyncSort must be able to read each SORTPARn input DD simultaneously, with no channel contention. To ensure this, your system programming staff may have defined special esoteric unit names for use with PARASORT. Before creating a PARASORT application, you should contact your system programmer to verify that this work has been done and that the special names are available for use.
Note, however, that even if the work has been done, certain categories may be unavailable due to limited channel capacity.
To use special esoteric names, do the following:
1. Decide whether you would like to specify 4-way (up to SORTPAR4), 3-way (up to SORTPAR3) or 2-way (up to SORTPAR2) input.
2. In the table of special esoteric names provided by your systems programmer, find the name that corresponds to the tape type of the SORTIN data sets.
The following is a sample table of special esoteric names. This table is for illustration only; the names at your site may be different. |
|
|
| Back to top |
|
 |
Alissa Margulies
SYNCSORT Support
Joined: 25 Jul 2007 Posts: 496 Location: USA
|
|
|
|
The Parasort Esoteric Unit Name Table produced by the SYNCLIST report program should provide the available drives.
Seman18,
Please email me offline at [email protected] and send me your SYNCLIST and the complete PARASORT job listing as text attachments and I would be happy to further assist you.
Regards,
Alissa |
|
| Back to top |
|
 |
|
|
 |
All times are GMT + 6 Hours |
|