Author
nguyenhanh
View
216
Download
0
Embed Size (px)
Virtualizacin y jerarqua de memoria
Virtualizacin y jerarqua de memoriaArquitectura de Computadores
J. Daniel Garca Snchez (coordinador)David Expsito Singh
Javier Garca Blasscar Prez Alonso
J. Manuel Prez Lobato
Grupo ARCOSDepartamento de Informtica
Universidad Carlos III de Madrid
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 1/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Memoria virtual
1 Memoria virtual
2 Polticas
3 Tabla de pginas
4 Mquinas virtuales
5 MMV: Monitores de mquinas virtuales
6 Soporte hardware para virtualizacin
7 Tecnologas de virtualizacin
8 Conclusincbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 2/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Memoria virtual
Lmites del direccionamiento fsico
CPU Memoria
Direccin fsica
Datos
Todos los programas comparten un nico espacio dedirecciones.
Espacio de direcciones fsico.
No hay forma de prevenir que un programa acceda a unrecurso.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 3/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Memoria virtual
Superando el lmite fsico
CPU Traduccin dedirecciones Memoria
Dir. virtual Dir. fsica
Datos
Los programas se ejecutan en un espacio de direccionesvirtuales normalizado.
Traduccin de direcciones:Llevado a cabo por el hardware.Gestionado por el SO.
Caractersticas soportadas:Proteccin, Traduccin, Comparticin.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 4/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Memoria virtual
Ventajas de la memoria virtual (I)
Traduccin:Los programas pueden tener una vista consistente de lamemoria.Reduce el coste de aplicaciones multi-hilo.Solamente hace falta tener en memoria el conjunto detrabajo.Estructuras dinmicas usan solo la memoria fsica querealmente necesitan (p. ej. Pila).
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 5/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Memoria virtual
Ventajas de la memoria virtual (II)
Proteccin:Permite proteger a unos procesos de otros.Se pueden fijar atributos a nivel de pgina.
Solo lectura, ejecucin, . . .
Los datos del ncleo est protegidos de los programas.Mejora la proteccin frente a software malicioso.
Comparticin:Se puede proyectar una pgina a varios procesos.
P. ej.: Archivos proyectados en memoria.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 6/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Memoria virtual
Diferencias con cach
Remplazo:Cach: controlado por hardware.MV: controlado por software.
Tamao:Tamao de cach independiente de longitud de direccin.Tamao de MV dependiente de longitud de direccin.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 7/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Memoria virtual
Parmetros
Parmetro Cach L1 Memoria virtualTamao de bloque 16 128 bytes 4096 65, 536 bytesTiempo de acierto 1 3 ciclos 100 200 ciclosPenalizacin de fallos 8 200 ciclos 106 107 ciclosTiempo de acceso 6 160 ciclos 8 105 8 106 ciclosTiempo de transferencia 2 40 ciclos 2 105 2 106 ciclosTasa de fallos 0.1% 10% 0.00001% 0.001%
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 8/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Polticas
1 Memoria virtual
2 Polticas
3 Tabla de pginas
4 Mquinas virtuales
5 MMV: Monitores de mquinas virtuales
6 Soporte hardware para virtualizacin
7 Tecnologas de virtualizacin
8 Conclusincbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 9/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Polticas
Cuatro preguntas sobre la jerarqua de memoria
1. Dnde se ubica un bloque en el nivel superior?Ubicacin de bloque.
2. Cmo se localiza un bloque en el nivel superior?Identificacin de bloque.
3. Qu bloque debe remplazarse en caso de fallo?Remplazo de bloque.
4. Qu ocurre en caso de escritura?Estrategia de escritura.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 10/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Polticas
Cuatro preguntas sobre la memoria virtual
1. Dnde se ubica una pgina en la memoria principal?Ubicacin de pgina.
2. Cmo se localiza un bloque en la memoria principal?Identificacin de pgina.
3. Qu pgina debe remplazarse en caso de fallo?Remplazo de pgina.
4. Qu ocurre en caso de escritura?Estrategia de escritura.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 11/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Polticas
Dnde se ubica una pgina en memoria principal?
Una pgina se puede ubicar en cualquier marco depgina de la memoria principal.
Correspondencia totalmente asociativa.
Gestin realizada por el sistema operativo.
Objetivo: Minimizar la tasa de fallos.No se puede hacer mucho con la penalizacin por fallo.Penalizacin muy alta debida a lentitud de discosmagnticos.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 12/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Polticas
Cmo se localiza una pgina en memoria principal?
Se mantiene una tabla de pginas por proceso enmemoria principal.
Tabla de correspondencia entre identificador de pginae identificador de marco de pgina.
Reduccin de tiempo de traduccin.TLB: Translation Lookaside Buffer.Evita accesos a la tabla de pginas de memoria principal.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 13/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Polticas
Qu bloque debe remplazarse en caso de fallo depgina?
Poltica de remplazo definida por el Sistema Operativo.Tpicamente LRU (Least-recently used).
La arquitectura debe ofrecer soporte al Sistema Operativo.
Bit de uso: Activado cuando se accede a la pgina.Cuando hay fallo en TLB.
El sistema operativo pone a cero este bit de formaperidica.
Registra valores ms tarde.Permite determinar pginas tocadas en un intervalo.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 14/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Polticas
Qu ocurre en caso de escritura?
La poltica de escritura es siempre write-back.Nunca se ha construido un sistema de MV conwrite-through.No te sientas tentado!
Coste de escrituras en disco tremendamente alto.Minimizacin de escrituras en disco.Uso de dirty bit para indicar cuando se ha modificado unapgina.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 15/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tabla de pginas
1 Memoria virtual
2 Polticas
3 Tabla de pginas
4 Mquinas virtuales
5 MMV: Monitores de mquinas virtuales
6 Soporte hardware para virtualizacin
7 Tecnologas de virtualizacin
8 Conclusincbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 16/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tabla de pginas
Tabla de pginas
Mem. virtual
(pginas) (marcos)
Mem. fsicaId pg. virtual Desplaz.
PTBR
V Prot. Dir. pgina
V Prot. Dir. pgina
V Prot. Dir. pgina
V Prot. Dir. pgina
Dir. pgina Desplaz.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 17/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tabla de pginas
Tamao de tabla de pginas
Si se asume direcciones virtuales de 32 bits, pginasde 4 KB y 4 bytes por entrada en tabla:
Tamao de tabla:
232
212 22B = 222B = 4MB
Alternativas:Tablas de pginas multi-nivel.Tablas de pginas invertidas.
Ejemplo: IA-64Ofrece las dos alternativas al desarrollador del SO.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 18/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tabla de pginas
TLB: Translation Lookaside Buffer
Caso ideal.Cada acceso a memoria requiere dos accesos.
1. Acceso a TP.2. Acceso a memoria.
Escenario peor en caso de tablas multinivel.
Solucin:Usar cach de traducciones para evitar accesos a TP.
Etiqueta: Porcin de direccin virtual.Datos: Nmero de marco, bits de proteccin, bit de validez ydirty-bit.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 19/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Mquinas virtuales
1 Memoria virtual
2 Polticas
3 Tabla de pginas
4 Mquinas virtuales
5 MMV: Monitores de mquinas virtuales
6 Soporte hardware para virtualizacin
7 Tecnologas de virtualizacin
8 Conclusincbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 20/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Mquinas virtuales
Mquinas virtuales
Desarrolladas a finales de los 60.Usadas desde entonces en entornos mainframe.Ignoradas en mquinas monousuario hasta finales de los90.
Popularidad recuperada debido a:Importancia creciente de aislamiento y seguridad ensistemas modernos.Fallos en seguridad y fiabilidad en sistemas operativos.Comparticin de un computador por varios usuarios.Gran incremento en prestaciones de procesadores.
Sobrecarga de MMVs ms aceptable.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 21/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Mquinas virtuales
Monitor de mquina virtual
A virtual machine is taken to be an efficient, isolated duplicateof the real machine. We explain these notions through the ideaof a virtual machine monitor (VMM) . . .. . . a VMM has threee essential characteristics.
First, the VMM provides an environment for programswhich is essentially identical with the original machine,second, programs run in this environment show at worstonly minor decreases in speed;and last, the VMM is in complete control of systemresources.
Fuente: Popek, G. y Goldberg, R. Formal requirements for virtualizable third generation architectures.
Communications of the ACM, Julio de 1974
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 22/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Mquinas virtuales
Virtualizacin
Definicin general: Cualquier mtodo de emulacin queofrece una interfaz software estndar con la mquinafsica.
Java VM?
Mquinas virtuales de sistema: Ofrecen un entornocompleto de sistema a nivel de ISA binaria.
Se suele asumir que ISA de MV e ISA de hardware sonidnticas.Ejemplos:
IBM VM/370.VMWare ESX Server.Xen.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 23/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Mquinas virtuales
Mquina virtual
Ofrece la ilusin de que los usuarios tienen uncomputador completo a su disposicin.
Incluyendo su copia del Sistema Operativo.
Un computador ejecuta varias mquinas virtuales.Puede soportar diversos sistemas operativos.Todos los Sistemas Operativos comparten el hardware.
Terminologa:Host: Plataforma hardware subyacente.Guest: Mquinas virtuales que comparten recursos.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 24/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Mquinas virtuales
MV y VMM: Capas
Plataforma Hardware
Monitor de Mquina Virtual
MV1 MV2 MV3 MV4 MV5
MMV Capa de software desistema.
El monitor se ejecuta sobre laplataforma hardware.Permite la ejecucin de variasmquinas virtuales sobre HWnico.Cada mquina virtual tiene supropio sistema operativo yaplicaciones.Permite ejecutar aplicacionessin modificarlas.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 25/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
MMV: Monitores de mquinas virtuales
1 Memoria virtual
2 Polticas
3 Tabla de pginas
4 Mquinas virtuales
5 MMV: Monitores de mquinas virtuales
6 Soporte hardware para virtualizacin
7 Tecnologas de virtualizacin
8 Conclusincbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 26/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
MMV: Monitores de mquinas virtuales
MMV
Monitor de mquina virtual o hipervisor:Software que soporta las mquinas virtuales.
MMV determina la correspondencia entre recursosvirtuales y recursos fsicos.
Alternativas en comparticin de recursos fsicos:Comparticin de tiempo.Particionamiento.Emulado por software.
Un MMV es ms pequeo que un SO tradicional.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 27/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
MMV: Monitores de mquinas virtuales
Sobrecarga de un MMV
Depende de la carga de trabajo.
Programas ligados a procesador a nivel de usuario:Ejemplo: SPEC.Sobrecarga: 0.Raras invocaciones a SO.
Programas intensivos en E/S intensivos en SO.Muchas llamadas al sistema Instrucciones privilegiadas.Puede tener mucha sobrecarga de virtualizacin.
Programas intensivos en E/S y ligados a E/S.Baja utilizacin del procesador.Se puede ocultar virtualizacin.Baja sobrecarga de virtualizacin.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 28/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
MMV: Monitores de mquinas virtuales
Otros usos (adems de proteccin)
Gestin de software.MV ofrece una abstraccin que permite ejecutar pilasoftware completa.
Sistemas operativos antiguos (DOS?).
Despliegues combinados SO estable, SO heredado ysiguiente versin de SO.
Gestin de hardware.MV permite ejecutar pilas de software separadas perosobre un mismo hardware.
Consolidacin de servidores.Independencia Mayor fiabilidad.
Migracin de MV en ejecucin.Equilibrio de carga.Evacuacin de hardware.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 29/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
MMV: Monitores de mquinas virtuales
Usos: aislamiento
Plataforma Hardware
OS
APP1 APP2
Plataforma Hardware
MMV
OS OS
APP1 APP2
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 30/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
MMV: Monitores de mquinas virtuales
Usos: consolidacin
Plataforma 1 Plataforma 2
OS OS
APP1 APP2
Plataforma Hardware
MMV
OS OS
APP1 APP2
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 31/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
MMV: Monitores de mquinas virtuales
Usos: migracin
Plataforma 1 Plataforma 2
VMM
OS
APP1
Plataforma 1 Plataforma 2
VMM
OS
APP
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 32/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
MMV: Monitores de mquinas virtuales
Requisitos de MMV (I)
Una MMV:Presenta una interfaz software a software husped.Asla el estado de un husped del resto.Se protege a si mismo de los huspedes.
Software husped se debera comportar como si nohubiese MMV, excepto por:
Comportamiento dependiente del rendimiento.Limitaciones de recursos fijos compartidos por mltiplesMMV.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 33/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
MMV: Monitores de mquinas virtuales
Requisitos de MMV (II)
El software husped no debe poder modificar laasignacin de recursos reales de forma directa.MMV debe controlarlo todo, aunque sea usado porhuspedes.
Acceso a estado privilegiado, Traduccin de direcciones,E/S, excepciones, interrupciones, . . .
MMV debe ejecutar en un modo ms privilegiado quehuspedes.
Ejecucin de instrucciones privilegiadas por MMV.Requisitos de MMV (equiv. a requisitos de memoriavirtual).
Como mnimo dos modos de procesador.Subconjunto de instrucciones privilegiadas solo en modoprivilegiado.
Trap si ejecutadas en modo usuario.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 34/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Soporte hardware para virtualizacin
1 Memoria virtual
2 Polticas
3 Tabla de pginas
4 Mquinas virtuales
5 MMV: Monitores de mquinas virtuales
6 Soporte hardware para virtualizacin
7 Tecnologas de virtualizacin
8 Conclusincbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 35/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Soporte hardware para virtualizacin
Soporte de ISA
Si MV se tienen en cuenta en el diseo de ISA, es fcilreducir instrucciones que debe ejecutar VMM y cuantotarda la emulacin.
Pero, la mayora de ISA para escritorio diseadas antes deMV.
MMV debe asegurar que husped solo interacciona conrecursos virtuales.
SO husped ejecutado en modo usuario.Intentos de acceder a HW da lugar a trap.
Si ISA no es consciente de MV, el MMV debe interceptarinstrucciones problemticas.
Introduccin de recursos virtuales.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 36/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Soporte hardware para virtualizacin
Impacto sobre memoria virtual
Cada husped gestiona memoria virtual.Virtualizacin de memoria virtual?
VMM distingue entre memoria real y memoria fsica.Memoria real: Nivel intermedio entre memoria virtual ymemoria fsica.Husped: Correspondencia entre memoria virtual y real.MMV: Correspondencia entre memoria real y fsica.
Para reducir los niveles de indireccin MMV mantiene unatabla de pginas en la sombra.
Correspondencia entre memoria virtual y fsica.MMV tiene que capturar cambios de tabla de pginas ypuntero a tabla de pginas.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 37/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Soporte hardware para virtualizacin
Soporte ISA para virtualizacin de memoria virtual
IBM 370 incorpora nivel adicional de indireccingestionado por MMV.
Elimina la necesidad de tabla de pginas en la sombra.
Virtualizacin de TLB.MMV gestiona la TLB y mantiene copias de la TLB de cadahusped.Accesos a TLB generan trap.TLB con identificadores de procesos simplifican la gestin
Permite entradas de mltiples MV y del VMMsimultneamente.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 38/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Soporte hardware para virtualizacin
Impacto de entrada/salida
Parte ms compleja de virtualizacin.Nmero creciente de dispositivos de E/S.Diversidad creciente de tipos de dispositivos de E/S.Comparticin de dispositivos entre MV.Soporte de gran variedad de drivers.
Se deja parte general del driver en husped.Parte especfica en MMV.
Mtodo dependiente del dispositivo.Discos: Particionados por MMV para crear discosvirtuales.Interfaces de red: Multiplexados en el tiempo.
MMV gestiona direcciones de red virtuales.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 39/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
1 Memoria virtual
2 Polticas
3 Tabla de pginas
4 Mquinas virtuales
5 MMV: Monitores de mquinas virtuales
6 Soporte hardware para virtualizacin
7 Tecnologas de virtualizacin
8 Conclusincbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 40/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Virtualizacin impura
7 Tecnologas de virtualizacinVirtualizacin impuraTecnologas ISA
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 41/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Virtualizacin impura
Virtualizacin impura
Solucin para arquitecturas no virtualizables y parareducir problemas de rendimiento:
Enfoques:
Paravirtualizacin: Portar el cdigo de SO husped a ISAmodificado.
Esfuerzo de desarrollo.Necesidad de repetir para cada SO.Disponibilidad de cdigo fuente.
Traduccin binaria: Sustituir instrucciones novirtualizables por cdigo de emulacin o llamada a MMV.
No requiere cdigo fuente.Algunas emulaciones posibles en espacio de usuario.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 42/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Virtualizacin impura
Ejemplo: XEN
Xen: MMV open-source para x-86.
Estrategia: Paravirtualizacin.Pequeas modificaciones al SO para simplificarvirtualizacin.
Ejemplos de paravirtualizacin:Evitar vaciado de TLB cuando se invoca a MMV.
Xen proyectado a 64 MB superiores de cada MV.Se permite que el husped pueda asignar pginas.
Se comprueba que no viole restricciones de proteccin.Proteccin entre programas y husped Uso de nivelesde x86:
Xen (0), Husped (1), Programas (3).
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 43/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Virtualizacin impura
Cambios en Xen
Cambios necesarios en Linux aproximadamente 3,000lneas de cdigo.
1% de cdigo especfico x86.
Sistema Operativo Ejecuta como host Ejecuta como guestLinux 2.4 Si SiLinux 2.6 Si SiNetBSD 2.0 No SiNetBSD 3.0 Si SiPlan 9 No SiFreeBSD 5 No Si
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 44/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Virtualizacin impura
Rendimiento de Xen
92 94 96 98 100
SPEC INT 2000
Linux build time
PostgreSQL rec. info
PostgreSQL OLTP
dbench
SPEC Web99
100
97
92
95
96
99
Rendimiento relativo a Linux nativo
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 45/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Tecnologas ISA
7 Tecnologas de virtualizacinVirtualizacin impuraTecnologas ISA
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 46/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Tecnologas ISA
Intel Virtualization Technology
Aade nuevas instrucciones:VMXON.VMXOFF.VMLAUNCH.VMRESUME.. . .
Guest OS 1 VMM
VMXON
VMXOFF
Guest OS 2
VM Entry
VM Exit VM Entry
VM Exit
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 47/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Tecnologas ISA
AMD Secure Virtual Machine
Aade nuevas instrucciones:VMRUN/VMLOAD.VMCALL/VMSAVE.. . .
Guest OS 1 VMM
EFER.SVME=1
EFER.SVME=0
Guest OS 2
VMRUN/VMLOAD
VMEXIT/VMSAVE VMRUN/VMLOAD
VMEXIT/VMSAVE
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 48/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Tecnologas ISA
Modos de operacin
VMX root:Totalmente privilegiado.Pensado para su uso por MMV.
VMX non-root:No privilegiado.Pensado para SW husped.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 49/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Tecnologas ISA
Entrada y salida de mquinas virtuales
VM Entry:Transicin de MMV a Husped.Entra en modo non-root.Carga el estado del husped.VMLAUNCH instruccin usada en entrada inicial.VMRESUME instruccin usada en llamadas siguientes.
VM Exit:VMEXIT instruccin usada para pasar a MMV.Entra en modo root.Salva el estado del husped.Carga el estado de MMV.Hay instrucciones y eventos que provocan VMEXIT.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 50/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Tecnologas de virtualizacin
Tecnologas ISA
Beneficios de tecnologa VT
Reduce dependencia del SO.Elimina necesidad de traduccin binaria.Facilita el soporte para SO antiguos
Mejora de robustezElimina la necesidad de tcnicas complejasMMV ms pequeo y simple
Mejora de rendimientoMenos transiciones a MMV
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 51/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Conclusin
1 Memoria virtual
2 Polticas
3 Tabla de pginas
4 Mquinas virtuales
5 MMV: Monitores de mquinas virtuales
6 Soporte hardware para virtualizacin
7 Tecnologas de virtualizacin
8 Conclusincbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 52/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Conclusin
Resumen
La memoria virtual ofrece un mecanismos de traduccinque facilita la proteccin y la comparticin.Polticas de memoria virtual:
Ubicacin: Totalmente asociativa.Identificacin: Tabla de pginas.Remplazo: Tpicamente LRU con soporte de TLB.Escritura: Siempre post-escritura.
Mquinas virtuales: aislamiento, seguridad, fiabilidad,comparticin.Usos de MMV: proteccin, gestin sw/hw (aislamiento,consolidacin, migracin).Tecnologas: Virtualizacin impura y soluciones en la ISA.
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 53/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Conclusin
Referencias
Computer Architecture. A Quantitative Approach5th Ed.Hennessy and Patterson.Secciones: B.4, 2.4.
Ejercicios recomendados:B.12, B.13, B.14, 2.20, 2.21, 2.22, 2.23
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 54/55
http://www.arcos.inf.uc3m.es
Virtualizacin y jerarqua de memoria
Conclusin
Virtualizacin y jerarqua de memoriaArquitectura de Computadores
J. Daniel Garca Snchez (coordinador)David Expsito Singh
Javier Garca Blasscar Prez Alonso
J. Manuel Prez Lobato
Grupo ARCOSDepartamento de Informtica
Universidad Carlos III de Madrid
cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 55/55
http://www.arcos.inf.uc3m.es
Memoria virtualPolticasTabla de pginasMquinas virtualesMMV: Monitores de mquinas virtualesSoporte hardware para virtualizacinTecnologas de virtualizacinVirtualizacin impuraTecnologas ISA
Conclusin