stringtranslate.com

virtualización x86

La virtualización x86 es el uso de capacidades de virtualización asistida por hardware en una CPU x86/x86-64.

A finales de la década de 1990, la virtualización x86 se lograba mediante complejas técnicas de software, necesarias para compensar la falta del procesador de capacidades de virtualización asistidas por hardware y al mismo tiempo lograr un rendimiento razonable. En 2005 y 2006, tanto Intel (VT-x) como AMD (AMD-V) introdujeron un soporte limitado de virtualización de hardware que permitía un software de virtualización más simple pero ofrecía muy pocos beneficios de velocidad. [1] Un mayor soporte de hardware, que permitió mejoras sustanciales en la velocidad, vino con modelos de procesador posteriores.

Virtualización basada en software

La siguiente discusión se centra únicamente en la virtualización del modo protegido de la arquitectura x86 .

En modo protegido, el kernel del sistema operativo se ejecuta con un privilegio más alto, como el anillo 0, y las aplicaciones con un privilegio más bajo, como el anillo 3. [ cita necesaria ] En la virtualización basada en software, un sistema operativo host tiene acceso directo al hardware mientras que los sistemas operativos invitados tienen acceso limitado al hardware, al igual que cualquier otra aplicación del sistema operativo host. Un enfoque utilizado en la virtualización basada en software x86 para superar esta limitación se llama privación de privilegios de anillo , que implica ejecutar el sistema operativo invitado en un anillo superior (menos privilegiado) que 0. [2]

Tres técnicas hicieron posible la virtualización del modo protegido:

Estas técnicas generan cierta sobrecarga de rendimiento debido a la falta de soporte de virtualización MMU, en comparación con una VM que se ejecuta en una arquitectura virtualizable de forma nativa, como IBM System/370 . [4] : 10  [9] : 17 y 21 

En los mainframes tradicionales, el hipervisor tipo 1 clásico era autónomo y no dependía de ningún sistema operativo ni ejecutaba ninguna aplicación de usuario. Por el contrario, los primeros productos de virtualización x86 estaban dirigidos a estaciones de trabajo y ejecutaban un sistema operativo invitado dentro de un sistema operativo host integrando el hipervisor en un módulo del kernel que se ejecutaba bajo el sistema operativo host (hipervisor tipo 2). [8]

Ha habido cierta controversia sobre si la arquitectura x86 sin asistencia de hardware es virtualizable como lo describen Popek y Goldberg . Los investigadores de VMware señalaron en un artículo de ASPLOS de 2006 que las técnicas anteriores hicieron que la plataforma x86 fuera virtualizable en el sentido de cumplir con los tres criterios de Popek y Goldberg, aunque no mediante la técnica clásica de atrapar y emular. [4] : 2-3 

Otros sistemas como Denali , L4 y Xen tomaron una ruta diferente , conocida como paravirtualización , que implica portar sistemas operativos para que se ejecuten en la máquina virtual resultante, que no implementa las partes del conjunto de instrucciones x86 real que son difíciles de virtualizar. . La E/S paravirtualizada tiene importantes beneficios de rendimiento, como se demuestra en el artículo original de SOSP '03 Xen. [10]

La versión inicial de x86-64 ( AMD64 ) no permitía una virtualización completa solo de software debido a la falta de soporte de segmentación en modo largo , lo que hacía imposible la protección de la memoria del hipervisor, en particular, la protección del controlador de trampas. que se ejecuta en el espacio de direcciones del kernel invitado. [11] [12] : Los procesadores AMD de 64 bits de las revisiones D 11 y 20  (como regla general, los fabricados en 90 nm o menos) agregaron soporte básico para la segmentación en modo largo, lo que permite ejecutar 64-bits. invitados de bits en hosts de 64 bits mediante traducción binaria. Intel no agregó soporte de segmentación a su implementación x86-64 ( Intel 64 ), lo que hace imposible la virtualización solo de software de 64 bits en las CPU Intel, pero la compatibilidad con Intel VT-x hace posible la virtualización asistida por hardware de 64 bits en la plataforma Intel. [13] [14] : 4 

