Abstract

Virtualization technology can provide a transparent and efficient software development environment at the development phase of embedded systems. In addition, virtualization can be exploited to provide strong resource isolation between real-time applications. However, since virtualization incurs noticeable overheads, we need to minimize these to utilize virtualization technology for either a software development environment or a runtime environment of real-time embedded systems. In this letter, we particularly focus on virtualization overheads of network I/O and present an implementation of standardized (i.e., virtio) front-end network driver for a real-time operating system (RTOS). Although there have been several studies for virtio on general-purpose OS, our implementation is the first open-source virtio for an RTOS. The measurement results show that our implementation can improve the bandwidth and latency up to 168% and 52%, respectively. In addition, the memory usage can be saved up to 36%.

Highlights

  • A S THE cost of implementing the hardware platforms for mission-critical systems, such as satellites and aircraft, is very expensive, it is difficult to provide enough hardware platforms for software developers at the development phase

  • Virtualization technology that provides virtual hardware platforms can resolve these problems by efficiently building a software development environment [1], [2]

  • It could save the memory consumed by the network buffers up to 36%

Read more

Summary

INTRODUCTION

A S THE cost of implementing the hardware platforms for mission-critical systems, such as satellites and aircraft, is very expensive, it is difficult to provide enough hardware platforms for software developers at the development phase. Virtualization increases the execution time of applications and adds complexity to the analysis for worst-case execution time (WCET) and end-to-end delay It is a well-known fact that virtualization increases the overheads to access I/O peripherals, such as network and Manuscript received November 4, 2019; accepted December 1, 2019. This manuscript was recommended for publication by H. We implement a virtio network driver for Real-Time Executive for Multiprocessor Systems (RTEMS) [8] aiming at reducing virtualization overhead of network I/O. RTEMS is a prevalent RTOS in mission-critical systems, such as space flight and medical devices; providing a virtual platform with less overhead is especially important for RTEMS and its applications. Our virtio can support different CPU architectures and multiple hypervisors, such as Quick EMUlator (QEMU) [9], Kernel-based Virtual Machine (KVM) [10], and VirtualBox [11], and provide the dynamic buffer allocation for less memory requirements

Related Work
Virtio
VIRTIO FOR RTEMS
Overview
Dynamic Buffer Allocation
Architectural Independence
PERFORMANCE EVALUATION
Comparisons With Full-Virtualized Drivers
Comparisons With Existing Virtio Implementations
Findings
CONCLUSION

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.