Evaluation of a Multiple Criticality Real-Time Virtual Machine System and Configuration of an RTOS's Resources Allocation Te
Total Page:16
File Type:pdf, Size:1020Kb
Evaluation of a multiple criticality real-time virtual machine system and configuration of an RTOS’s resources allocation techniques Mohamed El Mehdi Aichouch To cite this version: Mohamed El Mehdi Aichouch. Evaluation of a multiple criticality real-time virtual machine system and configuration of an RTOS’s resources allocation techniques. Electronics. INSA de Rennes, 2014. English. NNT : 2014ISAR0014. tel-01127450 HAL Id: tel-01127450 https://tel.archives-ouvertes.fr/tel-01127450 Submitted on 7 Mar 2015 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THESE INSA Rennes présentée par sous le sceau de l’Université européenne de Bretagne pour obtenir le titre de Mohamed El Mehdi Aichouch DOCTEUR DE L’INSA DE RENNES ECOLE DOCTORALE : Matisse Spécialité : Electronique et Télécommunication LABORATOIRE : IETR Thèse soutenue le 28.05.2014 Evaluation of a Multiple devant le jury composé de : Criticality Rea-Time Virtual Isabelle Puaut Professeur à l’université de Rennes 1 / Président Machine System and Laurent Pautet Professeur à Télécom Paris-Tech / rapporteur Configuration of an RTOS’s François Verdier Professeur à l’université de Nice-Sophia Antipolis / rapporteur Resources Allocation Jean-Luc Béchennec Chargé de recherche à l’IRRCyN CNRS UMR 6597 à Nantes / examinateur Techniques Jean-Christophe Prévotet Maître de conférence à l’INSA de Rennes / Co-encadrant de thèse Fabienne Nouvel Maître de conférence à l’INSA de Rennes / Directeur de thèse Evaluation of a Multiple-Criticality Real-Time Virtual Machine System and Configuration of an RTOS’s Resources Allocation Techniques. Mohamed El Mehdi Aichouch A dissertation submitted to the faculty of the INSA de Rennes in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Electronic and Telecommunication. INSA de Rennes 2014 Approved by: Isabelle Puaut Jean-Luc Bechennec´ Laurent Pautet Franc¸ois Verdier Jean-Christophe Prevotet´ Fabienne Nouvel ©2014 Mohamed El Mehdi Aichouch ALL RIGHTS RESERVED ii ABSTRACT Mohamed El Mehdi Aichouch Evaluation of a Multiple-Criticality Real-Time Virtual Machine System and Configuration of an RTOS’s Resources Allocation Techniques. In the domain of server and mainframe systems, virtualizing a computing system’s physical resources to achieve improved sharing and utilization has been well established for decades. Full virtualization of all system resources, including processor, memory and I/O devices makes it pos- sible to run multiple operating systems on a single physical platform. Recently, the availability of full virtualization on physical platforms that target embedded systems creates new uses cases in the domain of real-time embedded systems. In a non virtualized system, a single OS controls all hard- ware platform resources. A virtualized system includes a new layer of software, the virtual machine monitor (VMM). The VMM’s principal role is to arbitrate accesses to the underlying physical host platform’s resources so that multiple operating systems can share them. The VMM presents to each OS a set of virtual platform interfaces that constitute a virtual machine. Given the existence of a multitude of VMMs that have been proved efficient in the domain of server and mainframe systems, there is a trend to reuse the existing work. However, there is a difference in the performance metric required by these two domains. In this dissertation we use an existing VMM to evaluate the performance of a real-time operating system. We observed that the virtual machine monitor affects the internal overheads and latencies of the guest operating system. This observation led us to conduct further investigation in order to answer the following question: what are the hardware mechanisms and software implementations that could prevent the system from meeting its deadlines and guaranteeing its real-time constraints? Our analysis revealed that hardware mechanisms that allow a VMM to provide an efficient way to virtualize the memory management unit, and the device interrupts, are necessary to limit the overhead of the virtualization on real-time systems. More importantly, the scheduling of virtual iii machines by the VMM is essential to guarantee the temporal constraints of the system and have to be configured carefully. In a second work, and starting from a previous project aiming at helping a system designer to explore a software-hardware co-design of a solution using high-level simulation models, we proposed a methodology that allow the transformation of a simulation model into an executable program on a real hardware. The idea is to provide the system designer with the necessary tools to rapidly explore the design space and validate it, and then to generate a configuration that could be used directly on top of a real hardware. We used a model-driven engineering approach to perform a model-to-model transformation to convert the simulation model into an executable model. And we used a middleware able to sup- port a variety of resources allocation techniques in order to implement the configuration previously selected by the system designer during the simulation phase. We proposed a prototype that imple- ments our methodology and validate our concepts. The results of the experiments confirmed the viability of the approach. iv To my parents, Abdelhamid and Kalthoum. v ACKNOWLEDGEMENTS I would like to thank my advisors, Fabienne Nouvel and Jean-Christophe Prevotet´ for their unwavering support, for their help, and their precious advices. I would like to express my thanks and appreciation to all the members of my committe, Pro- fessor Isabelle Puaut, Professor Franc¸ois Verdier, Professor Laurent Pautet, and Doctor Jean-Luc Bechennec´ for their guidance and advice. Your acceptance to be present in my committe is great honor for me. I would also like to express my thanks and appreciation to all my colleagues. Very special thanks to Yaset Oliva, Yvan Kokar, Thierry Dubois, Tony Makdissy, Nicolas Cornillet, Jordan Lo- randel, Philippe Tanguy, Simon Mener, Vincent Callec, Abdallah Hamini, Ahmed Jaban, Saber Dakhli, Imen Ben Trad, Rida El Chall, Hiba Bawab, Hua Fu, Jean-Christophe Sibel, Ming Liu, Hui Ji, Linning Peng, Tian Xia, Ali Cheaito, Mohamed Maaz, Roua Youssef, Hussein Kudoh, Hanna Farhat, Bachir Habib, Georges Da Silva, Sofiane Chaabane, Morad Larbi, and Abdul Fall. — thank y’all for your kindness and the great moment we shared in our beautiful work place. I am deeply thankful to my colleague and friend Yaset Oliva for reviewing my research papers and giving me many precious adivces. Thank you very much for the interesting discussions, and for your help when I came to Rennes. I would like also to thank all the professors, research scientists, and technical staff at the In- stitut d’Electronique´ et de Tel´ ecommunication´ de Rennes. I would like also to thank all the SRC department staff at the INSA de Rennes. I am deeply thankful to my professor Benoˆıt Miramond, thank you for inviting me to join your research team and for your encouragement that motivated me to continue in this scientific research field. I am deeply thankful to my friend Mac Mollisson, from the real-time system group at the University of North Carolina at Chappel Hill, thank you very much for your support regarding the library, and thanks a lot for the great discussions and feedback regarding my research work. vi Foremost, I am greatly indebted to my parents Abdelhamid and Kalthoum for their unwavering support, understanding, and encouragement, both during my research study and before. I am also greatly indebted to my sister Nesrine and my brother-in-law Aimed, for their love and continuous support, for their help, and the wonderful times we spent together. I am also grateful to all my family members and friends. Thank you very much for your generosity and friendship. I could not finished this without you — thank y’all for your trust that this was indeed the right way. vii TABLE OF CONTENTS LISTOFTABLES ........................................ xiii LISTOFFIGURES ........................................ ............................... xiv LISTOFABBREVIATIONS ................................. xvii 1 Introduction . ............................. 1 2 RelatedWork.......................................... ................................ 3 2.1 Real-Time OS alongside General-Purpose OS . ........... 4 2.1.1 Dual-Kernel Design . .................. 5 2.1.2 Native Real-Time Linux . ............... 6 2.2 Virtual Machine Systems . .................... 7 2.3 Real-Time Virtual Machine Systems . ............... 9 2.3.1 Linux Kernel-based Virtual Machine . ........... 9 2.3.2 Microkernel Support for Virtualization . 13 2.3.2.1 OKL4 microvisor . 14 2.3.2.2 Nova microhypervisor . 15 2.3.2.3 L4Fiasco microkernel . 16 2.3.3 Xen.............................................. ........................ 19 2.3.4 RT-Xen ........................................... ....................... 23 2.3.5 Real-Time Xen-ARM . 30 2.3.6 Virtualization for safety-critical system . 32 2.4 RTOS Configuration . ..................