|  |  | <!DOCTYPE HTML>
 | 
						
						
						
							|  |  | <!--
 | 
						
						
						
							|  |  | 	Helios by HTML5 UP
 | 
						
						
						
							|  |  | 	html5up.net | @ajlkn
 | 
						
						
						
							|  |  | 	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
 | 
						
						
						
							|  |  | -->
 | 
						
						
						
							|  |  | <html>
 | 
						
						
						
							|  |  | 	<head>
 | 
						
						
						
							|  |  | 		<title>Virtualisation XEN</title>
 | 
						
						
						
							|  |  | 		<meta charset="utf-8" />
 | 
						
						
						
							|  |  | 		<meta name="viewport" content="width=device-width, initial-scale=1" />
 | 
						
						
						
							|  |  | 		<!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]-->
 | 
						
						
						
							|  |  | 		<link rel="stylesheet" href="assets/css/main.css" />
 | 
						
						
						
							|  |  | 		<!--[if lte IE 8]><link rel="stylesheet" href="assets/css/ie8.css" /><![endif]-->
 | 
						
						
						
							|  |  | 		<link rel="icon" type="image/png" href="images/favicon.png" />
 | 
						
						
						
							|  |  | 		<!--[if IE]><link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /><![endif]-->
 | 
						
						
						
							|  |  | 	</head>
 | 
						
						
						
							|  |  | 	<body class="left-sidebar">
 | 
						
						
						
							|  |  | 		<div id="page-wrapper">
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 			<!-- Header -->
 | 
						
						
						
							|  |  | 				<div id="header">
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 					<!-- Inner -->
 | 
						
						
						
							|  |  | 						<div class="inner">
 | 
						
						
						
							|  |  | 							<header>
 | 
						
						
						
							|  |  | 								<h1><a href="projet_pro.html" id="logo">Projets professionnels</a></h1>
 | 
						
						
						
							|  |  | 							</header>
 | 
						
						
						
							|  |  | 						</div>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 					<!-- Nav -->
 | 
						
						
						
							|  |  | 						<nav id="nav">
 | 
						
						
						
							|  |  | 							<ul>
 | 
						
						
						
							|  |  | 								<li><a href="index.html">Accueil</a></li>
 | 
						
						
						
							|  |  | 								<li>
 | 
						
						
						
							|  |  | 									<a href="projet_pro.html">Projet Pro.</a>
 | 
						
						
						
							|  |  | 									<ul>
 | 
						
						
						
							|  |  | 										<li><a href="projet_pro-xen.html">Virtualisation XEN</a></li>
 | 
						
						
						
							|  |  | 										<li><a href="projet_pro-fpga.html">Traitement d’images sur FPGA</a></li>
 | 
						
						
						
							|  |  | 										<li>
 | 
						
						
						
							|  |  | 											<a href="#">OpenWide/Smile ...</a>
 | 
						
						
						
							|  |  | 											<ul>
 | 
						
						
						
							|  |  | 												<li><a href="#">IRT-systemX: Xvisor</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="#">Quantaflow: Quantium v2</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="#">Hutchinson: AVAC</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="#">Canal+: Intégrateur Yocto</a></li>
 | 
						
						
						
							|  |  | 											</ul>
 | 
						
						
						
							|  |  | 										</li>
 | 
						
						
						
							|  |  | 									</ul>
 | 
						
						
						
							|  |  | 								</li>
 | 
						
						
						
							|  |  | 								<li>
 | 
						
						
						
							|  |  | 									<a href="projet_perso.html">Projet Perso.</a>
 | 
						
						
						
							|  |  | 									<ul>
 | 
						
						
						
							|  |  | 										<li>
 | 
						
						
						
							|  |  | 											<a href="projet_perso-PIC.html">Projets PIC ...</a>
 | 
						
						
						
							|  |  | 											<ul>
 | 
						
						
						
							|  |  | 												<li><a href="projet_perso-PIC.html#table_infini">Table d’illusion infinie – PIC16F87</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="projet_perso-PIC.html#telecommande_IR">Télécommande infrarouge – PIC16F87</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="projet_perso-PIC.html#feu_tricolore">Feu tricolore de présence – PIC16F87</a></li>
 | 
						
						
						
							|  |  | 											</ul>
 | 
						
						
						
							|  |  | 										</li>
 | 
						
						
						
							|  |  | 										<li>
 | 
						
						
						
							|  |  | 											<a href="projet_perso-sites_web.html">Sites Web ...</a>
 | 
						
						
						
							|  |  | 											<ul>
 | 
						
						
						
							|  |  | 												<li><a href="projet_perso-sites_web.html#AJC72">Antonnière Judo Club 72</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="projet_perso-sites_web.html#SMMP">Service Moules et Mécanique de Précision</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="projet_perso-sites_web.html#TANSORIER">Site presonnel</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="projet_perso-sites_web.html#CDJS">Forum pour le Comité Départemental de Judo de la Sarthe</a></li>
 | 
						
						
						
							|  |  | 											</ul>
 | 
						
						
						
							|  |  | 										</li>
 | 
						
						
						
							|  |  | 									</ul>
 | 
						
						
						
							|  |  | 								</li>
 | 
						
						
						
							|  |  | 								<li><a href="#">Judo</a></li>
 | 
						
						
						
							|  |  | 								<li><a href="#">Associations</a></li>
 | 
						
						
						
							|  |  | 								<li><a href="#">Contact</a></li>
 | 
						
						
						
							|  |  | 							</ul>
 | 
						
						
						
							|  |  | 						</nav>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 				</div>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 			<!-- Main -->
 | 
						
						
						
							|  |  | 				<div class="wrapper style1">
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 					<div class="container">
 | 
						
						
						
							|  |  | 						<div class="row 200%">
 | 
						
						
						
							|  |  | 							
 | 
						
						
						
							|  |  | 							<!-- left part -->
 | 
						
						
						
							|  |  | 							<div class="3u 12u(mobile)" id="sidebar">
 | 
						
						
						
							|  |  | 								<hr class="first" />
 | 
						
						
						
							|  |  | 								<section>
 | 
						
						
						
							|  |  | 									<header>
 | 
						
						
						
							|  |  | 										<h3><a href="projet_pro.html">Autres Projets</a></h3>
 | 
						
						
						
							|  |  | 									</header>
 | 
						
						
						
							|  |  | 									<ul class="leftmenu">
 | 
						
						
						
							|  |  | 										<li><a href="projet_pro-xen.html">Virtualisation XEN</a></li>
 | 
						
						
						
							|  |  | 										<li><a href="projet_pro-fpga.html">Traitement d’images sur FPGA</a></li>
 | 
						
						
						
							|  |  | 										<li>
 | 
						
						
						
							|  |  | 											<a href="#">OpenWide/Smile ...</a>
 | 
						
						
						
							|  |  | 											<ul class="leftmenu">
 | 
						
						
						
							|  |  | 												<li><a href="#">IRT-systemX: Xvisor</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="#">Quantaflow: Quantium v2</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="#">Hutchinson: AVAC</a></li>
 | 
						
						
						
							|  |  | 												<li><a href="#">Canal+: Intégrateur Yocto</a></li>
 | 
						
						
						
							|  |  | 											</ul>
 | 
						
						
						
							|  |  | 										</li>
 | 
						
						
						
							|  |  | 									</ul>
 | 
						
						
						
							|  |  | 								</section>
 | 
						
						
						
							|  |  | 								<hr />
 | 
						
						
						
							|  |  | 							</div>
 | 
						
						
						
							|  |  | 							
 | 
						
						
						
							|  |  | 							<!-- right part -->
 | 
						
						
						
							|  |  | 							<div class="7u 12u(mobile) important(mobile)" id="content">
 | 
						
						
						
							|  |  | 								<article id="main">
 | 
						
						
						
							|  |  | 									<header>
 | 
						
						
						
							|  |  | 										<h2>Virtualisation XEN</h2>
 | 
						
						
						
							|  |  | 									</header>
 | 
						
						
						
							|  |  | 									<div class="image centered" style="width: 376px"><img src="images/Xen_project.jpg" alt="" /></div>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											Ce stage s’est déroulé au sein du département OS & Linux de l’entreprise STMicroelectronics.<br />
 | 
						
						
						
							|  |  | 											L’objectif était de mettre en place une solution de virtualisation Xen sur des cartes spécifiques
 | 
						
						
						
							|  |  | 											 STMicroelectronics basée sur des processeurs de type ARMv8.<br />
 | 
						
						
						
							|  |  | 											Dans un premier temps, des recherches sur la virtualisation ont été faites, puis plus particulièrement
 | 
						
						
						
							|  |  | 											 sur la virtualisation Xen.<br />
 | 
						
						
						
							|  |  | 											Dans un second temps la solution de virtualisation Xen fut déployée sur une carte virtuelle générique ARMv8,
 | 
						
						
						
							|  |  | 											 puis sur les cartes virtuelles spécifiques STMicroelectronics.<br />
 | 
						
						
						
							|  |  | 											Pour finir, l’évaluation des performances a été faite en comparaison avec un autre outil de virtualisation Kvm.<br />
 | 
						
						
						
							|  |  | 											<i><u>Mots clés</u>: Linux, virtualisation, Xen, ARMv8, SoC, Kvm.</i>
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 									<section>
 | 
						
						
						
							|  |  | 										<header>
 | 
						
						
						
							|  |  | 											<h3>Qu’est-ce que la virtualisation ?</h3>
 | 
						
						
						
							|  |  | 										</header>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											De manière générale, la virtualisation permet d’avoir plusieurs OS (pas nécessairement les mêmes)
 | 
						
						
						
							|  |  | 											 sur une même machine physique.
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 										<div class="image centered" style="width: 623px">
 | 
						
						
						
							|  |  | 											<img src="images/projet_pro-xen/serveurs_charge_de_travail.png" alt="Charge de travail de serveurs" />
 | 
						
						
						
							|  |  | 											<p>A gauche un serveur classique non virtualisé, et à droite un serveur virtualisé avec
 | 
						
						
						
							|  |  | 											 plusieurs environnement.</p>
 | 
						
						
						
							|  |  | 										</div>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											Il existe 3 types de virtualisation:
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 										<ul class="default">
 | 
						
						
						
							|  |  | 											<li>L’isolation</li>
 | 
						
						
						
							|  |  | 											<li>La paravirtualisation</li>
 | 
						
						
						
							|  |  | 											<li>La virtualisaiton complète</li>
 | 
						
						
						
							|  |  | 										</ul>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											Xen utilise la virtualisation de type paravirtualisation:
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 										<div class="image centered" style="border: none">
 | 
						
						
						
							|  |  | 											<img src="images/projet_pro-xen/diagramme_archihyperviseur.png" alt="Diagramme d'architecture d'hyperviseur" />
 | 
						
						
						
							|  |  | 										</div>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											KVM lui utilise la virtualisation complète.
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 									</section>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 									<section>
 | 
						
						
						
							|  |  | 										<header>
 | 
						
						
						
							|  |  | 											<h3>Faire fonctionner Xen</h3>
 | 
						
						
						
							|  |  | 										</header>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											Une des étapes majeures est de faire fonctionner XEN sur Foundation Model.<br />
 | 
						
						
						
							|  |  | 											
 | 
						
						
						
							|  |  | 											La plateforme « Foundation Model ARMv8 » permet de simuler une architecture aarch64 avec
 | 
						
						
						
							|  |  | 											 ses périphériques essentiels pour exécuter un système d’exploitation Linux.
 | 
						
						
						
							|  |  | 											 (cette plateforme est fournie par <a href="http://www.arm.com">ARM.com</a>).
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 										<div class="image centered" style="width: 410px">
 | 
						
						
						
							|  |  | 											<img src="images/projet_pro-xen/compilation_boot-wrapper.png" alt="Compilation et boot wrapper" />
 | 
						
						
						
							|  |  | 											<p>Le Foundation Model est lancé à partir d’une machine Ubuntu, sur laquelle la cross-compilation ARM 64bit a été effectué au préalable.</p>
 | 
						
						
						
							|  |  | 										</div>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											Plusieurs OS peuvent donc être lancés sur cette machine.
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 									</section>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 									<section>
 | 
						
						
						
							|  |  | 										<header>
 | 
						
						
						
							|  |  | 											<h3>Xen sur SoC</h3>
 | 
						
						
						
							|  |  | 										</header>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											L’étape qui consiste à faire fonctionner Xen sur des cartes STMicroelectronics fut avortée,
 | 
						
						
						
							|  |  | 											 en effet les cartes physique étaient encore en cours de développement.<br />
 | 
						
						
						
							|  |  | 											Il a été tout de même possible de faire quelques tests sur plateforme virtuelle (VSoC) STMicroelectronics.
 | 
						
						
						
							|  |  | 											 Néanmoins certaines fonctionnalités étaient en cours de développement ce qui fait qu’une
 | 
						
						
						
							|  |  | 											 partie des tests n’ont pas put être effectués.
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 									</section>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 									<section>
 | 
						
						
						
							|  |  | 										<header>
 | 
						
						
						
							|  |  | 											<h3>Les Tests</h3>
 | 
						
						
						
							|  |  | 										</header>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											Pour ce qui est des tests, l’outil Xen gère bien les différentes accès mémoire et processeur.<br />
 | 
						
						
						
							|  |  | 											
 | 
						
						
						
							|  |  | 											Un des points important qui a été testé fut la capacité du réseau Ethernet.
 | 
						
						
						
							|  |  | 											 En effet les cartes STMicroelectronics  sont à destination du marché de box télévision,
 | 
						
						
						
							|  |  | 											 il faut donc un bon débit Ethernet.<br />
 | 
						
						
						
							|  |  | 											 
 | 
						
						
						
							|  |  | 											Xen offre des outils de gestion réseau:
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 										<div class="image centered" style="width: 456px">
 | 
						
						
						
							|  |  | 											<img src="images/projet_pro-xen/network-bridge.png" alt="Xen network" />
 | 
						
						
						
							|  |  | 											<p>Xen met en place un bridge xenbr0 sur le Dom0 afin de gérer le réseau de ses différents domaines.</p>
 | 
						
						
						
							|  |  | 										</div>
 | 
						
						
						
							|  |  | 										<p>	
 | 
						
						
						
							|  |  | 											Après différents tests il s’est avéré que le débit Ethernet était fortement diminué:
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 										<div class="image centered" style="width: 623px">
 | 
						
						
						
							|  |  | 											<img src="images/projet_pro-xen/network-bandwidth.png" alt="Xen network bandwidth" />
 | 
						
						
						
							|  |  | 											<p>Avec virtualisation le débit entre les différents domaines sont fortement diminué.</p>
 | 
						
						
						
							|  |  | 										</div>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											Les résultats de KVM sur le réseau sont aussi médiocres.
 | 
						
						
						
							|  |  | 										</p>
 | 
						
						
						
							|  |  | 									</section>
 | 
						
						
						
							|  |  | 									
 | 
						
						
						
							|  |  | 									<section>
 | 
						
						
						
							|  |  | 										<header>
 | 
						
						
						
							|  |  | 											<h3>Docker</h3>
 | 
						
						
						
							|  |  | 										</header>
 | 
						
						
						
							|  |  | 										<p>
 | 
						
						
						
							|  |  | 											Une des possibilités pour concurrencer Xen et KVM en terme de virtualisation serait d’étudier les Dockers:
 | 
						
						
						
							|  |  | 										</p>	
 | 
						
						
						
							|  |  | 										<div class="image centered" style="width: 417px">
 | 
						
						
						
							|  |  | 											<img src="images/projet_pro-xen/docker_docker.png" alt="Docker" />
 | 
						
						
						
							|  |  | 											<p>Les Dokers permettent de ne virtualiser seulement les espaces utilisateur 
 | 
						
						
						
							|  |  | 												avec leur exécutable et librairie, et ainsi ne pas virtualiser l’OS dans son ensemble.</p>
 | 
						
						
						
							|  |  | 										</div>
 | 
						
						
						
							|  |  | 									</section>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 								</article>
 | 
						
						
						
							|  |  | 							</div>
 | 
						
						
						
							|  |  | 						</div>
 | 
						
						
						
							|  |  | 						<hr />
 | 
						
						
						
							|  |  | 						
 | 
						
						
						
							|  |  | 						<!-- sources -->
 | 
						
						
						
							|  |  | 						<div class="row">
 | 
						
						
						
							|  |  | 							<section class="12u 12u(mobile) special">
 | 
						
						
						
							|  |  | 								<header>
 | 
						
						
						
							|  |  | 									<h6>L’ensemble du stage n’est pas décrit ici. Une bonne partie a été omise. Seule la trame générale est présentée.</h6>
 | 
						
						
						
							|  |  | 								</header>
 | 
						
						
						
							|  |  | 							</section>
 | 
						
						
						
							|  |  | 						</div>
 | 
						
						
						
							|  |  | 					</div>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 				</div>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 			<!-- Footer -->
 | 
						
						
						
							|  |  | 				<div id="footer">
 | 
						
						
						
							|  |  | 					<div class="container">
 | 
						
						
						
							|  |  | 						<div class="row">
 | 
						
						
						
							|  |  | 							<div class="12u">
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 								<!-- Contact -->
 | 
						
						
						
							|  |  | 									<section class="contact">
 | 
						
						
						
							|  |  | 										<header>
 | 
						
						
						
							|  |  | 											<h3>Vous pouvez me retrouver sur:</h3>
 | 
						
						
						
							|  |  | 										</header>
 | 
						
						
						
							|  |  | 										<ul class="icons">
 | 
						
						
						
							|  |  | 											<li><a href="https://www.linkedin.com/in/micka%C3%ABl-tansorier-78b5549a/" class="icon fa-linkedin" title="LinkedIn"><span class="label">LinkedIn</span></a></li>
 | 
						
						
						
							|  |  | 											<li><a href="https://github.com/mtansorier" class="icon fa-github" title="GitHub"><span class="label">GitHub</span></a></li>
 | 
						
						
						
							|  |  | 											<li><a href="https://mickaeltansorier.wordpress.com/" class="icon fa-wordpress" title="Wordpress"><span class="label">Wordpress</span></a></li>
 | 
						
						
						
							|  |  | 											<li><a href="mailto:mickael@tansorier.fr" class="icon fa-envelope-o" title="E-mail"><span class="label">E-mail</span></a></li>
 | 
						
						
						
							|  |  | 											<li><a href="docs/Curriculum_Vitae_-_TANSORIER.pdf" class="icon fa-download" title="Curriculum Vitae"><span class="label">Curriculum Vitae</span></a></li>
 | 
						
						
						
							|  |  | 										</ul>
 | 
						
						
						
							|  |  | 									</section>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 								<!-- Copyright -->
 | 
						
						
						
							|  |  | 									<div class="copyright">
 | 
						
						
						
							|  |  | 										<ul class="menu">
 | 
						
						
						
							|  |  | 											<li><img src="images/by.svg" /></li><li>Mickaël TANSORIER</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li>
 | 
						
						
						
							|  |  | 										</ul>
 | 
						
						
						
							|  |  | 									</div>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 							</div>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 						</div>
 | 
						
						
						
							|  |  | 					</div>
 | 
						
						
						
							|  |  | 				</div>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 		</div>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 		<!-- Scripts -->
 | 
						
						
						
							|  |  | 			<script src="assets/js/jquery.min.js"></script>
 | 
						
						
						
							|  |  | 			<script src="assets/js/jquery.dropotron.min.js"></script>
 | 
						
						
						
							|  |  | 			<script src="assets/js/jquery.scrolly.min.js"></script>
 | 
						
						
						
							|  |  | 			<script src="assets/js/jquery.onvisible.min.js"></script>
 | 
						
						
						
							|  |  | 			<script src="assets/js/skel.min.js"></script>
 | 
						
						
						
							|  |  | 			<script src="assets/js/util.js"></script>
 | 
						
						
						
							|  |  | 			<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
 | 
						
						
						
							|  |  | 			<script src="assets/js/main.js"></script>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 	</body>
 | 
						
						
						
							|  |  | </html>
 |