En algunas plataformas, es posible ejecutar un invitado de 64 bits en un sistema operativo host de 32 bits si el procesador subyacente es de 64 bits y admite las extensiones de virtualización necesarias.

Virtualización asistida por hardware

En 2005 y 2006, Intel y AMD (trabajando de forma independiente) crearon nuevas extensiones de procesador para la arquitectura x86. La primera generación de virtualización de hardware x86 abordó la cuestión de las instrucciones privilegiadas. El problema del bajo rendimiento de la memoria del sistema virtualizado se solucionó con la virtualización MMU que se agregó al chipset más tarde.

Unidad Central de procesamiento

Modo virtual 8086

Basado en experiencias dolorosas con el modo protegido 80286 , que por sí solo no era lo suficientemente adecuado para ejecutar bien aplicaciones DOS simultáneas , Intel introdujo el modo virtual 8086 en su chip 80386 , que ofrecía procesadores 8086 virtualizados en los chips 386 y posteriores. Sin embargo, el soporte de hardware para virtualizar el modo protegido estuvo disponible 20 años después. [15]

Virtualización AMD (AMD-V)

Troquel AMD Fenómeno

AMD desarrolló sus extensiones de virtualización de primera generación con el nombre clave "Pacifica", y las publicó inicialmente como AMD Secure Virtual Machine (SVM), [16] pero luego las comercializó bajo la marca comercial AMD Virtualization , abreviada AMD-V .

El 23 de mayo de 2006, AMD lanzó el Athlon 64 ( "Orleans" ), el Athlon 64 X2 ( "Windsor" ) y el Athlon 64 FX ( "Windsor" ) como los primeros procesadores AMD en admitir esta tecnología.

La capacidad AMD-V también se incluye en la familia de procesadores Athlon 64 y Athlon 64 X2 con revisiones "F" o "G" en el socket AM2 , Turion 64 X2 y Opteron de segunda generación [17] y tercera generación, [18] Phenom. y procesadores Phenom II . Los procesadores APU Fusion son compatibles con AMD-V. AMD-V no es compatible con ningún procesador Socket 939. Los únicos procesadores Sempron que lo admiten son las APU y las CPU de escritorio Huron , Regor y Sargas .

Las CPU AMD Opteron que comienzan con la línea Family 0x10 Barcelona y las CPU Phenom II admiten una tecnología de virtualización de hardware de segunda generación llamada Rapid Virtualization Indexing (anteriormente conocida como Nested Page Tables durante su desarrollo), posteriormente adoptada por Intel como Extended Page Tables (EPT). .

A partir de 2019, todos los procesadores AMD basados ​​en Zen son compatibles con AMD-V.

El indicador de CPU para AMD-V es "svm". Esto se puede comprobar en derivados de BSD mediante dmesg o sysctl y en Linux mediante . [19] Las instrucciones en AMD-V incluyen VMRUN, VMLOAD, VMSAVE, CLGI, VMMCALL, INVLPGA, SKINIT y STGI./proc/cpuinfo

Con algunas placas base , los usuarios deben habilitar la función AMD SVM en la configuración del BIOS antes de que las aplicaciones puedan utilizarla. [20]

Virtualización Intel (VT-x)

Procesador Intel Core i7 (Bloomfield)

Anteriormente con el nombre en código "Vanderpool", VT-x representa la tecnología de Intel para la virtualización en la plataforma x86. El 13 de noviembre de 2005, Intel lanzó dos modelos de Pentium 4 (modelo 662 y 672) como los primeros procesadores Intel compatibles con VT-x. El indicador de CPU para la capacidad VT-x es "vmx"; En Linux, esto se puede comprobar mediante /proc/cpuinfo, o en macOS mediante sysctl machdep.cpu.features. [19]

