QoS is the shortened form of Quality of Service. With limited bandwidth resources, QoS enables allocating bandwidth for various services, controls and manages the transmission of data packets, and secures end-to-end QoS to ensure that the network allocates bandwidth among different applications and services, and that important data traffic can be prioritized, thereby enhancing user experience.
In the information age, data is growing explosively, data centers are evolving to be massive, cloud-based and intelligent, and business scenarios are becoming increasingly complex. As one of the most important basic services, storage has an increasing capacity and demanding requirements for such indicators as performance and reliability. Similar to network service QoS, SSDs also need to provide consistent and predictable QoS capabilities for performance indicators such as bandwidth, IOPS, and latency to better meet critical service quality requirements.
The “SR-IOV with QoS” feature of Union Memory SSDs is based on the SR-IOV storage virtualization technology, which controls the read/write services of VFs using the Token Bucket algorithm, to the effect that read/write bandwidth and IOPS performance of different VFs can be adjusted independently, so that the services of VFs are independent and not interfering with each other. This test mainly verifies the three aspects of Union Memory QoS features, as follows:
(1) By regulating the bandwidth and IOPS performance of read, write and mixed read/write, SSDs can achieve multi-dimensional control of specific VF services;
(2) The QoS indicators of VFs can be dynamically allocated and take effect in real time;
(3) The I/O service performance among VFs is isolated from each other, and the performance change of one VF does not cause the performance fluctuation of other VFs.
The following test items verify the function of “SR-IOV with QoS” in the open source Linux KVM environment.
1. Verification Environment
1.1 Hardware Configuration for the Verification
Type |
Model |
Hardware Configuration |
Server |
2U2 Server |
CPU: Intel Xeon Gold 6336Y @2.4GHz |
Memory: 12*16GB |
||
Storage Controller: Support RAID 1 (System Disk) |
||
Network Interface Card (NIC): 2*2 ports 25GE Ethernet Card |
||
Hard Disk |
Union Memory SSD |
System Disk : 2*480GB SATA Data Disk: 1*7.68 NVMe SSD FW8023 (UH711a) |
Type |
Model |
Version Number |
OS |
CentOS(x86) |
7.6 |
Disk Pressure Tester |
FIO |
3.18 |
Disk Maintenance Tool |
Umtool |
1.0.2.0-4 |
2. Verification Method
3. Verification Results
The verification results under the VF QoS scenario are as follows:
3.1 Verify the validity of QoS function when different traffic restrictions are set for different VFs
Fig. 2: Bandwidth and IOPS Performances of the QoS Function When Different Traffic Restrictions are set for Different VFs
Different QoS values are set for VF1 and VF8 under different VMs. The peak bandwidth traffic of VF1 and VF8 is 200M and 300M, respectively, and the peak IOPS traffic is 1000 and 3000, respectively. FIO tool is used for performance testing inside the VMs. As shown in Fig. 2, the test results show that VF1 and VF8 perform well in different service scenarios, and the maximum difference between the read/write bandwidth and IOPS of VF1 and VF8 and the peak traffic QoS is less than 3% .
Obviously, the QoS function of Union Memory UH7 SSDs can maintain stable performance in scenarios when different traffic indicators are set for different VFs.
3.2 Verify the validity of QoS function under the condition of state change in VF
Fig. 3: Bandwidth and IOPS Performances of QoS Function under State Change in VF
In order to better verify the impact of stage change in VF status on the validity of QoS function, in this test environment, different peak traffics are set for VFs on different VMs, and one VF is operated offline to observe whether other VFs can reach the set traffic value. The bandwidth limits of VF1 and VF8 are 200M and 300M, respectively. The IOPS limits of VF1 and VF8 are 1000 and 5000, respectively.
As can be seen from the verification results in Fig. 3, when VF1 is set offline, the traffic value of VF8 is approximate to the limit peak in terms of IOPS and bandwidth, and in read, write, mixed read/write scenarios, the bandwidth and IOPS are basically similar to those before VF1 is set offline, which obviously verified that VF under Union Memory “SR-IOV with QoS” function is less affected by other VF states, and there is certain performance isolation among VFs.
3.3 Verify the validity of QoS function when different bandwidths are set for different VFs
Fig. 4: Performance of QoS Function under the Restriction of Different Bandwidth Peaks
In this round of verification, and in the same environment, different QoS values are set for VFs on 8 different VMs to observe whether VFs on different VMs can reach the set QoS value. The bandwidth peak of VF1 is 50M, the bandwidth peak of VF2 to VF8 is increased by 50M in sequence, and the bandwidth peak of VF8 is 400M.
It is found from the test that when UH7 SSDs impose different bandwidth restrictions on the VFs, the bandwidth traffic varies little among VFs in different scenarios, and each VF can perform well QoS peak setting to ensure the best user experience.
It can be seen from this verification that the Union Memory UH711a uses refined QoS control in the SR-IOV feature and provides multi-dimensional QoS strategies to flexibly allocate read, write or mixed read/write bandwidth and IOPS of each VF, avoiding performance fluctuation of other VFs caused by individual VF performance preemption, and meeting the performance requirements of VM storage services based on different service needs.
Union Memory “SR-IOV with QoS” solution features flexible configuration, plug-and-play, and can be well adapted to the high-level application ecology, and is suitable for the localized flash memory services that require high performance, low latency and low cost in cloud data center scenarios.