You are here: Home / RTLWS 1999-2017 / RTLWS Submitted Papers / 
2024-11-21 - 21:01

Dates and Events:

OSADL Articles:

2024-10-02 12:00

Linux is now an RTOS!

PREEMPT_RT is mainline - What's next?


2023-11-12 12:00

Open Source License Obligations Checklists even better now

Import the checklists to other tools, create context diffs and merged lists


2023-03-01 12:00

Embedded Linux distributions

Results of the online "wish list"


2022-01-13 12:00

Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completed

Another important milestone on the way to interoperable Open Source real-time Ethernet has been reached


2021-02-09 12:00

Open Source OPC UA PubSub over TSN project phase #3 launched

Letter of Intent with call for participation is now available



Real Time Linux Workshops

1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015

Twelfth Real-Time Linux Workshop on October 25 to 27, in Nairobi, Kenya

Generic Virtualization with Virtual Processors

Adam Lackorzynski, Alexander Warg and Michael Peter, TUD - Operating Systems, Technische Universität Dresden, Germany

After virtualization has been gaining traction in a variety of fields ranging from the desktop to the datacenter, it comes as no surprise that it is making inroads into embedded systems as well, being colocated with real-time workloads on the same system. The complexity of a VM implementation depends on the virtualization abilities of the processor used.  Unfortunately, the ISA of many popular embedded CPUs is not virtualizable, which precludes efficient pure or faithful virtualization.

In this paper, we make the case for OS rehosting, a flavor of virtualization that lends itself to implementations of low complexity and does not rely an CPU virtualization extensions. The feasibility of OS rehosting crucially depends on the traits of the interface of the underlying kernel. Our observation was that the ubiquitously used thread model is rather poorly suited to run an OS on top. As a solution, we propose the currently often employed threads be supplemented with virtual processors (vCPUs), an abstraction that is more aligned with the underlying hardware.

To evaluate our proposition, we ported the Linux kernel to a vCPU enhanced version of the Fiasco microkernel. Compared to a previous thread-based version, we found the development effort significantly reduced. As expected, the vCPU version performed significantly better in microbenchmarks such as (user) thread switching while the advantage in application benchmarks was much less pronounced.