A Real-time Hypervisor for Mobile Computers

Virtualization plays a key role in implementing cloud computing system. Not only in network server systems, small embedded systems are taking advantages of virtualization in terms of reliability, security and consolidation. It enables to securely accommodate diverse application systems over a physical hardware. However, performance of virtualization remains as a key challenge in mobile systems. Real-time guest support is difficult inherently because it requires more strict abstraction on scheduling. In order to achieve performance isolation, real-time guest should not have negative performance impact to other guest domains as well as should preserve its original real-time property.

This article presents RT-Xen for accommodating a real-time guest OS over the Xen hypervisor. The RT-Xen approach establishes a theoretical foundation of real-time guest scheduling in a virtual machine system. Namely, rather than simply prioritizing the guest domain, our goal is finding an accurate scheduling parameter in order for the hypervisor to schedule VM with physical deadline guarantee. Because VM-level real-time scheduling is different from task-level real-time scheduling, a new scheduling methodology is required. RT-Xen provides a VM scheduling abstraction which guarantees physical deadline of all the tasks in real-time guest OS. Based on the sound VM scheduling abstraction, we manage virtual time at guest OS side because the notion of time in a virtual machine is different from that of a native system. The virtual time management enables a guest OS to preserve application programming interface that uses physical time. Furthermore, it keeps scheduling behavior equivalent with the native system by preserving the sequential order of scheduling event during the guest OS is not in execution.

To prove the viability of our real-time guest support, we implemented RT-Xen over the Xen-ARM hypervisor, which is a representative Xen-based hypervisor runs over the smart phone development platform. Over the RT-Xen, we run uC/OS-II-xen, which is a paravirtualized version of real-time uC/OS-II. It keeps physical deadlines in diverse environments even working with general purpose guest OS (Linux), and another real-time guest.

While RT-Xen is designed for Xen hypervisor, our approach is general to be applied to other hypervisors and guest operating systems. Based on the theoretical foundation, we provide an algorithm that finds the optimal scheduling parameter for real-time guest. It could reduce huge engineering effort for searching the VM scheduling parameters for any real-time guest OS. Moreover, it reduces redundant analysis and engineering effort in verifying the scheduling behavior because our virtual time management mechanism preserves the native scheduling behavior. Overall, because RT-Xen tells you the optimal scheduling parameter and presents sound scheduling behavior, it presents a solid foundation of real-time scheduling over a virtual machine system.