1. Introduction

Introduce the mobile systems virtualization,

motivate audiences, and clarify contribution.

This article describes the design, implementation and performance of RT-Xen, a real-time support architecture over a virtual machine system. Although scheduling issue in virtual machine systems has been studied in many research articles, real-time scheduling support has not been sufficiently addressed. Contemporary real-time architecture fails to support the real-time scheduling because it lacks in proper VM-level scheduling abstraction; thus, it is impossible to guarantee real-time properties. To incorporate a real-time system over a virtual machine, RT-Xen provides an optimal scheduling parameter to schedule a real-time guest OS - theoretically, real-time guest demands CPU bandwidth more than the actual workload utilization, and the accurate scheduling parameter is hard to find because it changes as the interface period. RT-Xen searches the parameter space and finds a scheduling parameter such that demands the smallest CPU bandwidth, and sufficient to schedule all RT tasks within deadlines. Namely, it finds an optimal scheduling parameter, thereby guaranteeing the real-time scheduling even in a virtual machine.

Three factors motivated our research. First, real-time support is an essential requirement in mobile systems. While the performance of mobile system has been dramatically improved during the last decade, still the real-time support is the major obstacle in practical deployment. In a mobile system like smart phone, real-time support is the primary functional requirement. Most mobile terminals are communication centric, which means that it requires very accurate timely signal processing. Therefore, real-time OS support is a necessary condition for deploying a real mobile platform.

Second, virtualization presents a promising solution for implementing trust worthy cloud computing in mobile systems. Even in a small mobile terminals, users can access internet, mobile networks, personalized services, so it handles personally sensitive information such as photos, videos, mobile banking accounts, geological location info, etc. Therefore, security and trustworthiness is also a key component in cloud computing system. Because virtualization layer isolates virtual machines with very strict access control, it substantially enhances reliability and security. Moreover, some approach has shown that it can be efficiently used for implementing trust computing platform.

Third, misleading real-time virtual machine support can break the virtualization in terms of performance isolation. A guest OS runs in its isolated execution environment, namely, execution domain or virtual machine. The virtual machine monitor (or hypervisor) arbitrates the access to physical resource from virtual machines so that a virtual machine has a independent logical view to hardware resources. Besides the access isolation, the hypervisor implements performance isolation, by which any guest domain cannot have negative performance impact on another guest domain. However, simple prioritization could break the performance isolation, and jeopardize the whole system by the abnormal behavior in real-time guest.

Therefore, incorporating the real-time guest over a virtual machine requires accurate scheduling which achieves performance isolation by conserving real-time property. Furthermore, it should be guaranteed in terms of scheduling analysis so that the architecture can be applied to other kinds of real-time operating systems. Our focus on real-time support is based on compositional real-time scheduling theory. Although recent real-time support in general purpose operating systems provides enhanced latency and responsiveness, they have limitations in deterministic behavior because the real-time scheduling theory does not tell us for general-purpose applications. Thus, for hard real-time applications still require real-time operating systems.

RT-Xen is the first approach to incorporate real-time scheduling theory into a real Xen hypervisor. RT-Xen has extended the compositional scheduling theory itself to be applied to the real hypervisor system. Consequently, the real-time systems engineers can avoid huge effort in finding a scheduling parameter that meets the real-time property. We want to keep the scheduling property equivalent to native system so that no additional engineering effort is required. We require neither any modification at application side for optimizing it to run over virtual machine nor any more analysis to ensure the real-time guarantee. Overall, we focus on a single and very serious problem - how to ensure native real-time scheduling property over a virtual machine system.

We implemented RT-Xen over a real hardware platform which runs Xen-ARM with real-time guest (uC/OS-II). Using an example, we describe how the real-time property can be broken in original design, and how RT-Xen incorporates the real-time guest OS in a virtual machine system. RT-Xen could run two example real-time tasks with physical deadline guarantee, and presents sound scheduling behavior even it runs with other guest operating systems.

The rest of this article describes the design, implementation, and performance of RT-Xen. The next section describes the system's design goal, and high-level architecture. Section 3 discusses the implementation of the RT-Xen and paravirtualization of real-time guest OS. We present an example for real-time tasks and experiments that evaluates the real-time property of RT-Xen in Section 4. We then summarize related work in real-time scheduling in Section 5. Section 6 summarizes our work and draws conclusions.