"VMX" significa Extensiones de máquina virtual, que agrega 13 nuevas instrucciones: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON, INVEPT, INVVPID y VMFUNC. [21] Estas instrucciones permiten entrar y salir de un modo de ejecución virtual en el que el sistema operativo invitado se percibe a sí mismo como ejecutándose con privilegios completos (anillo 0), pero el sistema operativo anfitrión permanece protegido.

A partir de 2015 , casi todos los procesadores Intel móviles, de escritorio y de servidor más nuevos son compatibles con VT-x, con algunos de los procesadores Intel Atom como la principal excepción. [22] Con algunas placas base , los usuarios deben habilitar la función VT-x de Intel en la configuración del BIOS antes de que las aplicaciones puedan utilizarla. [23]

Intel comenzó a incluir tablas de páginas extendidas (EPT), [24] una tecnología para la virtualización de tablas de páginas, [25] desde la arquitectura Nehalem , [26] [27] lanzada en 2008. En 2010, Westmere agregó soporte para el lanzamiento de la lógica procesador directamente en modo real  : una característica llamada "invitado sin restricciones", que requiere EPT para funcionar. [28] [29]

Desde la microarquitectura Haswell (anunciada en 2013), Intel comenzó a incluir el sombreado de VMCS como una tecnología que acelera la virtualización anidada de VMM. [30] La estructura de control de máquina virtual (VMCS) es una estructura de datos en la memoria que existe exactamente una vez por VM, mientras es administrada por el VMM. Con cada cambio del contexto de ejecución entre diferentes VM, el VMCS se restaura para la VM actual, definiendo el estado del procesador virtual de la VM. [31] Tan pronto como se utilizan más de un VMM o VMM anidados, aparece un problema similar al que requirió que se inventara la administración de tablas de páginas ocultas, como se describió anteriormente. En tales casos, VMCS debe ser sombreado varias veces (en caso de anidamiento) e implementado parcialmente en software en caso de que el procesador no admita hardware. Para hacer que el manejo de Shadow VMCS sea más eficiente, Intel implementó soporte de hardware para Shadow VMCS. [32]

Virtualización VIA (VIA VT)

Los procesadores VIA Nano serie 3000 y superiores admiten la tecnología de virtualización VIA VT compatible con Intel VT-x. [33] EPT está presente en Zhaoxin ZX-C, un descendiente de VIA QuadCore-E y Eden X4 similar a Nano C4350AL . [34]

Virtualización de interrupciones (AMD AVIC e Intel APICv)

En 2012, AMD anunció su controlador de interrupción virtual avanzado ( AVIC ) destinado a reducir la sobrecarga de interrupciones en entornos de virtualización. [35] Esta tecnología, como se anunció, no es compatible con x2APIC . [36] En 2016, AVIC está disponible en los procesadores 6Xh (Carrizo) de la familia AMD 15h y más nuevos. [37]

También en 2012, Intel anunció una tecnología similar para la virtualización de interrupciones y APIC , que no tenía marca en el momento del anuncio. [38] Más tarde, se denominó virtualización APIC ( APICv ) [39] y estuvo disponible comercialmente en la serie Ivy Bridge EP de CPU Intel, que se vende como Xeon E5-26xx v2 (lanzado a finales de 2013) y como Xeon. E5-46xx v2 (lanzado a principios de 2014). [40]

Unidad de procesamiento gráfico

La virtualización de gráficos no forma parte de la arquitectura x86. La tecnología de virtualización de gráficos Intel (GVT) proporciona virtualización de gráficos como parte de arquitecturas de gráficos de generación más recientes. Aunque las APU de AMD implementan el conjunto de instrucciones x86-64 , implementan las arquitecturas gráficas propias de AMD ( TeraScale , GCN y RDNA ) que no admiten la virtualización de gráficos. [ cita necesaria ] Larrabee era la única microarquitectura de gráficos basada en x86, pero probablemente no incluía soporte para la virtualización de gráficos.

conjunto de chips

