Determining the size of the JCT data set
- Calculate the size, in bytes, of the JCT entry within the JCT
data set:
where:xxx= (4 x max SEs) + zzz + 28 bytes (prefix)- xxx is the size, in bytes, of a single JCT.
- 4 is the size of one JCT scheduler element in the JCT.
- Max SEs is the maximum number of scheduler elements as specified on the SE parameter of the OPTIONS initialization statement (10 through 90 is the valid range - 10 is the default).
- zzz is the size, in bytes, of the fixed JCT. Field JCTFSIZE in the IATYJCT macro defines this value. If you have modified the size of your JCT by making changes to IATYJCT, IATYCNDB or IATYFDB, use the value (from an assembled listing) in JCTFSIZE as the zzz value in the formula. If you have not modified the size of the JCT, the value of JCTFSIZE is 668 bytes.
- 28 is the size, in bytes, of the SRF header prefix mapped when using the IATYSRF macro.
- Determine the number of JCTs per cylinder. For IBM® 3380
and 3390 devices, use the following documents to determine the number
of JCTs that will fit on a track and cylinder:
- Using IBM 3390 Direct Access Storage in an MVS™ Environment
- 3380 Direct Access Storage Introduction
Note: JCT records are without keys. A portion of the information from Using IBM 3390 Direct Access Storage in an MVS Environment , the topic entitled "Records without Keys" is relevant to JCT records and is included below:Table 1. Physical blocks per track and cylinder Data Length Range Percent Max Track Capacity (*) Max Cylinder Capacity (*) Min Max Used (*) Records Bytes Records Bytes 1019 1086 63.2 33 35838 495 537570 985 1018 61.1 34 34612 510 519180 951 984 60.8 35 34440 525 516600 889 950 60.4 36 34200 540 513000 855 888 58.0 37 32856 555 492840 821 854 57.3 38 32452 570 486780 787 820 56.4 39 31980 585 479700 753 786 55.5 40 31440 600 471600 719 752 54.4 41 30832 615 462480 691 718 53.2 42 30156 630 452340 657 690 52.4 43 29670 645 445050 623 656 50.9 44 28864 660 432960 589 622 49.4 45 27990 675 419850 Note: (*) Calculations are made using the maximum size record in a range.The column "Maximum Track Capacity Records" will give how many JCTs per track a 3390 can contain.
The column "Maximum Cylinder Capacity Records" will give how many JCTs per cylinder a 3390 can contain.
The size ranges shown in this table will cover most of the likely JCT record sizes. For other JCT sizes, 3380 DASD, and other devices, consult the appropriate documents.
- Determine the required size of the JCT data set:
where:JCT data set (64 + max # of jobs) size = ---------------------------- in cylinders number of JCTs per cylinder- The JCT data set size in cylinders must be incremented to the next whole number if the result is not a whole number.
- 64 is the number of JCTs JES3 reserves for write error recovery.
- The max # of jobs is the maximum number of jobs that can simultaneously be in your JES3 complex.
- The number of JCTs per cylinder (as explained in the device specific table - of step #2 above).
- JES3 reserves 64 or more JCT records in the JCT data set for "write" error recovery unless the number of records in the JCT data set is less than or equal to 64. If your JCT contains 64000 records and you specify JOBNO=(1,64000, 64000) on the OPTIONS statement, the number of jobs in the system is limited to 64000 - 64 = 63936. If you wanted to have 64,000 jobs in the system and specified JOBNO=(1, 64000,64000), the JCT data set would have to contain 64064 records to allow for the 64 records needed for "write" error recovery. On the other hand, if your JCT contains 64000 records and you specify JOBNO=(1,63000,63000) on the OPTIONS statement, the job number range is limited to 63000, and 1000 JCT records are reserved for "write" error recovery (64000 - 63000 = 1000).
- The JCT data set should be allocated on a cylinder boundary.
- In order to change the size or placement of the JCT data set, you must either perform a cold start or use the IATUTJCT utility. See JCT Utility (IATUTJCT) for more information on changing your JCT data set.
- If you have not modified the length of the JCT by changes to IATYJCT,
IATYCNDB, or IATYFDB, and you use the default number of SE entries
(10), then a JCT entry is 736 bytes long.
- 38 entries per track or 570 entries per cylinder on a 3380 device
- 41 entries per track or 615 entries per cylinder on a 3390 device
- The JCT data set can be greater than 65,535 tracks
only if you specify the DSNTYPE=LARGE keyword on the JCL DD statement
that is used to create the data set.
- Creating or using a large format data set requires z/OS V1R7 or later. The large format data set cannot be opened on earlier-level systems.
- Unless you take special action, a JCT data set will
not have extended attributes and will not be EAS-eligible. To create
a data set with extended attributes that is EAS-eligible, code the
EATTR=OPT keyword on the JCL DD statement that is used to create the
data set; then the data set can exist in the Extended Addressing Space
(EAS) of an Extended Address Volume (EAV).
- Creating or using a data set with extended attributes requires z/OS V1R12 or later. A data set with extended attributes and residing in the EAS cannot be opened on earlier-level systems.
Example
- Calculate the size, in bytes, of the JCT entry within the JCT
data set:
xxx= (4 x max SEs) + zzz + 28 bytes (prefix) 756= (4 x 15) + 668 + 28 - Determine the number of JCTs per cylinder:
Using the 3390 capacity table above, a 756 byte record falls within the 753 - 786 data length range, and 600 of these records will fit in a 3390 cylinder.
- Determine the required size of the JCT data set:
Since the result is not a whole number, it must be incremented to the next whole number, 34.JCT data set (64 + max # of jobs) size = ---------------------------- in cylinders number of JCTs per cylinder 33.44 = (64 + 20,000) / 600
Conclusion
You require a JCT data set size of 34 cylinders.
You can allocate the JCT data set by including the //JES3JCT DD statement in the JES3 cataloged start procedure or by using a DYNALLOC initialization statement (see Figure 1 for a sample of the JES3 cataloged procedure).