Composable processor virtualization for embedded systems

A.M. Molnos, A. Milutinovic, D. She, K.G.W. Goossens

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

Abstract

Processor virtualization divides a physical processor's time among a set of virual machines, enabling efficient hardware utilization, application security and allowing co-existence of different operating systems on the same processor. Through initially intended for the server domain, virtualization gains popularity also in embemmed systems, where it is mainly meant to isolate real-time from best effort applications, as they require different types of schedulers and performance guarantees. More-over, for design productivity and cost reasons, one would like to indepently design, test, and verify applications, then easily integrate them on a shared hardware platform. For best effort, this requires composable capacity, i.e. an application's number of processor cycles is independent of other applications. In real-time, performance prediction and guarantees preservation is crucial, thus the timing of an application's cycles should also be indepent, i.e. composable performance/timing. Virtualization is a good first step towards these, however existing approaches do not ensure timing composability. In this paper we propose a processor virtualization scheme with: (1) composable timing and capacity, and (2) different task schedulers per application. This scheme is based on: (1) a budget-based scheduler for composable capacity, plus (2) the ability to program application switching at fixed points in time, for composable timing. We implemented this scheme on an FPGA multiprocessor running a synthetic application and experiments show composability.
Original languageEnglish
Title of host publicationProceedings of the 1st Workshop on Computer Architecture and Operating System Co-Design (CAOS), 25-27 January 2010, Pisa, Italy
Publication statusPublished - 2010

Fingerprint Dive into the research topics of 'Composable processor virtualization for embedded systems'. Together they form a unique fingerprint.

Cite this