A primary function of the SMC is to influence the operating system selection of tape drives during allocation to ensure that acceptable devices are selected in a StorageTek TapePlex and virtual environment. In addition, the SMC creates a preferred list of acceptable devices based on specific volume location, scratch load balancing, and user policies.
Generally, SMC allocation cannot add devices to the original list created from the job's JCL. It can only eliminate unacceptable devices and preference the remaining acceptable devices.
The SMC determines the list of drives acceptable for each tape allocation by applying a series of criteria (known as "exclusion levels") to the initial set of devices, removing those drives that do not meet the criteria. This process is known as drive exclusion.
If the SMC attempts to apply a particular exclusion criterion and therefore, all remaining eligible drives are excluded, messages SMC0045 and SMC0046 are displayed indicating that a particular exclusion criterion could not be applied. However, the exclusion process continues, with the SMC applying subsequent criteria if possible.
SMC allocation may intentionally cause a job to fail allocation when it appears that a mount to any of the drives in the available list would fail. For example, a volume with a media STK1R cannot be physically mounted on a 9490 drive, and a nonlabeled tape cannot be virtual.
Additionally, some customers may prefer to fail a job in allocation rather than use undesired scratch media or require a specific volume to be ejected and entered into a different ACS. You can use the SMC ALLOCDEF
(or ALLOCJOB
) MINLVL parameter to fail jobs in allocation, or conversely, to override the SMC default behavior of failing jobs in allocation.
Setting MINLVL=0 specifies that the SMC should NEVER fail a job in allocation.
The default MINLVL, 2, indicates that jobs should be failed in allocation only for incompatible media or virtual label type.
Customers may set MINLVL to higher values if desired. See "Drive Exclusion" for detailed information about SMC exclusion levels for specific and scratch volumes.
After all exclusion criteria have been applied, the remaining drives are arranged in order of their desirability based on policy, volume location or scratch count, and last mount time. This process is known as drive prioritization. During this process, the SMC also sets flags in MSP control blocks to indicate that the mount should be deferred until OPEN, unless a policy specifies that mounts should not be deferred.
Note:
SMC allocation does not consider the status of the drives (for example offline, busy) when selecting drives eligible for an allocation request. If all SMC-selected drives are unavailable, the job enters allocation recovery.The drive exclusion process includes the following steps:
The SMC examines the initial list of eligible devices for each tape DD in each jobstep (or dynamic allocation), and gathers policy information from various sources, including a combination of SMC POLicy
commands and TAPEREQ control statements and user exits.
The SMC uses policy information to select the ”owning TapePlex” for each tape allocation. If a POLICY specifies a TapePlex name, or specifies an esoteric that contains devices controlled by a single TapePlex, then that TapePlex is selected as the owner for allocation.
When multiple TapePlexes are eligible for ownership of the application, the first TapePlex that returns a successful status is selected as the owner. For a specific volume request, a successful response indicates that the volume is in the library or is defined as a virtual volume. For a scratch request, a successful response indicates that the TapePlex has available scratch volumes for the requested media and scratch subpool.
The SMC performs "volume lookup" by communicating with one or more TapePlexes, and gathering information about specific volume characteristics and location, in addition to available scratch volumes. If the SMC is unable to obtain this information from a TapePlex, the ALLOCDef
FAILnoinfo parameter may be used to control whether the job is allowed to fail in allocation or to proceed based only on available policies.
The SMC applies the information received from volume lookup and policies using an ordered set of levels, with the earliest (lowest numbered) levels applied first and least important levels applied later. For example, level 2 is considered more important, and is applied before level 3.
Whenever application of a particular exclusion would eliminate all drives, the SMC ignores the criterion and continues with the next exclusion level.
Note the following:
See Chapter 4, "Policy" for a description of SMC Policy specification.
Refer to the ELS Legacy Interfaces Reference for more information about user exits.
For a specific volume allocation, the SMC excludes drives in order from lowest exclusion level to highest, based on the criteria in the following table. The lower the level number, the more important the exclusion criteria.
Keywords associated with each exclusion level are specified in the exclusion criteria displayed in messages SMC0043 and SMC0046.
Table 5-1 Drive Exclusion Levels (Specific Request)
Level | Specific Volume Criteria | Keyword |
---|---|---|
MultipleTapePlexPre-Req 1 |
Exclude drives not in requested TapePlex Primary source: Secondary source: Specific volume user exit (08/13) TAPEPLEX |
None |
MultipleTapePlexPre-Req 2 |
Exclude drives based on ESOTERIC when the esoteric only includes devices in one TAPEPLEX. Primary source: Secondary source: Specific volume user exit (08/13) ESOTERIC |
None |
MultipleTapePlexPre-Req 3 |
Exclude drives based on unsuccessful volume lookup. Only drives in the first TapePlex that has a successful volume lookup remain eligible. If no TapePlex has a successful volume lookup, then the first defined TapePlex is used. |
None |
1 |
For non-labeled (NL) specific volume requests, exclude all virtual drives.Exclude all MODEL=IGNORE drives.Exclude drives incompatible with the volume media. Primary source: external volume label Secondary source: VOLATTR MEDIA parameter The volume media can be obtained from the volume label or from an HSC VOLATTR statement MEDIA parameter. |
|
2 |
For virtual volumes only, exclude virtual drives that reside in an inaccessible VTSS or in a VTSS to which a migrated virtual volume cannot be recalled. This is the default minimum level. |
AVAILVTSS |
3 |
Exclude drives based on the required recording technique. Source: VOLATTR RECTECH parameter or volume density (that is, 9840A/B and 9840C). |
VOLATTRRECTECH |
4 |
Exclude drives based on user location policies. Primary source: Secondary source: Specific volume user exit (08/13) or affinity separation exit (10/12) return codes. |
USERPOLICY |
5 |
Exclude drives based on the SMC ALLOCDEF EXTVOLESOT esoteric. |
EXTVOLESOT |
6 |
Exclude drives based on volume location type (that is, library or nonlibrary). |
LOCTYPE |
7 |
Exclude drives based on the ACS location of the volume (for library volumes), and the resident VTSS for virtual volumes. |
ACSORVTSS |
8 |
Exclude drives based on the requested recording technique. Primary source: |
POLRECTECH |
The following example illustrates how the SMC applies exclusion levels to influence the allocation of specific volumes.
JCL:
//DDNAME DD DSN=ABC.DEF,DISP=OLD
Policy specification:
POLICY NAME(POL1) VOLTYPE(SPECIFIC) ESOTERIC(A19840B,A19840A) RECTECH(STK1RB) TAPEREQ DSN(ABC.*) POLICY(POL1)
Volume lookup information:
Specific volume VOL123
SMC volume lookup indicates that VOL123 has a media type of STK1R single density in TapePlex HSCLIB ACS 0.
Allocation Exclusion Processing:
Starting at exclusion level 1, the SMC excludes all non-9840 devices (those not compatible with the volume media).
Level 2 has no effect.
The SMC does not exclude any devices at level 3 since there was no HSC VOLATTR to limit the volume to single density drives.
The SMC excludes all drives not in the esoteric A19840B or A19840A.
The SMC does not exclude any devices at level 5 because the volume is in the TapePlex.
The SMC excludes all nonlibrary drives, if any remain.
The SMC attempts to exclude all drives not in ACS 0. However, since the remaining devices at this point include only 9840 drives in ACS1 (based on the esoterics A19840B and A19840A), there are no drives remaining in the EDL after this exclusion.
The SMC then "backs up" to the EDL as it was before the level 7 exclusion and issues messages SMC0045/SMC0046 specifying ACSORVTSS as the conflicting criterion.
Only drives in esoterics A19840B and A19840A remain eligible, based on exclusion level 4.
Level 8 has no effect.
Allocation preference processing:
During drive prioritization, SMC assigns a higher preference value to drives in esoteric A19840B, and a lower preference value to drives in A19840A.
For a scratch volume allocation, the SMC excludes drives in order from lowest exclusion level to highest based on the criteria in Table 5-2. The lower the level number, the more important the exclusion criteria.
Keywords associated with each exclusion level are specified in the exclusion criteria displayed in messages SMC0043 and SMC0046.
Table 5-2 Drive Exclusion Levels (Scratch Request)
The following example illustrates how the SMC applies the exclusion levels to influence the allocation of scratch volumes.
JCL:
//DDNAME DD DSN=DEF.GHI,DISP=NEW
Policy specification:
POLICY NAME(POL2) VOLTYPE(SCRATCH) SUBPOOL(SP1) MEDIA(ECART) MODEL(9490) TAPEREQ DSN(DEF.*) POLICY(POL2) SMC ALLOCDEF ZEROSCR(ON)
Scratch user exit returns use SUBPOOL(SP2) and ESOTERIC(XYZ).
Volume lookup information:
SMC volume lookup reports that TapePlex HSCLIB has scratch volumes in subpool SP1.
Allocation exclusion processing:
Starting at exclusion level 1, the SMC excludes drives which have an SMC UNITATTR
command specifying MODEL=IGNORE.
Level 2 has no effect.
The SMC excludes all devices that do not support a media ECART.
Because POLicy is specified, the user exit esoteric XYZ is ignored, and level 4 has no effect. Message SMC0197 is issued to indicate this.
The SMC excludes all drives not compatible with the scratch volumes in subpool SP1 (TAPEREQ policy overrides user exit policy).
The SMC excludes all nonlibrary drives.
If scratch volumes for SP1 exist only in a single ACS, the SMC excludes drives in other ACSs.
The SMC excludes all remaining drives that do not have a MODEL of 9490.
The following example illustrates how the SMC applies the exclusion levels to influence the allocation of virtual scratch volumes.
JCL:
//DDNAME DD DSN=GHI.JKL,DISP=NEW
Policy specification:
POLICY NAME(POL3) VOLTYPE(SCRATCH) ESOTERIC(VTSS1) SUBPOOL(VIRT1) MGMTCLAS(MGMT1) TAPEREQ DSN(GHI.*) POLICY(POL3) SMC ALLOCDEF SMS(ON)
As MGMT2 is not a valid policy name, it is ignored and the policy from TAPEREQ POL3 is used.
Volume lookup information:
SMC volume lookup returns a list of VTSSs eligible for scratch allocation. In this example the list returned is VTSS2 and VTSS3 based on online VTSSs with access to ACSs and RTD recording techniques compatible with MGMT1.
Allocation exclusion processing:
Starting at exclusion level 1, the SMC excludes drives which have an SMC UNITATTR
command specifying MODEL=IGNORE.
The SMC excludes all virtual drives not in either VTSS2 or VTSS3.
The SMC excludes all non-virtual drives because the POLICY esoteric VTSS1 contains only virtual drives.
The SMC excludes all drives not in VTSS1.
Since VTSS1 is not one of those returned by HSC/VTCS, the SMC "backs out" the level 4 exclusion and issues messages SMC0045/SMC0046, but continues other processing. Only drives in VTSS2 and VTSS3 remain eligible, based on exclusion level 2.
In this example, the remaining exclusion levels have no effect.
Explicit unit affinity is an MSP facility that allows volumes associated with two separate JCL DD statements, or allocation requests, to be mounted serially on the same drive. A request for all generations of a GDG group (GDG ALL chain) can be considered as a GDGALL affinity.
The SMC makes no distinction between these two types of affinity. When processing an affinity chain, the drive exclusion process examines each allocation in the chain separately up to and including the minimum exclusion level. The chain is always separated when the minimum exclusion level processing results in lists of eligible drives, for two or more members of the chain, that do not contain common drives.
For example:
//DD1 DD UNIT=CART,DSN=MY.STK1R.DATASET,DISP=OLD //DD2 DD UNIT=AFF=DD1,DSN=MY.LONGI.DATASET,DISP=OLD
DD1 specifies a data set on 9840 or T9840B media and DD2 specifies a data set on longitudinal media. Drive exclusion level 1 for specific volumes creates a list of eligible drives for each DD according to volume media required. The two lists do not contain a common drive. As a result, the SMC breaks the affinity chain between DD1 and DD2, and the two DD statements no longer represent one drive allocation but two separate allocation requests.
For SMC affinity chain processing, the head of the affinity chain containing only scratch or only specific volumes is the first DD statement in the chain. If an affinity chain contains both scratch and specific volumes, the first specific volume is treated as the head of chain.
After the minimum level of drive exclusion and affinity separation completes, user policy influences the remaining affinity separation decisions.
You can use the ALLOCDef
or ALLOCJob
SEPLvl parameter to specify that affinity chains NOT be separated based on the exclusion levels described in this chapter. You can also use user exits 10 and 12 to control affinity separation. Refer to the ELS Legacy Interfaces Reference for more information.
SMC drive priority is assigned based on the following criteria:
For specific volumes, drives in LSMs closest to the volume are preferred. The SMC sets equal priority value for drives that are located the same number of passthrus away from the specific volume.
For scratch volumes, drives in LSMs with the largest number of scratch volumes matching the policy-requested media and recording technique are preferred.
The POLicy
ESOTeric list causes drives to be preferred according to the order specified in the esoteric list.
The POLicy
PREFer parameter indicates the relative priority of LSM location (location for specific volumes), the esoteric list (esoteric for both scratch and specific volumes) and scratch count (count for scratch volumes) in determining the preference value of each device.
Note:
Refer to the ELS Legacy Interfaces Reference for other prioritization factors.After a final list of drives has been selected for allocation, the preference order of the eligible drives (after considering LSM and drive type preferencing) is selected based on a "last use" algorithm.
To reduce excessive wear on allocated drives, the SMC assigns drive preference values by rotation based on the "last mount time" for each drive. This value is examined for every drive in the final drive list. The drive that had the most recent mount is located, and the drive immediately following it in the list is selected as the most preferred for the current allocation.
Note:
This algorithm does not apply to virtual drives.By default, the SMC defers all automated tape mounts. The SMC ALLOCDef
command DEFER parameter can be set to override this default. For optimal performance, it is recommended that you use the default DEFER(ON). Refer to the ELS Command, Control Statement, and Utility Reference for more information about the SMC ALLOCDef
command.
Note:
Virtual mounts are always deferred.The SMC does not influence the following types of cartridge tape allocation:
Demand allocation (that is, request for a specific drive(s))
Note:
The SMC performs DEFER processing for demand allocation.Allocations excluded explicitly by entering the ALLOCJob
command BYPASS parameter. Refer to the ELS Command, Control Statement, and Utility Reference for more information about the SMC ALLOCDef
command.
Allocations where the list of eligible devices contains only devices that are "unknown" (that is, not virtual, not library, and not defined in an SMC UNITAttr
command).
The SMC examines all I/O device allocations on a JES system to determine whether to process the allocation request.
The SMC uses the MSP subsystem interface (SSI) IEFJFRQ Subsystem Function Request exit to gain control during tape allocation events. The SMC takes control in the JES environment for the SSI24 (common allocation) Subsystem Function.
During SSI24 common allocation processing, the SMC performs the following processes to arrive at the best set of eligible drives:
Drive exclusion
Unit affinity separation
Defer processing (when CA1RTS is set to ON)
EDL updated with the drive exclusion results (when MIACOMPAT is set to ON)
The results of the drive exclusion process are not reflected in MSP control blocks until tape allocation time, unless MIACOMPAT or CA1RTS is set to ON.
The results of unit affinity separation are used to update MSP VOLUNIT entries in the SIOT.