Tecniche di virtualizzazione di processori Intel-AMD. Gianluca Guida
|
|
|
- Mariano Bosco
- 9 anni fa
- Просмотров:
Транскрипт
1 Tecniche di virtualizzazione di processori Intel-AMD Gianluca Guida
2 Copyright (c) 2006 Gianluca Guida Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
3 Cos'e' la virtualizzazione. efficient, isolated duplicate of the real machine ; VM VM VMM Machine VM VM
4 Da ISA reale a ISA virtuale ABI, actually. Instruction Set Architecture OS OS OS OS VMM ISA Reale ISA Virtuale Machine Es ISA: IA32, AMD64, MIPS; In questo talk: ISA reale == ISA virtuale
5 Virtual Machine Monitor 1/2 Proprieta' di un VMM (Popek Goldberg, 1974) Fidelity. Ambiente di esecuzione dei processi sostanzialmente identico alla macchina; Performance. Overhead della virtualizzazione realativamente basso (prestazione VM comparabile a prestazione macchina fisica) Safety. VMM controlla e gestisce le risorse fisiche;
6 Virtual Machine Monitor 2/2 Architettura concettuale di un VMM: CPU virtualization (ISA) I/O virtualization (virtual devices) Gestione risorse fisiche In questo talk: CPU virtualization nell'architettura IA32/AMD64 (etc...)
7 Modello Ideale di CPU 1/2 CPU Trap Privileged (System Code) I/O + System Mem Unprivileged (Applications) Applications Memory
8 Modello Ideale di CPU 2/2 Istruzioni interessanti ai fini della virtualizzabilita': Sensitive Instructions: eseguite in Privileged Mode cambiano lo stato del sistema. Privileged Instructions: possono essere eseguite solo in Privileged mode; in Unprivileged mode causano traps. La classificazione dell'isa in questo tipo di istruzioni e' ortogonale. (ci possono istruzioni sensitive non privileged e viceversa)
9 Tecnica classica di virtualizzazione Trap and Emulate 1/2 CPU VMM emula istruzioni privilegiate (che generano un Trap). VMM I/O + System Mem CPU Virtuale Virtual Machine Memory
10 Tecnica classica di virtualizzazione Trap and Emulate 2/2 Il VMM viene eseguito in Privileged Mode; Le istruzioni delle CPU virtuali (sia in Privileged che in Unprivileged Mode) vengono eseguite sulla CPU fisica in Unprivileged Mode. Quando la CPU virtuale prova ad eseguire un'istruzione privilegiata viene generato il fault (Trap). Il Trap viene gestito dal VMM che emula gli effetti dell'istruzione privilegiata sulla CPU virtuale (Emulate).
11 Tecnica classica di virtualizzazione Condizioni per la virtualizzabilita' in senso classico 1/2 Se esistono istruzioni sensitive ma non privileged allora la VCPU non generera' un fault. Succede quando la stessa istruzione ha comportamenti diversi a seconda che sia eseguita in modalita' Privileged o in modalita' Unprivileged. Tali architetture non sono virtualizzabili in senso classico.
12 Tecnica classica di virtualizzazione Condizioni per la virtualizzabilita' in senso classico 2/2 Formalmente si ha che un sistema e' virtualizzabile in senso classico quando (teorema di Popek- Goldberg): I S I P I S = Insieme delle sensitive instructions. I P = Insieme delle privileged instructions.
13 x86 e virtualizzazione Solo un esempio: the POPF problem. (sensitive non privileged) Non virtualizzabile in senso classico
14 x86 e virtualizzazione semplificando... Architettura incredibilmente complicata. Livelli di privilegio CPL0 (P) CPL1 CPL2 CPL3 (U) Super User Mode User Mode Livello di privilegio per l'accesso all'i/o variabile (per task) Inoltre ci sono altre modalita' di funzionamento che non hanno alcun tipo di livelli di privilegio.
15 Software Virtualization (BT) mai saltare l'ultimo paragrafo. La virtualizzazione dell'x86 e' ancora possibile, ma richiede una traduzione binaria dinamica (Dynamic BT) del codice eseguito. Dinamica: il codice puo' essere automodificante, quindi la traduzione dev'essere Just In Time. Binaria: l'input del traduttore e' codice binario x86, non codice sorgente L'output del traduttore e' ancora codice x86.
16 Software Virtualization (BT) VMM (Privileged) I/O + System Mem TU$ BT Virtual Machine Memory
17 Software Virtualization (BT) Come fatturare $180mln a trimestre. Solo le istruzioni privileged e sensitive richiedono il BT, quindi la maggior parte delle traduzioni sono di tipo 1:1 con l'input; Cache delle parti gia' tradotte (invalidate quando il codice viene modificato);
18 Supporto Hardware ingegneri elettronici... Ritorno della richiesta per virtualizzazione. Ottima opportunita' per complicare ulteriormente l'x86 (vende meglio). Intel: VT (Virtualization Technology) AMD: SVM (Secure Virtual Machine) Soluzioni sostanzialmente uguali.
19 Supporto Hardware Solo una dimensione di livelli di privilegio e' lame. Host Mode (VMM) CPL0 (P) CPL1 CPL2 CPL3 (U) VM Exit VM Entry Guest Mode CPL0 (P) CPL1 CPL2 CPL3 (U) L'Host Mode corrisponde al normale funzionamento (usato dal VMM). Il Guest Mode e' identico all'host mode, ma puo' essere configurato per generare VM Exits a determinate condizioni. Lo stato di un processore virtuale e' salvato in un'area di memoria (VMCS/Intel o VMCB/AMD)
20 Virtualizzazione con supporto HW VM Entry/VM Exit I/O + System Mem VMM (Host Mode) Virtual Machine Memory VCPU (Guest Mode)
21 Virtualizzazione con supporto HW Non c'e' de-privileging; La stragrande maggiorparte del codice e' eseguito in modalita' nativa; Non tutte le istruzioni sensitive in privileged mode generano VM Exits (Ex: POPF cambia geflags); Un VMM del genere dovrebbe avere prestazioni molto superiori ad uno che usa il BT;
22 L'altra VM Virtual Memory Cos'e' la Virtual Memory; Lo stato della memoria virtuale non e' nella CPU ma in memoria (Page Tables); Il VMM deve proteggere le tabelle; Inoltre le Page Tables che crea la Virtual Machine non corrispondono alle Page Table reali.
23 L'altra VM shadow structures. VMM CR3 VMM System Memory Shadow Page Tables VCPU Virtual Machine Memory CR3 Page Tables
24 L'altra VM shadow structures explained. La traduzione tra indirizzo virtuale della macchina virtuale in indirizzo fisico avviene nelle Page Tables del VMM (shadow page tables); Il VMM mantiene le shadow page tables consistenti con le page tables della macchina virtuale; Uno dei motivi principali dell'overhead di virtualizzazione e' appunto dovuto ai continui interventi del VMM per la gestione della memoria virtuale.
25 BT vs HW Ingegneri elettronici, convertitevi. Un VMM che sfrutta il supporto HW, come gia' visto, risolve la necessita di generare trap per eseguire istruzioni privilegiate (o di interpretarle dinamicamente); Non aiuta, pero', nei trap generati dalla Virtual Memory.
26 BT vs HW inductance is futile. Costo del Trap (VCPU => VMM) e' molto maggiore nei VMM con supporto HW rispetto ai VMM software; Software e' piu' flessibile. Piu' ottimizzazioni possibili; Un VMM basato su software tende ad essere migliore in applicazioni I/O-bound o che creano molti processi.
27 E l'x86-64? Le versioni di AMD (AMD64) e Intel (EM64T) differiscono lievemente nella gestione dei segmenti. AMD64 supporta il Limit Checking dei segmenti, non EM64T Il BT usa il Limit Checking per proteggere la memoria del VMM, quindi su processori Intel la virtualizzazione a 64 bit richiede il supporto hardware.
28 E la paravirtualizzazione? Il sistema operativo viene modificato e reso cosciente della presenza del VMM. Il sistema operativo comunica direttamente con il VMM, semplificandone notevolmente la complessita' e aumentando le prestazioni del sistema in maniera significativa. Idea non nuova. Due implementazioni al momento: Xen (open source, alleanza con Microsoft) e VMware VMI.
29 Grazie!
Tecnologie di virtualizzazione
Tecnologie di virtualizzazione Obiettivo: disaccoppiare il comportamento delle risorse hardware e software di un sistema di elaborazione, così come viste dall utente, dalla loro realizzazione fisica. Disaccoppiamento
ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE
Tesi di laurea ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE Anno Accademico 2010/2011 Relatore Ch.mo prof. Marcello Cinque Candidato Guido Borriello Matr. 528/1336
Virtualizzazione. Dott. Luca Tasquier.
Virtualizzazione Dott. Luca Tasquier E-mail: [email protected] Condizioni di Popek & Golberg 1) Equivalence / Fidelity A program running under the VMM should exhibit a behavior essentially identical
Guida alla realizzazione di un'antenna a stilo con cavo coassiale. Drosophila -
Guida alla realizzazione di un'antenna a stilo con cavo coassiale Drosophila - [email protected] 19 Luglio 2007 Copyright (c) 2007 Salvatore drosophila Fresta. Permission is granted to copy, distribute
Architetture software. Virtualizzazione
Sistemi Distribuiti Architetture software 1 Virtualizzazione 2 1 Virtualizzazione (motivazioni) Sullo stesso elaboratore possono essere eseguiti indipendentemente d t e simultaneamente t sistemi i operativi
Cenni sulla virtualizzazione
Virtualizzazione Cenni sulla virtualizzazione Anno accademico 2016/17 Sistemi Concorrenti e Distribuiti Tullio Vardanega Realizzare una vista logica su una risorsa indipendentemente dalla sua vera natura
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull
Guida alla realizzazione di un'antenna collineare omnidirezionale a 21 dipoli. Drosophila -
Guida alla realizzazione di un'antenna collineare omnidirezionale a 21 dipoli Drosophila - [email protected] 28 Luglio 2007 Copyright (c) 2007 Salvatore drosophila Fresta. Permission is granted to
Virtualizzazione e macchine virtuali. Presentata da Bernardo Lombardi
Virtualizzazione e macchine virtuali Presentata da Bernardo Lombardi La virtualizzazione Per virtualizzazione, in ambiti informatici, si intende la creazione di una versione virtuale di una risorsa normalmente
Analisi di prestazioni di applicazioni web in ambiente virtualizzato
tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Andrea Toigo in collaborazione con candidato Antonio Trapanese Matr. 534/1485 La virtualizzazione è un
UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA
UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA Corso di Sistemi Operativi Prof. Stefano Berretti SEMINARIO: VIRTUALIZZAZIONE DI INFRASTRUTTURE INFORMATICHE a cura di: Nicola Fusari A.A. 2012/2013
Protezione del Kernel Tramite Macchine Virtuali
Protezione del Kernel Tramite Macchine Virtuali Fabio Campisi Daniele Sgandurra Università di Pisa 27 Novembre 2007 1/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa Sommario della
2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO
2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO In questo capitolo verranno prese in considerazione le soluzioni tecnologiche e gli approcci implementativi della virtualizzazione basata su partizionamento
Virtualizzazione. Tanenbaum, A.S. and Bos, H. Modern Operating Systems, fourth edition. Pearson, Chapter 7, Virtualization and the Cloud
Luca Cabibbo Architettura dei Sistemi Software dispensa asw620 marzo 2017 This book is about Xen. It s not about Zen. But if all goes well, this book will make you happy. C. Takemura and L.S. Crawford
Virtualizzazione con KVM. Reggio Emilia - Linux Day 2014 Stefano Strozzi KVM
Virtualizzazione con KVM Considerazioni Legge di Gordon Moore (co-fondatore di Intel): «Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi.» http://it.wikipedia.org/wiki/legge_di_moore
Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini
[http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali
Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.
Virtual Machines Virtual BOX, Xen, KVM & C. Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l. 1 Che cosa è la virtualizzazione? In informatica la virtualizzazione x86 consiste nella creazione di una versione
GESTIONE DELLA MEMORIA CENTRALE
GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:
AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
Sistemi Operativi. Lezione 3 Processi e Thread
Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione
Cosa è un programma. Informatica di Base -- R.Gaeta 18
Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer
VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008
VIRTUALIZZAZIONE LUG - CREMONA Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE In informatica la virtualizzazione consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente
Virtualizzazione. Tanenbaum, A.S. and Bos, H. Modern Operating Systems, fourth edition. Pearson, Chapter 7, Virtualization and the Cloud
Luca Cabibbo Architettura dei Sistemi Software dispensa asw620 marzo 2016 This book is about Xen. It s not about Zen. But if all goes well, this book will make you happy. C. Takemura and L.S. Crawford
Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi
Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello
Oracle Retail MICROS Stores2 Functional Document Customers - Homonyms Release March 2016
Oracle Retail MICROS Stores2 Functional Document Customers - Homonyms Release 1.38 March 2016 Oracle Retail MICROS Stores2 Functional Document Customers - Homonyms, Release 1.38 Copyright 2016, Oracle
Sistema Operativo (Software di base)
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
Memoria Secondaria o di Massa
Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici, CD, DVD, USB memory, etc deve essere permanente (mentre la RAM e`volatile) accesso sequenziale, cioe il tempo di accesso
Virtualizzazione di sistema
Luca Cabibbo Architettura dei Sistemi Software dispensa asw630 marzo 2018 This book is about Xen. It s not about Zen. But if all goes well, this book will make you happy. C. Takemura and L.S. Crawford
Macchine Virtuali. Docente: Fabio Tordini Email: [email protected]
Macchine Virtuali Docente: Fabio Tordini Email: [email protected] Macchine Virtuali macchine virtuali e virtualizzazione introduzione architettura utilizzi VirtualBox installazione e panoramica (interattivo)
Virtualizzazione con OpenVZ
Workshop CCR Dicembre 2008 Stefano Stalio Laboratori Nazionali del Gran Sasso [email protected] Da wikipedia: OpenVZ is an operating system level virtualization technology based on the Linux
Calcolatori Elettronici
Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con
Lezione 4 La Struttura dei Sistemi Operativi. Introduzione
Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)
