of 55 /55
Virtualización y jerarquía de memoria Virtualización y jerarquía de memoria Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo ARCOS Departamento de Informática Universidad Carlos III de Madrid cbed Arquitectura de Computadores Grupo ARCOS http://www.arcos.inf.uc3m.es 1/55

Virtualización y jerarquía de memoria - Arquitectura de ...ocw.uc3m.es/ingenieria-informatica/arquitectura-de-computadores/... · – Arquitectura de Computadores – Grupo ARCOS

Embed Size (px)

Text of Virtualización y jerarquía de memoria - Arquitectura de...

  • 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