<div class='slidealt'>Experience kvm <a title='virtualization for embedded heterogeneous arm core platforms' href='/en/products'>virtualization extensions</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'>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'>Virtualization research projects <a title='ARM multicore kvm open source' href='/en/research'>in cloud and embedded systems</a></div> <div class='slidealt'>Virtualization solutions for heterogeneous <a title='ARMv7-ARMv8 virtualization open source solutions' href='/en/solutions'>ARM multicore systems</a></div>

Virtual Open Systems Scientific Publications

Technical Overview & Performance Evaluation of Virtio-loopback

Technical overview & performance evaluation of Virtio-loopback - conference ICAI2024

Event

The 2024 International Conference on Automatics and Informatics (ICAI2024).

Keywords

virtio, Vhost, vhost-user, virtio-loopback, vduse, hal, virtualization, paravirtualization.

Authors

Timos Ampelikiotis, Alvise Rigo, Daniel Raho (Virtual Open Systems SAS).

Abstract

The increasing complexity and proprietary nature of modern hardware solutions necessitate maintaining local forks of the Linux kernel with corresponding drivers, leading to significant maintainability challenges. User-space drivers have emerged as a promising solution, offering greater portability and reduced dependency on kernel revisions. However, these drivers also bring their own issues, such as vendor-specific APIs and lack of backward compatibility, which can increase the maintenance burden.

To address these challenges, a hardware abstraction layer (HAL) designed for non-hypervisor environments is necessary. Leveraging well-established virtio and vhost-user technologies, Virtio-loopback provides a standardized interface that ensures compatibility and performance stability. This HAL aims to mitigate the issues associated with user-space drivers and support seamless application development without extensive modifications.

The primary contribution of this paper is the technical overview and performance evaluation of Virtio-loopback technology across various hardware architectures, including RISC-V, ARM64, and x86. Through this process, we evaluate Virtio-loopback's design against current standards and compare its performance with solutions like vDUSE. Our results indicate that Virtio-loopback meets contemporary performance standards, making it a viable candidate for operating as a HAL in non-hypervisor scenarios.

Introduction

In recent years, the industry relies on an increasing number of proprietary hardware (HW) solutions which aim to boost the performance levels of the existing systems. To avoid exposing the implementation details of those solutions, OEMs (Original Equipment Manufacturer) usually are forced to maintain a local fork of the Linux kernel, where the corresponding drivers for that HW are integrated. Since the number of those drivers increases, porting them frequently to newer kernel versions does introduce a considerable amount of maintainability workload which gets more and more complex as the Linux kernel evolves at a steep pace.

The development of user-space drivers have been introduced as a promising approach which could ease the maintainability requirements. In practice, user-drivers are much more portable than kernel modules, since they are less-dependent on the kernel and thus revisions are required less frequently. Based on that, OEMs could keep the maintainability effort low and reallocate their resources elsewhere.

In reality, user-space drivers introduce also their own set of issues which should be addressed, such as distinct vendor-specific APIs, absence of backward compatibility, etc. Without any regulation and convention, the new APIs presented by the OEMs' user-space drivers might burden the application side with additional code for supporting them, providing no guarantees for backward compatibility, leading to extra maintainability effort and frequent updates.

Aiming to address the above potential issues, protect application developers from new rabbit holes and also help the industry keep up to its demanding needs, the creation of a new hardware abstraction layer (HAL) is essential. Basing this HAL on well-established technologies that have been tested and used extensively, could also help to port legacy applications with minor effort and guarantee for their performance and stability. Aligned with the above criteria, Virtio-loopback represents a HAL for non-hypervisor environment based on virtio and vhost-user technologies.

The contribution of this paper is a technical overview and performance evaluation of Virtio-loopback technology across different HW architectures (RISC-V, ARM64, x86). Our target is to explore and potentially prove that performance-wise, compared with already existing solutions (vDUSE), Virtio-loopback could meet today's performance standards and be a considerable candidate to operate as a HAL in non-hypervisor scenarios.

Access the full content of this publication

Login or register to access full information