La virtualización de memoria y E/S la realiza el chipset . [41] Por lo general, estas funciones deben ser habilitadas por el BIOS, que debe poder admitirlas y también estar configurado para usarlas.

Virtualización de E/S MMU (AMD-Vi e Intel VT-d)

Un registro del kernel de Linux que muestra información de AMD-Vi

Una unidad de administración de memoria de entrada/salida (IOMMU) permite que las máquinas virtuales invitadas utilicen directamente dispositivos periféricos , como Ethernet, tarjetas gráficas aceleradas y controladores de disco duro, a través de DMA y reasignación de interrupciones . A esto a veces se le llama transferencia PCI . [42]

Una IOMMU también permite a los sistemas operativos eliminar los buffers de rebote necesarios para comunicarse con dispositivos periféricos cuyos espacios de direcciones de memoria son más pequeños que el espacio de direcciones de memoria del sistema operativo, mediante el uso de traducción de direcciones de memoria. Al mismo tiempo, una IOMMU también permite que los sistemas operativos y los hipervisores eviten que el hardware malicioso o con errores comprometa la seguridad de la memoria .

Tanto AMD como Intel han publicado sus especificaciones IOMMU:

Además de la compatibilidad con la CPU, tanto el chipset de la placa base como el firmware del sistema ( BIOS o UEFI ) deben ser totalmente compatibles con la funcionalidad de virtualización de E/S de IOMMU para que sean utilizables. Sólo los dispositivos PCI o PCI Express que admiten restablecimiento de nivel de función (FLR) se pueden virtualizar de esta manera, ya que es necesario para reasignar varias funciones de dispositivos entre máquinas virtuales. [46] [47] Si un dispositivo a asignar no admite interrupciones señalizadas por mensajes (MSI), no debe compartir líneas de interrupción con otros dispositivos para que la asignación sea posible. [48] ​​Todos los dispositivos PCI convencionales enrutados detrás de un puente PCI/ PCI-X a PCI Express se pueden asignar a una máquina virtual invitada solo todos a la vez; Los dispositivos PCI Express no tienen tal restricción.

Virtualización de red (VT-c)

Virtualización de E/S de raíz única PCI-SIG (SR-IOV)

La virtualización de E/S de raíz única PCI-SIG (SR-IOV) proporciona un conjunto de métodos de virtualización de E/S generales (no específicos de x86) basados ​​en hardware nativo PCI Express (PCIe), según lo estandarizado por PCI-SIG: [50]

En SR-IOV, el más común de ellos, un host VMM configura dispositivos compatibles para crear y asignar "sombras" virtuales de sus espacios de configuración para que las máquinas virtuales invitadas puedan configurar y acceder directamente a dichos recursos de dispositivos "sombra". [52] Con SR-IOV habilitado, las interfaces de red virtualizadas son directamente accesibles para los invitados, [53] evitando la participación del VMM y dando como resultado un alto rendimiento general; [51] por ejemplo, SR-IOV alcanza más del 95% del ancho de banda de la red básica en el centro de datos virtualizado de la NASA [54] y en la nube pública de Amazon . [55] [56]

Ver también

