ScholarGate
Asistente

Virtualización de E/S y DMA

El acceso directo a memoria permite a los dispositivos transferir datos hacia y desde la memoria sin la intervención del procesador palabra por palabra, y la virtualización de E/S extiende esto para compartir de forma segura dispositivos físicos entre máquinas virtuales, ambos fundamentales para los sistemas modernos y en la nube eficientes.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

El acceso directo a memoria es un mecanismo mediante el cual un dispositivo transfiere datos directamente hacia o desde la memoria principal sin que el procesador copie cada dato, y la virtualización de E/S es el conjunto de técnicas que presentan y comparten dispositivos físicos de E/S entre múltiples máquinas virtuales de forma segura y eficiente.

Scope

Este tema cubre el acceso directo a memoria (DMA) y la virtualización de E/S: cómo los controladores DMA mueven grandes volúmenes de datos y señalan la finalización, el papel de la IOMMU en la traducción de direcciones y la protección para las transferencias de dispositivos, y las técnicas para compartir dispositivos entre máquinas virtuales, como la emulación de dispositivos, la paravirtualización y el passthrough asistido por hardware. Trata el movimiento eficiente y seguro de datos de dispositivos. Excluye el control básico de dispositivos y las interrupciones (arquitectura de E/S y buses) y los medios de almacenamiento (dispositivos de almacenamiento secundario).

Core questions

  • ¿Cómo transfiere DMA grandes volúmenes de datos sin ocupar el procesador?
  • ¿Cómo proporciona una IOMMU traducción de direcciones y protección para las transferencias de dispositivos?
  • ¿Cómo se comparten de forma segura los dispositivos físicos entre máquinas virtuales?
  • ¿Cuáles son las ventajas y desventajas entre la emulación de dispositivos, la paravirtualización y el passthrough?

Key concepts

  • acceso directo a memoria (DMA)
  • controlador DMA y descriptores
  • interrupciones de finalización
  • IOMMU y traducción de direcciones de dispositivos
  • emulación de dispositivos
  • E/S paravirtualizada
  • passthrough de dispositivos y SR-IOV
  • aislamiento y protección

Key theories

Acceso directo a memoria
Un controlador DMA transfiere bloques de datos entre un dispositivo y la memoria de forma autónoma, interrumpiendo al procesador solo al finalizar, lo que superpone la E/S con la computación y es esencial para el movimiento de datos de alto rendimiento.

Mechanisms

Para una transferencia DMA, el procesador programa un controlador con el origen, el destino y la longitud, luego continúa con otro trabajo mientras el dispositivo mueve los datos y genera una interrupción de finalización. Una IOMMU traduce las direcciones que utilizan los dispositivos y restringe su acceso, proporcionando protección y permitiendo un passthrough seguro. Las máquinas virtuales acceden a los dispositivos a través de dispositivos emulados, controladores paravirtualizados o passthrough directo de hardware (incluida la virtualización de E/S de raíz única que permite que un dispositivo presente múltiples funciones virtuales).

Clinical relevance

DMA es fundamental para una E/S eficiente, liberando al procesador durante las transferencias masivas hacia y desde dispositivos de almacenamiento y red. La virtualización de E/S es esencial para la computación en la nube y los centros de datos, donde muchas máquinas virtuales comparten hardware físico; la IOMMU proporciona el aislamiento que hace que el uso compartido y la asignación directa de dispositivos sean seguros y rápidos.

History

El acceso directo a memoria se ha utilizado desde los primeros ordenadores para descargar el movimiento de datos del procesador. A medida que la virtualización se volvió central para los servidores y la computación en la nube en la década de 2000, se añadió soporte de hardware como la IOMMU y la virtualización de E/S de raíz única para hacer que el uso compartido de dispositivos y la asignación directa fueran eficientes y seguros.

Debates

Rendimiento del passthrough versus flexibilidad
El passthrough directo de dispositivos proporciona a las máquinas virtuales un rendimiento de E/S casi nativo, pero reduce la flexibilidad para la migración y la sobresuscripción, mientras que la E/S emulada o paravirtualizada es más flexible pero más lenta; los diseñadores de sistemas equilibran estos aspectos para sus cargas de trabajo.

Key figures

  • John L. Hennessy
  • David A. Patterson
  • Abraham Silberschatz

Related topics

Seminal works

  • hennessy2019
  • silberschatz2018

Frequently asked questions

¿Qué hace una IOMMU?
Una IOMMU traduce las direcciones que utilizan los dispositivos durante el DMA en direcciones de memoria física y restringe a qué memoria puede acceder un dispositivo. Esto proporciona protección y aislamiento, evitando que un dispositivo o controlador corrompa memoria arbitraria, y permite la asignación directa segura de dispositivos a máquinas virtuales.
¿Por qué es importante el DMA para el rendimiento?
Sin DMA, el procesador tendría que copiar cada palabra hacia o desde un dispositivo, consumiendo ciclos y deteniéndose en transferencias lentas. DMA descarga el movimiento masivo de datos a un controlador dedicado, permitiendo que el procesador realice otro trabajo útil y solo maneje una única interrupción de finalización.

Methods for this concept

Related concepts