Adaptive virtual machine scheduling and migration for embedded real-time systems
چکیده
Integrated architectures consolidate multiple functions on a shared electronic control unit. They are well suited for embedded real-time systems that have to implement complex functionality under tight resource constraints. Multicore processors have the potential to provide the required computational capacity with reduced size, weight, and power consumption. The major challenges for integrated architectures are robust encapsulation (to prevent that the integrated systems corrupt each other) and resource management (to ensure that each system receives sufficient resources). Hypervisor-based virtualization is a promising integration architecture for complex embedded systems. It refers to the division of the hardware resources into multiple isolated execution environments (virtual machines), each hosting a software system of operating system and application tasks. This thesis addresses the hypervisor’s management of the resource computation time, which has to enable multiple real-time systems to share a multicore processor with all of them completing their computations as demanded. State of the art approaches realize the sharing of the processor by assigning exclusive processor cores or fixed processor shares to each virtual machine. For applications with a computation time demand that varies at run-time, such static solutions result in a low utilization, since the pessimistic worst-case demand has to be reserved at all times, but is often not needed. Therefore, adaptability is desired in order to utilize the shared processor efficiently, but without losing the real-time capability as a prerequisite for the integration. The first contribution of this thesis is an algorithm for the partitioning of virtual machines to homogeneous cores, which produces mappings that support adaptive scheduling and the protection of safety-critical systems. The second contribution is a virtual machine scheduling architecture that combines real-time guarantees with an adaptive management of the computing power. The third contribution is a technique for real-time virtual machine migration. Together, these contributions enable the integration of independently developed and validated systems on top of a hypervisor. The processing time redistribution in case of mode changes and execution time variations follows the varying demand effectively. Adaptive measures are taken as well to protect critical systems. In case of a worst-case execution time overrun of a critical system, it is attempted to protect its execution by stealing computation time from non-critical systems. In case of a hardware failure, migration is performed to continue the operation of systems on other processors. A prototype demonstrates the feasibility.