Compilation and virtualization in the HiPEAC vision

This paper describes the HiPEAC vision of embedded virtualization as it has developed during two years of discussion among the members of the HiPEAC cluster on binary translation and virtualization. We start from system virtualization and process virtualization and we gradually develop a vision in which the two merge into one virtualization layer for embedded systems. Such a unified virtualization offers solutions for consolidation, performance optimization, software engineering and dealing with legacy hardware components. Four adoption requirements are identified: support for real-time execution, low performance overhead, virtualization of accelerator cores and finally trustworthiness. Finally, we define four research challenges: full virtualization of heterogeneous multi-core platforms, portable performance for heterogeneous multi-cores, virtual machine management interfaces, and standards for embedded virtualization.

[1]  James R. Larus,et al.  Singularity: rethinking the software stack , 2007, OPSR.

[2]  Martin Botteck,et al.  Virtualization as an enabler for security in mobile devices , 2008, IIES '08.

[3]  Magnus O. Myreen Verified just-in-time compiler on x86 , 2010, POPL '10.

[4]  Martin Richards,et al.  BCPL: a tool for compiler writing and system programming , 1969, AFIPS '69 (Spring).

[5]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[6]  Michael Franz,et al.  Tracing for web 3.0: trace compilation for the next generation web applications , 2009, VEE '09.

[7]  Vasanth Bala,et al.  Dynamo: a transparent dynamic optimization system , 2000, SIGP.

[8]  Jan M. Van Campenhout,et al.  Interpretation and instruction path coprocessing , 1990, Computer systems.

[9]  Henk Corporaal,et al.  System-scenario-based design of dynamic embedded systems , 2009, TODE.

[10]  Ricardo Fernández Pascual,et al.  An Experimental Environment Validating the Suitability of CLI as an Effective Deployment Format for Embedded Systems , 2008, HiPEAC.

[11]  Dinakar Dhurjati,et al.  Secure virtual architecture: a safe execution environment for commodity operating systems , 2007, SOSP.

[12]  Joseph Sifakis,et al.  QoS control for optimality and safety , 2005, EMSOFT.

[13]  Masato Edahiro,et al.  VIRTUS: a new processor virtualization architecture for security-oriented next-generation mobile terminals , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[14]  Michael Norrish,et al.  seL4: formal verification of an OS kernel , 2009, SOSP '09.

[15]  Gerald J. Popek,et al.  Formal requirements for virtualizable third generation architectures , 1974, SOSP '73.