5.2.9. QOSGroups Parameters
Note
QoS and QOSGroups are mutually exclusive.
QOS groups are defined within the QOSGroups section. This section contains zero or more QOSGroup sections.
The layout is as follows:
<QOSGroups>
<QOSGroup>
<!-- qos group parameters -->
</QOSGroup>
</QOSGroups>
Note
A working example configuration for QOSGroup is provided in the opafm_pp.xml configuration file.
The Subnet Manager configures all SL and VL assignments when first starting up. By defining all expected levels of QoS at startup, this enables adding and removing Virtual Fabrics dynamically. Since each Virtual Fabric must join an already existing QOSGroup, it ensures that the QoS of the fabric is not modified, thus avoiding disruption on currently active fabrics.
When setting up QoS, the user should identify the maximum bandwidth for each SL when the link is saturated. High-priority, low-volume groups can be configured with the HighPriority setting. If not configured, the BaseSL is assigned, and the MulticastSL is assigned to the BaseSL. No SL can be specified in more than one group.
The amount of configured bandwidth for a QoS Group can be specified using the Bandwidth setting and is split evenly between the BaseSL and MulticastSL. The total allocated bandwidth for all groups cannot exceed 100%. If less than 100% is configured, the remaining bandwidth will be divided evenly among the QoS Groups that do not specify Bandwidth. If there are no QoS Groups to divide between, the total allocated will be less than 100%. This does not impact fabric performance, as all links will operate at full bandwidth if there is data to send. This only affects a relative percentage of bandwidth between VLs in the event of oversubscription.
Important
If any
QOSGroupis enabled, allVirtualFabricsmust specify aQOSGroupand noVirtualFabricmay specify any other QOS settings.If a
VirtualFabricspecifies aQOSGroup, it must also specify a PKey.
Parameter | Description |
|---|---|
Name | Name for the QOSGroup. Every QOSGroup must have a unique name. The name is limited to 64 characters and is case-sensitive. |
Enable | QOSGroup Enable. Enable (1) or Disable (0) a QoS Group. When disabled, the QoS Group is ignored. This allows a user to easily remove the QoS level from the fabric without deleting its definition. Default is Disable (0). |
QOS Settings | |
QOS | QOS Enable. Enable (1) or Disable (0) individual QOS settings for a vFabric. If enabled, specifies the QOS settings for the vFabric. If disabled, the QOS settings are ignored. If you are using QOSGroups, QOS must be set to 0. |
BaseSL | Base Service Level. Allows a specific SL (0-15) to be used for vFabrics of this QoS Group. SM selects value if unspecified. |
MulticastSL | Multicast Service Level. Allows a specific SL (0-15) to be used for multicast traffic. SM assigns it to the |
Bandwidth | Bandwidth Allocation. This is the minimum percentage (1%-100%) of bandwidth that should be given to this QoS Group relative to other low-priority QoS Groups. When there is no contention, vFabrics of this QoS Group could get more than this amount. If unspecified, the SM evenly distributes the remaining bandwidth among all QoS Groups with unspecified bandwidth. Total Bandwidth cannot exceed 100% for all enabled QoS Groups. If |
PreemptRank | Preemption Rank (currently not supported in CN5000). Preemption capability can be configured per QoS Group in terms of a rank, which is a value ranging 0 to 127. Rank 0 indicates that the VLs of this QoS Group cannot preempt nor be preempted. Ranks of a higher value can preempt ranks of a lower value (except rank 0). |
HighPriority | If set to 1, this indicates the associated vFabrics are for high-priority traffic that does not require any bandwidth limiting. This would typically include management or control traffic, which is low bandwidth, but critical to process in a timely manner. An example is SA traffic where there is no reason to restrict bandwidth since it is low volume, but it needs to be serviced at a high priority. When priority is set to High, any bandwidth allocation is ignored for this group. |
PktLifeTimeMult | Packet Lifetime Multiplier. Amount to multiply The value is rounded up to the next power of two. 0 is invalid. The default is 1. |
HoqLife | Head of Queue Life. This is specified at the SM level but can be overridden at the QoS Group level. When |
FlowControlDisable | Enable (0) or Disable (1) link level flow control. When link layer flow control has been disabled, packets will be discarded by that VL when there are insufficient credits. Disabling flow control for a QoS Group can affect traffic on VLs shared by its associated vFabrics. |
5.2.9.1. QoS Settings
If you do not want to use QOSGroups, you can set up different QoS settings (shown in Table 10) for each vFabric in the opafm.xml configuration file. As previously stated, if you use QoS settings, you cannot also use QOSGroups. They are mutually exclusive.
When setting up QoS within vFabrics, you should identify the maximum bandwidth for each vFabric when the link is saturated.
High-priority, low-volume groups can be configured with the HighPriority setting.
You can also configure the Base Service Level and Multicast Service Level used to enforce the bandwidth with the BaseSL setting. If it is not configured, the BaseSL is assigned, and the MulticastSL is assigned to the BaseSL.
The amount of configured bandwidth can be specified using the Bandwidth setting and cannot exceed 100 percent. If the configured bandwidth does exceed 100 percent, a parser error is given.
If there is a mixture of vFabrics configured with and without QoS, all vFabrics without QoS are assigned the same BaseSL. Any unconfigured bandwidth is assigned to that SL.
5.2.9.2. Quality of Service Policies
Quality of Service (QoS) allows the priority of each vFabric to be configured. This is achieved by defining a set of QoS Groups. The group contains information such as BaseSL and bandwidth. Each vFabric will be associated with a single QoS Group. QoS policies allow multiple applications to run on the same fabric without interference, by controlling the use of network resources. These policies allow the following:
Setting minimum bandwidth percentages for high-volume traffic.
Addressing needs of high-priority, low-volume traffic.
Place multicast traffic on a separate VL from normal traffic.
QoS policies allow the user to assign a bandwidth minimum to classes of traffic to define how network resources are allocated. For instance, networking traffic can be assigned to one vFabric, storage to a second vFabric, and compute to a third. These classes of traffic can then be assigned a bandwidth percentage to which they will be limited when a link is saturated. Low-volume traffic requires low latency, like administrative or control traffic; the user can specify this as a high priority. In addition, when using a mesh or torus fabric, QoS policies can place multicast traffic on a different SL from normal traffic.