Predicting WCET of automotive software running on virtual machine monitors

Virtualization is attracting significant interest in the automotive industry because it enables a highly secure and reliable computing environment. More importantly, virtualization maintains the same operating environment for legacy automotive software while exploiting the benefits of widely adopted multicore platforms. To exploit the virtualization technology in an automotive system, it is important to predict the WCET of an automotive application running on a virtual machine monitor (VMM). Unfortunately, the task is challenging because of difficulties in analyzing complicated interactions between a VMM and a guest OS. There are no known attempts to predict the WCET of an application in such an environment. In this paper, we propose a hierarchical and parametric WCET prediction framework. We divide the problem into two subproblems. First, we model the WCET of an application as a function of WCETs of system calls provided by a guest OS. Second, we model WCETs of a system call as a function of WCETs of VMM services. To establish this framework, we clearly identify the places and times of VMM services invoked during the execution of an application. At the time of deployment, the WCET of an application is instantiated by composing the WCET models altogether. We have performed experiments with the proposed framework by predicting the WCETs of sample programs on various virtual and real machine platforms. These experimental results effectively demonstrate the viability of the proposed framework.

[1]  Matt T. Yourst PTLsim: A Cycle Accurate Full System x86-64 Microarchitectural Simulator , 2007, 2007 IEEE International Symposium on Performance Analysis of Systems & Software.

[2]  J. B. Choi,et al.  DEVELOPMENT OF TIMING ANALYSIS TOOL FOR DISTRIBUTED REAL-TIME CONTROL SYSTEM , 2004 .

[3]  Alan D. George,et al.  RapidIO for radar processing in advanced space systems , 2007, TECS.

[4]  Prashant J. Shenoy,et al.  Profiling and Modeling Resource Usage of Virtualized Applications , 2008, Middleware.

[5]  M. Sunwoo,et al.  OPTIMAL PERIOD AND PRIORITY ASSIGNMENT FOR A NETWORKED CONTROL SYSTEM SCHEDULED BY A FIXED PRIORITY SCHEDULING SYSTEM , 2007 .

[6]  Michael Bohn Migration of Automotive Real-Time Software to Multicore Systems: First Steps towards an Automated Solution , 2010 .

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

[8]  David B. Whalley,et al.  Parametric Timing Analysis , 2001, OM '01.

[9]  Shannon Schroeder,et al.  Introduction to MeeGo , 2010, IEEE Pervasive Computing.

[10]  Sharad Malik,et al.  Performance estimation of embedded software with instruction cache modeling , 1995, ICCAD.

[11]  Guillem Bernat,et al.  WCET analysis of reusable portable code , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

[12]  Sang Lyul Min,et al.  A Flexible Tradeoff between Code Size and WCET Employing Dual Instruction Set Processors , 2003, WCET.

[13]  Marco Torchiano,et al.  An in-vehicle infotainment software architecture based on google android , 2009, 2009 IEEE International Symposium on Industrial Embedded Systems.

[14]  Alan Burns,et al.  Guest Editorial: A Review of Worst-Case Execution-Time Analysis , 2000, Real-Time Systems.

[15]  Kaushik Dutta,et al.  Application performance modeling in a virtualized environment , 2010, HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture.

[16]  Daniel A. Menascé,et al.  Virtualization: Concepts, Applications, and Performance Modeling , 2005, Int. CMG Conference.

[17]  Iain Bate,et al.  Low-level analysis of a portable Java byte code WCET analysis framework , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[18]  Alan C. Shaw,et al.  Reasoning About Time in Higher-Level Language Software , 1989, IEEE Trans. Software Eng..

[19]  Gernot Heiser,et al.  The role of virtualization in embedded systems , 2008, IIES '08.

[20]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[21]  Timothy Wood,et al.  Predicting Application Resource Requirements in Virtual Environments , 2008 .

[22]  Andrew Warfield,et al.  Xen and the art of virtualization , 2003, SOSP '03.

[23]  Ravi Iyer,et al.  Modeling virtual machine performance: challenges and approaches , 2010, PERV.

[24]  James E. Smith,et al.  Virtual machines - versatile platforms for systems and processes , 2005 .

[25]  Tatsuo Nakajima,et al.  SPUMONE: Lightweight CPU Virtualization Layer for Embedded Systems , 2008, 2008 IEEE/IFIP International Conference on Embedded and Ubiquitous Computing.

[26]  Sharad Malik,et al.  Performance Analysis of Embedded Software Using Implicit Path Enumeration , 1995, 32nd Design Automation Conference.

[27]  WilhelmReinhard,et al.  The worst-case execution-time problemoverview of methods and survey of tools , 2008 .

[28]  Iain D. Craig,et al.  Virtual machines , 2005 .

[29]  Virgílio A. F. Almeida,et al.  Performance Models for Virtualized Applications , 2006, ISPA Workshops.

[30]  David B. Whalley,et al.  Bounding worst-case instruction cache performance , 1994, 1994 Proceedings Real-Time Systems Symposium.

[31]  Björn Lisper,et al.  Fully Automatic, Parametric Worst-Case Execution Time Analysis , 2003, WCET.

[32]  Björn Lisper Trends in Timing Analysis , 2006, DIPES.