Conventional volume selection

Conventional volume selection is used for all nonstriped data sets. It is also used for data sets that were allocated with an SDR of zero or blank.

Conventional volume selection uses the criteria that are specified in the storage class and the data class as preference attributes for volume selection. SMS uses the preference attributes in the following situations:
  • To classify the volume as primary, secondary, or tertiary. Only volumes that meet all of the requested attributes can be classified as primary volumes.
  • To assign a selection weight to the volume.
SMS begins by classifying each volume in a storage group as primary, secondary, tertiary, or rejected.
Primary
All the volumes in all the specified storage groups are candidates for the first, or primary, list.
Exception: When Multi-Tiered SG (Y) is specified in the storage class, only the volumes in the first storage group that is assigned by the ACS routine are eligible for the primary list. Also, volumes in Overflow and Extend storage groups are not eligible for the primary list.

The primary list consists of online volumes that meet all the requested preference attributes, are below their threshold, and whose volume status and storage group status are enabled. All volumes on this list are considered equally qualified to satisfy the data set allocation request. Volume selection starts from this list.

SMS chooses from the candidates on this list. It prefers volumes that are not already allocated to a job or subsystem and that have the least I/O delay, as determined by the system resource manager (SRM). If no devices in the storage groups meet all of the primary list criteria, no volumes will appear on the primary list. It is possible that, even though there are devices on this primary list, the data set cannot be successfully allocated to any of these devices. That is, there is not enough space available when the actual allocation request is made.

For example, if you specify a 25 MSR in your storage class, volumes that are close to an MSR of 25 would be POOL1 volumes. POOL1 volumes are those volumes that meet your MSR requirement by a certain percentage. Each MSR percentage represents a range of MSRs. All volumes that fall within an MSR percentage are considered equal in performance. Volumes that provide a faster MSR by a larger percentage than POOL1 volumes are considered POOL2 volumes. POOL2 volumes include POOL1 volumes plus the volumes in the next higher MSR percentage. POOL1 volumes are preferred over POOL2 volumes.

Primary volumes include online POOL1 and POOL2 volumes that can meet the selection preference attributes listed in Table 1, in addition to guaranteed space requirement.

Volume selection from the primary list can result in skewing in extreme circumstances. These circumstances include the occasions when a VTOC index is disabled or when a new volume is added to SMS and selected most of the time. SMS uses the randomizing technique to avoid favoring one volume over others, such as an empty volume, a volume with a disabled index, or a volume under the allocation threshold. You can force SMS to always use the randomizing technique by specifying a nonzero IART value. All fixed DASD volumes will be placed on the secondary list, which uses randomization between similar volumes.

Secondary
Volumes that do not meet all the criteria for the primary volume list are placed on the secondary list. If there are no primary volumes, SMS selects from the secondary volumes.
If a data set cannot be allocated on a primary volume, SMS continues to evaluate volumes on the secondary list until allocation is successful. SMS evaluates volumes in the secondary list based on volume characteristics, performance, available space, and system accessibility. For more information about volume selection preferences, see Table 1.
Tertiary
Volumes are marked for the tertiary list if the number of volumes in the storage group is less than the number of volumes requested. If there are no secondary volumes available, SMS selects from the tertiary candidates.

When a storage group does not contain enough volumes to satisfy the volume count, all volumes in the storage group are flagged as tertiary. Tertiary volumes are only selected when there are no primary or secondary volumes and the request is for a non-VSAM, non-GUARANTEED SPACE request. The concept of tertiary volumes does not apply to VSAM data sets. In other words, for all VSAM non-GUARANTEED SPACE requests, the volume count does not play a role in determining which storage group is selected.

Start of changeRejectedEnd of change
Start of changeVolumes that do not meet the required allocation specifications (ACCESSIBILITY = CONTINUOUS, AVAILABILITY = STANDARD, or CONTINUOUS, ENABLED or QUIESCED, ONLINE...) are marked rejected. Those volumes are not candidates for selection. End of change

After the system selects the primary space allocation volume, that volume's associated storage group is used to select any remaining volumes that were requested for the data set. If you specify an extend storage group, the data may be extended to the specified extend storage group. For more information about how to specify an extend storage group by using the Extend SG Name parameter, see Defining a pool storage group.

When the allocation fails due to insufficient space, users can, through use of Space Constraint Relief option in Data Class, indicate to SMS that they want to attempt a retry. SMS will retry the allocation request with Space Constraint Relief. For more information, see Space constraint relief.

Start of change

Types of allocation

To improve performance, SMS limits the number of eligible volumes to those most likely to satisfy the request. Two types of allocations are used: best-fit and non-best-fit.

  • The term best-fit implies that the allocation request was likely the result of a recall, copy, or restore operation. SMS might have used multiple volumes to satisfy the allocation request.
    • If the caller indicates that space constraint can be used, SMS will retry the best-fit allocation with the 5-extent limit removed, regardless of what the setting is in the data class SPACE CONSTRAINT RELIEF parameter.
    • For best-fit allocations where the primary space can be spread out on multiple volumes, DADSM is called until the primary space requested has been completed or the maximum number of volumes has been used and not all of the requested space has been received. SMS will reject the storage group after 59 volumes have been rejected by DADSM for insufficient space.
    The remaining volumes in the storage group are not considered for further selection because they are less preferred and are less likely to fulfill the allocation request.
    For best-fit allocations where the primary space can be spread out on multiple volumes, DADSM is called. The allocation continues until one of the following situations occurs:
    • The primary space request is completed.
    • The maximum number of volumes is reached but the requested space has not yet been completely received. SMS will reject the storage group after DADSM rejects 59 volumes for insufficient space.
    The remaining volumes in the storage group are not considered for further selection because they are less preferred and are less likely to fulfill the allocation request.
  • For non-best-fit allocation where the primary space must be gotten on one volume, SMS will exclude a volume from selection if the requested primary space exceeds its total capacity. For non-best-fit allocations that use fast volume selection, SMS performs volume selection from the prioritized list until 100 volumes have been rejected by DADSM for insufficient space. When that occurs, SMS will exclude, based on the volume statistics in the SMS configuration, all volumes that do not have enough free space. This fast volume selection approach can greatly reduce the number of candidate volumes, and thus the number of retries. You can activate fast volume selection by using the FAST_VOLSEL(ON) parameter in the IGDSMSxx parmlib member or the SETSMS FAST_VOLSEL(ON) command.
End of change