Referencias

  1. ^ Una comparación de técnicas de software y hardware para virtualización x86, Keith Adams y Ole Agesen, VMware, ASPLOS'06, 21 al 25 de octubre de 2006, San José, California, EE. UU. Archivado el 20 de agosto de 2010 en Wayback Machine "Sorprendentemente, Descubrimos que el soporte de hardware de primera generación rara vez ofrece ventajas de rendimiento sobre las técnicas de software existentes. Atribuimos esta situación a los altos costos de transición de VMM/huésped y a un modelo de programación rígido que deja poco espacio para la flexibilidad del software en la gestión de la frecuencia o el costo de estas transiciones. .
  2. ^ "Extensiones de virtualización del procesador de tecnología de virtualización Intel y tecnología de ejecución confiable de Intel" (PDF) . Intel.com. 2007. Archivado (PDF) desde el original el 21 de mayo de 2015 . Consultado el 12 de diciembre de 2016 .
  3. ^ "Programa técnico USENIX - Resumen - Simposio de seguridad - 2000". Usenix.org. 2002-01-29. Archivado desde el original el 10 de junio de 2010 . Consultado el 2 de mayo de 2010 .
  4. ^ abcde "Una comparación de técnicas de software y hardware para la virtualización x86" (PDF) . VMware. Archivado (PDF) desde el original el 20 de agosto de 2010 . Consultado el 8 de septiembre de 2010 .
  5. ^ ab patente estadounidense 6.397.242
  6. ^ Patente estadounidense 6.704.925
  7. ^ "Virtualización: consideraciones arquitectónicas y otros criterios de evaluación" (PDF) . VMware. Archivado (PDF) desde el original el 6 de febrero de 2011 . Consultado el 8 de septiembre de 2010 .
  8. ^ ab patente estadounidense 6.496.847
  9. ^ "Tecnología de asistencia de hardware y VMware" (PDF) . Archivado (PDF) desde el original el 17 de julio de 2011 . Consultado el 8 de septiembre de 2010 .
  10. ^ "Xen y el arte de la virtualización" (PDF) . Archivado (PDF) desde el original el 29 de septiembre de 2014.
  11. ^ "Cómo retirar la segmentación en modo largo AMD64 rompió VMware". Pagetable.com. 2006-11-09. Archivado desde el original el 18 de julio de 2011 . Consultado el 2 de mayo de 2010 .
  12. ^ "Tecnología de virtualización de CPU y VMware" (PDF) . VMware. Archivado (PDF) desde el original el 17 de julio de 2011 . Consultado el 8 de septiembre de 2010 .
  13. ^ "VMware KB: requisitos de hardware y firmware para sistemas operativos invitados de 64 bits". Kb.vmware.com. Archivado desde el original el 19 de abril de 2010 . Consultado el 2 de mayo de 2010 .
  14. ^ "Técnicas de software y hardware para virtualización x86" (PDF) . Archivado desde el original (PDF) el 5 de enero de 2010 . Consultado el 2 de mayo de 2010 .
  15. ^ Yager, Tom (5 de noviembre de 2004). "Envío de software para hacer el trabajo del hardware | Hardware - InfoWorld". Imágenes.infoworld.com. Archivado desde el original el 18 de octubre de 2014 . Consultado el 8 de enero de 2014 .
  16. ^ "33047_SecureVirtualMachineManual_3-0.book" (PDF) . Archivado (PDF) desde el original el 5 de marzo de 2012 . Consultado el 2 de mayo de 2010 .
  17. ^ "¿Cuáles son las principales diferencias entre los procesadores AMD Opteron de segunda generación y los procesadores AMD Opteron de primera generación?". amd.com . Archivado desde el original el 15 de abril de 2009 . Consultado el 4 de febrero de 2012 .
  18. ^ "¿Qué mejoras de virtualización ofrecen los procesadores AMD Opteron de cuatro núcleos?". amd.com . Archivado desde el original el 16 de abril de 2009 . Consultado el 4 de febrero de 2012 .
  19. ^ ab Para ver si su procesador admite virtualización de hardware Archivado el 25 de noviembre de 2012 en Wayback Machine Intel 2012.
  20. ^ "¿Cómo habilitar Intel VTx y AMD SVM?". Apoyo . QNAP Systems, Inc. Archivado desde el original el 7 de marzo de 2018 . Consultado el 23 de diciembre de 2020 .
  21. ^ INTEL (octubre de 2019). "Manual del desarrollador de software de arquitecturas Intel® 64 e IA-32". intel.com . Corporación Intel . Consultado el 4 de enero de 2020 .
  22. ^ "Lista de tecnologías de virtualización Intel". Ark.intel.com. Archivado desde el original el 27 de octubre de 2010 . Consultado el 2 de mayo de 2010 .
  23. ^ "Windows Virtual PC: configurar BIOS". Microsoft. Archivado desde el original el 6 de septiembre de 2010 . Consultado el 8 de septiembre de 2010 .
  24. ^ Neiger, Gil; A. Santoni; F. Leung; D. Rodgers; R. Uhlig (2006). "Tecnología de virtualización Intel: soporte de hardware para una virtualización eficiente del procesador" (PDF) . Revista de tecnología Intel . 10 (3). Información: 167–178. doi :10.1535/itj.1003.01. Archivado desde el original (PDF) el 25 de septiembre de 2012 . Consultado el 6 de julio de 2008 .
  25. ^ Gillespie, Matt (12 de noviembre de 2007). "Mejores prácticas para mejoras de paravirtualización de la tecnología de virtualización Intel: EPT y VT-d". Red de software Intel . Intel. Archivado desde el original el 26 de diciembre de 2008 . Consultado el 6 de julio de 2008 .
  26. ^ "Primero el tictac, ahora el tac: microarquitectura Intel de próxima generación (Nehalem)" (PDF) (Presione soltar). Intel. Archivado (PDF) desde el original el 26 de enero de 2009 . Consultado el 6 de julio de 2008 .
  27. ^ "Resumen tecnológico: tecnología de virtualización Nehalem de microarquitectura Intel" (PDF) . Intel. 2009-03-25. Archivado (PDF) desde el original el 7 de junio de 2011 . Consultado el 3 de noviembre de 2009 .
  28. ^ [1] "Intel agregó el modo de invitado sin restricciones en la microarquitectura Westmere y CPU Intel posteriores, utiliza EPT para traducir el acceso a la dirección física del invitado a la dirección física del host. Con este modo, se permite VMEnter sin habilitar la paginación".
  29. ^ [2] "Si el control de ejecución de VM “invitado sin restricciones” es 1, el control de ejecución de VM “habilitar EPT” también debe ser 1"
  30. ^ "Procesadores Intel Core vPro de cuarta generación con Intel VMCS Shadowing" (PDF) . Intel . 2013 . Consultado el 16 de diciembre de 2014 .
  31. ^ Comprensión de la tecnología de virtualización Intel (VT). Archivado el 8 de septiembre de 2014 en Wayback Machine . Consultado el 1 de septiembre de 2014.
  32. ^ El 'qué, dónde y por qué' del seguimiento de VMCS. Archivado el 3 de septiembre de 2014 en Wayback Machine. Consultado el 1 de septiembre de 2014.
  33. ^ VIA presenta los nuevos procesadores de la serie VIA Nano 3000 Archivado el 22 de enero de 2013 en Wayback Machine.
  34. ^ "Solución para portátil: procesador Kaixian ZX-C + chipset VX11PH" (PDF) .
  35. ^ Wei Huang, Introducción del controlador de interrupción virtual avanzado de AMD Archivado el 14 de julio de 2014 en Wayback Machine , XenSummit 2012
  36. ^ Jörg Rödel (agosto de 2012). "Virtualización de interrupciones de próxima generación para KVM" (PDF) . AMD. Archivado (PDF) desde el original el 4 de marzo de 2016 . Consultado el 12 de julio de 2014 .
  37. ^ "[Xen-devel] [RFC PATCH 0/9] Presentamos AMD SVM AVIC". www.mail-archive.com . Archivado desde el original el 2 de febrero de 2017 . Consultado el 4 de mayo de 2018 .
  38. ^ Jun Nakajimaa (13 de diciembre de 2012). "Revisión de funciones nuevas y no utilizadas para la virtualización de interrupciones/APIC" (PDF) . Intel. Archivado (PDF) desde el original el 21 de abril de 2015 . Consultado el 12 de julio de 2014 .
  39. ^ Khang Nguyen (17 de diciembre de 2013). "Pruebas de rendimiento de virtualización APIC e Iozone". software.intel.com . Archivado desde el original el 14 de julio de 2014 . Consultado el 12 de julio de 2014 .
  40. ^ "Resumen del producto Familia de productos del procesador Intel Xeon E5-4600 v2" (PDF) . Intel. 2014-03-14. Archivado (PDF) desde el original el 14 de julio de 2014 . Consultado el 12 de julio de 2014 .
  41. ^ "Soporte de hardware de plataforma Intel para virtualización de E/S". Intel.com. 2006-08-10. Archivado desde el original el 20 de enero de 2007 . Consultado el 4 de febrero de 2012 .
  42. ^ "Virtualización de Linux y paso de PCI". IBM. Archivado desde el original el 1 de noviembre de 2009 . Consultado el 10 de noviembre de 2010 .
  43. ^ "Revisión 1.26 de la especificación de la tecnología de virtualización de E/S AMD (IOMMU)" (PDF) . Archivado (PDF) desde el original el 24 de enero de 2011 . Consultado el 24 de mayo de 2011 .
  44. ^ "Especificación de arquitectura de tecnología de virtualización Intel para E/S dirigidas (VT-d)". Archivado desde el original el 3 de abril de 2013 . Consultado el 4 de febrero de 2012 .
  45. ^ "Lista de CPU compatibles con tecnología de virtualización Intel para E/S dirigidas (VT-d)". Ark.intel.com. Archivado desde el original el 27 de octubre de 2010 . Consultado el 4 de febrero de 2012 .
  46. ^ "Aviso de cambio de ingeniería PCI-SIG: restablecimiento del nivel de función (FLR)" (PDF) . pcisig.com . 2006-06-27. Archivado (PDF) desde el original el 4 de marzo de 2016 . Consultado el 10 de enero de 2014 .
  47. ^ "Xen VT-d". xen.org . 2013-06-06. Archivado desde el original el 9 de febrero de 2014 . Consultado el 10 de enero de 2014 .
  48. ^ "Cómo asignar dispositivos con VT-d en KVM". linux-kvm.org . 2014-04-23. Archivado desde el original el 10 de marzo de 2015 . Consultado el 5 de marzo de 2015 .
  49. ^ "Tecnología de virtualización Intel para conectividad (VT-c)" (PDF) . Intel.com. Archivado (PDF) desde el original el 22 de febrero de 2016 . Consultado el 14 de febrero de 2018 .
  50. ^ "Especificaciones de virtualización de E/S (IOV) PCI-SIG". Pcisig.com. 2011-03-31. Archivado desde el original el 15 de enero de 2012 . Consultado el 4 de febrero de 2012 .
  51. ^ ab "Intel Look Inside: Intel Ethernet" (PDF) . Intel . 27 de noviembre de 2014. p. 104. Archivado desde el original (PDF) el 4 de marzo de 2016 . Consultado el 26 de marzo de 2015 .
  52. ^ Yaozu Dong; Zhao Yu; Greg Rose (2008). "Redes SR-IOV en Xen: arquitectura, diseño e implementación". usenix.org . USENIX . Archivado desde el original el 9 de enero de 2014 . Consultado el 10 de enero de 2014 .
  53. ^ Patricio Kutch; Brian Johnson; Greg Rose (septiembre de 2011). "Introducción a la partición de puertos flexible de Intel utilizando la tecnología SR-IOV" (PDF) . Intel . Archivado desde el original (PDF) el 7 de agosto de 2015 . Consultado el 24 de septiembre de 2015 .
  54. ^ "Flexible Cloud Fabric de la NASA: traslado de aplicaciones de clúster a la nube" (PDF) . Intel . Archivado desde el original (PDF) el 22 de diciembre de 2012 . Consultado el 8 de enero de 2014 .
  55. ^ "Redes mejoradas en la nube de AWS". Lógica escalable. 2013-12-31. Archivado desde el original el 9 de enero de 2014 . Consultado el 8 de enero de 2014 .
  56. ^ "Redes mejoradas en la nube de AWS: parte 2". Lógica escalable. 2013-12-31. Archivado desde el original el 10 de enero de 2014 . Consultado el 8 de enero de 2014 .

enlaces externos