What is Adaptive QoS and how does it work?
Applies to
ONTAP 9.3 or newer
Answer
- Adaptive QoS uses QoS Throughput Floors and Ceilings (Minimum and Maximum throttle limits) to set individual Volume limits.
- Floors are used to guarantee nearly-idle workloads do not interfere with busier workloads.
- Adaptive QoS is dynamic based upon volume size, meaning a 10GB volume would have a different Floor and Ceiling than a 10 TB volume.
- Terms
- Adaptive QoS: Dynamic QoS Ceilings and Floors which grow or shrink based upon volume size used or allocated
- Throughput Floor (Minimum): The amount of IOPs required to not hit deadline scheduler and obtain optimal latency.
- Throughput Ceiling (Maximum): A hard limit of how many IOPs a Volume is allocated.
- Expected IOPs: The Throughput Floor value in IOPs per terabyte.
- Absolute minimum IOPs: An IOP Throughput Floor, used when Expected IOPs becomes too low and overrides Expected IOPs or Peak
- Example: A 10GB Volume with a default Adaptive QoS "value" policy group will have a Floor of 75 IOPs, not 1.28 IOPs Expected.
- Peak IOPs allocation: Adaptive QoS values can be assigned based upon used space or total space in the Volume.
- By default, three buckets are created:
policy-group | expected-iops | peak-iops | absolute-min-iops | peak-iops-allocation |
---|---|---|---|---|
extreme | 6144IOPS/TB | 12288IOPS/TB | 1000IOPS | used-space |
performance | 2048IOPS/TB | 4096IOPS/TB | 500IOPS | used-space |
value | 128IOPS/TB | 512IOPS/TB | 75IOPS | used-space |
- Custom policies may be made available with the qos adaptive-policy-group create command.
How does Adaptive QoS decide when to throttle?
- In ONTAP 9.6 and earlier, Volumes not in an adaptive policy will be put into a deadline scheduler called Best Effort if CPU Headroom is over 100%
- In ONTAP 9.7 and later, Volumes not in an adaptive policy will be put into a deadline scheduler called Best Effort.
- Volumes in an adaptive policy with IOPs are below the Throughput Floor will be put into the deadline scheduler Best Effort.
- Volumes in an adaptive policy with IOPs above the Throughput Floor will not be throttled by QoS.
- Volumes in an adaptive policy with IOPs at the Throughput Ceiling will be throttled at that value.
Additional Information
Release notes for ONTAP: Storage QoS features by release
Documentation on Adaptive QoS.
Documentation on Throughput Floors
Here is some additional examples of space usage and throttling levels for comparison:
- Expected IOPS = 128/TB
- Peak IOPS = 512/TB
- Absolute Min IOPS = 75
The minimum and maximum IOPS will be calculated as follows for used-space allocation:
Volume Size |
Data Stored |
QoS Min IOPS |
QoS Max IOPS |
1 GB |
0GB |
75 |
75 |
1 TB |
0 TB |
128 |
128 |
1 TB |
.1 TB |
128 |
128 |
1 TB |
.2 TB |
128 |
128 |
1 TB |
.3 TB |
128 |
154 |
1 TB |
.5 TB |
128 |
256 |
1 TB |
1 TB |
128 |
512 |
2 TB |
2 TB |
256 |
1024 |