<div class='slidealt'>Virtualization solutions for heterogeneous <a title='ARMv7-ARMv8 virtualization open source solutions' href='/en/solutions'>ARM multicore systems</a></div> <div class='slidealt'>Virtualization research projects <a title='ARM multicore kvm open source' href='/en/research'>in cloud and embedded systems</a></div> <div class='slidealt'>KVM on ARMv7 and ARMv8 <a title='kvm-on-arm open source smu extensions' href='/en/solutions/guides/vfio-on-arm/'>IOMMU full virtualization</a></div> <div class='slidealt'>Benefit from custom <a title='kvm on arm services full virtualization' href='/en/services'>virtualization services</a></div> <div class='slidealt'>Experience kvm <a title='virtualization for embedded heterogeneous arm core platforms' href='/en/products'>virtualization extensions</a></div>

Virtual-BFQ (V-BFQ) I/O Scheduling Boosts Virtualized Systems

V-BFQ coordinated scheduling preserves responsiveness in virtualized systems, in cases where the overall system is stressed both on the host and guest level

Virtualization has proliferated in the entire server and desktop markets and is already pervading the embedded market segments, such as mobile, automotive, networking. In these sectors, the top priority for users and the most desired feature is to ensure fast responsiveness from running applications; in fact it's expected, from the underlying hardware and the software applications that come with it, that even within virtualized systems they behave smooth with low latency and high responsiveness.

Smooth operation of audiovisual applications and low latency in interactive programs are now considered a standard for a successful product, and these requirements will still be prelevant and carry on in any virtualization solution. In contrast to the server and desktop markets though, the mobile segment is relatively limited in resources, especially in storage, where devices are smaller in size and less performant.

coordinated scheduler architecture

Top level architecture of V-BFQ in Linux/KVM

For this reason Virtual Open Systems has improved scheduling performance in virtualized systems, by enhancing storage I/O scheduling with the introduction of Virtual-BFQ (V-BFQ). V-BFQ is a coordinated scheduling mechanism between host and guest, that guarantees low latency even in constrained I/O workloads. Virtual Open Systems provides additional support to integrate V-BFQ to specific use cases and platforms.

V-BFQ preserves low latency for storage I/O in virtualized environments

Serious latency, responsiveness, or even, starvation issues may occur in a virtualized environment if applications in virtual machine(s) and the host are performing storage I/O operations. As a solution to this problem, Virtual Open Systems developed V-BFQ, an extended version of the BFQ storage-I/O scheduler, designed for virtualized systems using KVM on ARM architectures. In addition to providing, both a high throughput and strong fairness guarantees, V-BFQ preserves even in a virtualized environment, the low-latency features that BFQ sports on bare-metal systems.

In more details, V-BFQ provides low latency for:

  • Interactive applications
  • Soft real-time applications

Guaranteeing low latency for interactive applications

Even in the presence of a heavy background workload on a guest virtual disk, and/or a heavy additional background workload on the physical storage device, V-BFQ preserves high application responsiveness. For example in conditions where heavy workloads and interactive applications coexist, the responsiveness achieved by V-BFQ is comparable to or about the same as if both the guest virtual and physical disks were idle:

  • If one or more large files are being read/written in a guest, and/or in the host, starting an application or loading a file, it takes about the same time as if the storage device was idle.
  • As a comparison, with CFQ, NOOP, DEADLINE or SIO, and under the same stress test conditions, running applications experience high latencies, or even become unresponsive until all background workloads are terminated.

Achieving low latency for soft real-time applications

By utilizing Virtual Open Systems V-BFQ, soft real-time applications, such as audio and video players, or audio- and video-streaming applications, benefit the same latencies regardless of the load of the virtual and physical storage devices. As a consequence, the presence of background workloads does not cause any artifacts or buffering related issues.

A video demonstration has been prepared by Virtual Open Systems to highlight both of the aforementioned problems of responsiveness and latency, by directly comparing the CFQ and V-BFQ schedulers and their behavior with various background workloads.

virtualization demo showing the V-BFQ scheduler in action

Virtual Open Systems V-BFQ scheduler aims to preserve low latency for virtualized systems