QoS is the Law!
Tue, 27 Aug 2024 17:50:11 -0000
|Read Time: 0 minutes
Introduction
Data traffic within a data center or cloud environment operates very similarly to our road networks. There are rules, regulations, and requirements needed to ensure that traffic, like data, is safe, smooth, and efficient. As an administrator in PowerStoreOS 4.0, Quality of Service (QoS) ensures that you are the law!
PowerStoreOS 4.0 packs a punch and is a robust solution for managing your workloads, thanks to benefits such as supporting 2x more volumes and delivering up to 30% more IOPS. One of PowerStoreOS 4.0's key features is Quality of Service (QoS), which is instrumental in managing the IOPS and bandwidth associated with volumes and volume groups. QoS empowers to set performance limits on the IOPS and bandwidths associated with the individual volumes or volume groups. You’re basically placing the "law" in your hands. By setting these performance limits, QoS can help prevent performance degradation and enable consistent service levels across all workloads. This ensures that no single workload can monopolize the system’s resources, leading to balanced and efficient utilization. Limiting the IOPS helps control the number of read/write operations that a workload can perform in a given time period, while bandwidth limitations control the data transfer rate to and from the PowerStore system.
By limiting IOPS and bandwidth, QoS helps to:
- Ensure predictable performance of critical applications
- Prevent resource contention amongst workloads
- Maintain overall system stability
- Provide a balanced distribution of resources.
Use Cases and Applications
In enterprise environments, where the management of diverse and demanding workloads is a daily challenge, there’s a need for performance limitations in certain scenarios. This is where Quality of Service (QoS) proves to be exceptionally beneficial.
Initially, this idea may seem counterintuitive. Logically, you should always strive for the highest performance possible. While this is usually the case, just hold up and let me cook. There are scenarios where it’s more beneficial to balance resources among multiple workloads. This is where the QoS feature truly shines, providing optimal performance tailored to your specific needs.
Such use cases where you might want to throttle performance are:
- Noisy Neighbor: This refers to a situation where there is a demanding application in a shared infrastructure environment, and it monopolizes system resources. If this goes unchecked it can cause the system to be unbalanced and affects the performance of other applications or workloads. By implementing QoS, system administrators can effectively manage shared infrastructure environments, ensuring balanced resource usage and consistent performance for all applications.
- Managed Service Providers (MSP): A Managed Service Provider (MSP) provides a range of services, including network, application, infrastructure, and security, to businesses. Quality of Service (QoS) enables the MSP to prioritize data workloads based on the service level to which a client has subscribed. For instance, an email service customer might be subscribed to a lower-tier bronze package, which would have more limitations on IOPS/bandwidth compared to a video conferencing service subscribed to a higher-tier package, such as Platinum. This approach allows the MSP to allocate more bandwidth and IOPs to the Platinum-level subscriber for their more demanding workloads, while still ensuring the seamless operation of the email service.
- Test/Dev and Production Environments: In a scenario where both the test/dev and production environments are operational, Quality of Service (QoS) becomes crucial. The live production environment could be allocated higher limits, while the test/dev environment, which is used for developing and testing new features, could be allocated lower limits. This will be a significant advantage because in a scenario where IOPS or/and bandwidth is limited, using QoS, limits could be set on the testing environments and allow the production environment to operate optimally. This arrangement allows for continuous development and testing without compromising the user experience in the production environment.
- Data Backup and Recovery: During data backup and recovery operations, throttling can help ensure that these processes do not consume excessive bandwidth, potentially impacting the performance of more critical, real-time applications. By applying QoS rules, backups IOPs and/or bandwidth can be limited, ensuring that the network remains highly responsive for more urgent tasks.
How QoS Works
As we can see, QoS has massive value propositions in the IT industry as it ensures applications and workloads do not monopolize all the system resources by limiting IOPS and bandwidth where necessary. IOPS and bandwidth limits can be set within an IO Block Limit Rule, in PowerStoreOS 4.0 there are two types: The first rule is absolute limit. This type of limit allows the admin to specify the maximum amount of IO a resource can complete regardless of its size. The second rule is a density based limit where the admin can specify the maximum amount of IOPS or/and bandwidth a resource is allowed to complete based on the provisioned size of the resource. If both limits are set, whichever limit is achieved first will take precedence.
There is also a burst feature which can be applied to absolute and density-based limits, allowing certain workloads to exceed their limits by a certain percentage for a specified period. For example, if a retail store is expecting a spike in users on a network during sales or promotional events, the administrator can set a burst percentage over the current IOPS and bandwidth limit to accommodate for increased traffic.
Let's look into how burst credits work in 3 stages:
1. Accumulating Bursts Credits
- When a resource uses less than its defined limits, it earns burst credit. These earned credits are stored in a “token bucket” for future use.
2 Using Burst Credits
- When needed, the resource can use these saved credits to exceed limits for a short time until the credits run out.
3. Consistency Check
- If a resource consistently needs to exceed its limit, it won’t earn burst credits because it’s always above or at its limit, hence bursting would not be possible.
Figure 1 - Creating QoS Policy and Block IO Limit Rule
Absolute and density-based limits, along with burst settings, are defined within a Block IO Limit rule and this rule is part of a policy known as QoS Policies. These policies can be applied to various resources such as volumes and volume groups within PowerStore Manager.
However, it is important to note that a QoS policy can be assigned either to a volume group or to the individual members of a volume group, but not to both simultaneously. Additionally, a QoS policy can only include one IO Limit Rule.
When a policy is assigned to a volume group, all members of that group are governed by the policy and share the specified limit.
Figure 2 - Storage > QoS > Block QoS Policies
Figure 3 - Applying QoS Policy to Volume
Figure 4 - Storage > Volumes > Volume > Performance
By default, volumes and volume groups have no QoS policy assigned to them, and once a policy has been created, it is quick and easy to assign new QoS policies to volumes and volume groups in just a few seconds using the PowerStore Manager and this can be viewed in the performance tab within the volume.
Conclusion
In essence, Quality of Service (QoS) in PowerStoreOS 4.0 can be likened to a traffic control center for your data highway. It provides you with the control and flexibility to optimize your storage infrastructure and maintain system stability. It’s not just about delivering high performance, but about delivering the right performance where it matters most. With QoS, you’re not just part of the traffic - you’re in control of the highway.
Resources
The following resources provide more information about PowerStore:
- Exploring PowerStore
- PowerStore InfoHub
- Dell PowerStore: Introduction to the Platform
- Dell PowerStore: Best Practices Guide
Author: Subomi Gbotosho