Prioritizing outbound OSA data

z/OS Communications Server supports four outbound transmission queues for OSA. The purpose of exploiting multiple transmission queues is to prioritize outbound work across the four OSA queues. The OSA firmware will then service each outbound queue based on priority definitions within the OSA architecture

This function is referred to as “OSA Outbound Priority Queuing” and is supported by both Network Express and OSA-Express. Four outbound transmission queues are used by both features. The numbering of the outbound queues is slightly different based on each feature (OSA-Express starts with Queue 1 and Network Express starts with Queue 2).

The VTAM D, NET TRLE output displays the activity for the four outbound (write) queues using the term “write number” vs. “queue number” (e.g. Write 1 vs. Queue 1) shown as follows:
  • OSA-Express four outbound queues (highest to lowest priority):
    • Write 1 (Queue 1)
    • Write 2 (Queue 2)
    • Write 3 (Queue 3)
    • Write 4 (Queue 4)
  • Network Express four outbound queues (highest to lowest priority):
    • Write 2 (Queue 2)
    • Write 3 (Queue 3)
    • Write 4 (Queue 4)
    • Write 5 (Queue 5)
Note: Network Express architecture uses the first two queues, Queues 0 and 1 for control operations.
Tip: The differences in the outbound queue numbering (starting at 1 vs. starting at 2) has no impact on how you configure the outbound priority of your workloads. Prioritizing outbound work is based on defining four outbound priorities (irrespective of queue number).

z/OS Communications Server supports four priority values for OSA outbound traffic, 1 through 4, with 1 being the highest priority. Priorities with lower numbers are given preferential treatment by the OSA device driver and the OSA feature.

There are two methods for configuring the priority of your OSA outbound traffic using:
  • WLMPRIORITYQ parameter
  • QoS Policy definitions

Using WLMPRIORITYQ Parameter for OSA outbound priority queuing

The z/OS® Workload Manager (WLM) provides a priority associated with each unit of work that runs a TCP/IP socket API to send data. The priority provided by WLM is related to the WLM service class associated with the unit of work. The unit of work can derive its priority from the service class associated with the address space in which it is running or from the service class associated with the enclave to which it belongs. The priorities provided by WLM, from highest priority to lowest priority, are as follows:

  • System-defined service class (SYSTEM), used for system address spaces
  • System-defined service class (SYSSTC), used for high-priority started tasks
  • User-defined service classes with importance level 1
  • User-defined service classes with importance level 2
  • User-defined service classes with importance level 3
  • User-defined service classes with importance level 4
  • User-defined service classes with importance level 5
  • User-defined service classes associated with a discretionary goal

For more information about WLM and the WLM service classes, see z/OS MVS Planning: Workload Management and z/OS MVS Programming: Workload Management Services.

To influence the OSA outbound traffic priority, use the WLMPRIORITYQ parameter on the GLOBALCONFIG profile statement. The WLMPRIORITYQ parameter automatically extends the preferential treatment of the most important workloads for a business through the OSA device driver all the way to the LAN. When the WLMPRIORITYQ parameter is specified and a packet with a ToS or traffic class value 0 is sent over OSA, Communications Server sets the OSA write priority of the packet based on the priority value provided by the WLM service class. In addition, the WLMPRIORITYQ parameter can be used to influence the OSA outbound traffic priority of forwarded packets with a ToS or traffic class value 0.

For more information about the GLOBALCONFIG statement, see z/OS Communications Server: IP Configuration Reference.

Restrictions:
  • Prioritization using the WLM service class is effective only when enabled and when the ToS or traffic class value is 0.
  • Prioritization using the WLM service class is only applicable to OSA interfaces.
  • Prioritization of forwarded packets is ineffective unless DATAGRAMFWD is specified on the IPCONFIG statement, the IPCONFIG6 statement, or both statements.
  • The WLMPRIORITYQ setting for forwarded packets has no effect on accelerated packets. To set the write priority for accelerated packets:
    • For OSA-Express, use QDIOPRIORITY on the IQDIOROUTING parameter or the QDIOACCELERATOR parameter on the IPCONFIG profile statement.
    • For Network Express, use QDIOACCELERATOR parameter on the IPCONFIG profile statement.
    For more information about the IPCONFIG statement statement, see z/OS Communications Server: IP Configuration Reference.

Using QoS Policy for OSA outbound priority queueing

Another way to influence the OSA outbound traffic priority is to specify the OSA priority value on the SetSubnetPrioTosMask statement in a Quality of Service (QoS) policy. The SetSubnetPrioTosMask statement maps the IPv4 type of service (ToS) byte or IPv6 traffic class to these four OSA traffic priorities. For more information about the Intersubnetwork, see z/OS Communications Server: IP Configuration Reference.
Restriction:
  • Prioritization of forwarded packets is ineffective unless DATAGRAMFWD is specified on the IPCONFIG statement, the IPCONFIG6 statement, or both statements.
  • The prioritization of forwarded packets has no effect on accelerated packets. To set the write priority for accelerated packets:
    • For OSA-Express, use QDIOPRIORITY on the IQDIOROUTING parameter or the QDIOACCELERATOR parameter on the IPCONFIG profile statement.
    • For Network Express, use QDIOACCELERATOR parameter on the IPCONFIG profile statement.
For more information about the IPCONFIG statement statement, see z/OS Communications Server: IP Configuration Reference.