QoS (Quality of Service) is a term used in the field of packet switched networks to refer to the probability that a network will satisfy a given business contract. In many cases, informally refers to the probability that a packet will pass between two points in the network. QoS has a control mechanism that provides different priorities for different users or different data streams, or ensures that the performance of the data stream reaches a certain level according to the requirements of the application.
QoS features exist in everything from network devices to hypervisors to storage. When multiple workloads share limited resources, QoS helps control how resources are shared and prevents the noisy applications from damaging the performance of all other applications on the same system.
In the early days of the Internet, it didn’t realize the needs of QoS application, so the entire Internet operation was like a “best-effort” system. According to the sender and the receiver, many things happen during the packet transmissions from the start point to the end point, and the following problematic results are produced:
- Lost packet: When the packet arrives at a buffer full, it means that the transmission failed. The system will decide to discard part, or discard all packets according to the status of the network, and the application at the receiving end must request retransmission at this time, which may also cause a serious delay in the overall transmission.
- Latency: It may take a long time to transfer the packet to the destination because it can be delayed by a long queue. In short, the delay is very difficult to predict.
- Incorrect transmission sequence: When a group of related packets are routed through the Internet, different packets may choose different ways, which will result in different delays for each packet. The order in which the last packet arrives at the destination is inconsistent with the order in which the packet is sent from the sender.
Although some specific forms of network data flow need to define service quality. QoS is developed to set priorities for data flows and set guaranteed limits of effectiveness, throughput, latency, etc. QoS guarantees are important for networks with limited bandwidth, especially for streaming multimedia applications such as VoIP (Voice over Internet Protocol) and IPTV (Internet Protocol Television), as these applications often require a fixed transmission rate and are sensitive to latency.
QoS in Storage System
The same situation exists in the storage system. QoS refers to service priority and resource reservation control mechanisms. QoS is the ability to provide different priorities for different volumes to guarantee a certain level of performance for a data stream.
Generally, a single service does not need QoS because it has the whole system resources. But for business-critical applications in multi-tenant, QoS is a key technology to deliver consistent primary storage performance and this predictable performance is also an important indicator.
Benefit of QoS
If different applications share the same storage platform, we can predict that the following issues may occur:
- Workloads with I/O and cache conflicts, such as OLTP (Online Transaction Processing) and data warehousing.
- Tiering storage access restrictions, such as development and production applications.
- Peak demand processing for critical applications and maintenance activities.
Although raw storage performance is important, predictable and consistent performance delivery ensures that every application has the required resources to run without interruptions. QoS feature enables the storage system when serving these workloads.
- Prioritize the storage bandwidth and capacity resources.
- Consistently deliver predictable performance across multiple applications.
- Reduce unpredictable I/O patterns.
- Eliminate manual adjustments to adapt to changing workload demands.
- Allow application scale to grow without disrupting the system.
QoS feature makes it easier for users to assign I/O priorities. And it ensures a more accurate goal and a better service level.
QoS Use Cases
QoS is best for multi-tenant systems running different workloads with unpredictable requirements. Multi-tenant systems allow the flexibility to meet your business needs. QoS is particularly effective at the following applications:
- Mission critical database applications: real-time transactional database (Exchange server, SQL server, RDBMS, DB2), OLTP (On-Line Transaction Processing).
- Consolidation a virtualization: virtualized data center, VMware, Hyper-V, Citrix.
- Private cloud computing and big data analytics.
QoS is one coming feature of QSAN storage software, providing an innovative automation architecture for primary storage. That delivers unparalleled power scalability and guaranteed predictable storage performance. For more detail, please visit the QSAN SANOS or download the white paper.