Virtualización de memoria - Memory virtualization

En informática , la virtualización de la memoria desacopla los recursos de memoria de acceso aleatorio (RAM) volátiles de los sistemas individuales en el centro de datos y luego agrega esos recursos en un grupo de memoria virtualizada disponible para cualquier computadora en el clúster. El sistema operativo o las aplicaciones que se ejecutan en la parte superior del sistema operativo acceden al grupo de memoria. El grupo de memoria distribuida se puede utilizar como un caché de alta velocidad, una capa de mensajería o un gran recurso de memoria compartida para una CPU o una aplicación de GPU.

Descripción

La virtualización de la memoria permite que los servidores en red y, por lo tanto, distribuidos compartan un conjunto de memoria para superar las limitaciones de la memoria física, un cuello de botella común en el rendimiento del software. Con esta capacidad integrada en la red, las aplicaciones pueden aprovechar una gran cantidad de memoria para mejorar el rendimiento general, la utilización del sistema, aumentar la eficiencia del uso de la memoria y permitir nuevos casos de uso. El software en los nodos del grupo de memoria (servidores) permite que los nodos se conecten al grupo de memoria para aportar memoria y almacenar y recuperar datos. El software de gestión y las tecnologías de sobrecompromiso de memoria gestionan la memoria compartida, la inserción de datos, las políticas de desalojo y aprovisionamiento, la asignación de datos a los nodos contribuyentes y gestiona las solicitudes de los nodos de los clientes. Se puede acceder al grupo de memoria a nivel de aplicación o de sistema operativo. En el nivel de la aplicación, se accede al grupo a través de una API o como un sistema de archivos en red para crear un caché de memoria compartida de alta velocidad. A nivel del sistema operativo, una caché de página puede utilizar el grupo como un recurso de memoria muy grande que es mucho más rápido que el almacenamiento local o en red.

Las implementaciones de virtualización de memoria se distinguen de los sistemas de memoria compartida . Los sistemas de memoria compartida no permiten la abstracción de los recursos de memoria, por lo que requieren la implementación con una sola instancia del sistema operativo (es decir, no dentro de un entorno de aplicaciones en clúster).

La virtualización de la memoria también es diferente del almacenamiento basado en la memoria flash, como las unidades de estado sólido (SSD): las SSD y otras tecnologías similares reemplazan a los discos duros (en red o de otro tipo), mientras que la virtualización de la memoria reemplaza o complementa la RAM tradicional.

Beneficios

Eliminar límites de memoria física

Ejecute varias aplicaciones a la vez, AÑADA ALGO aquí noobs

Productos

Implementaciones

Integración a nivel de aplicación

En este caso, las aplicaciones que se ejecutan en computadoras conectadas se conectan al grupo de memoria directamente a través de una API o el sistema de archivos.

Image
Clúster que implementa la virtualización de memoria a nivel de aplicación. Los contribuyentes 1 ... n aportan memoria al grupo. Las aplicaciones leen y escriben datos en el grupo mediante API Java o C, o una API del sistema de archivos.

Integración a nivel de sistema operativo

En este caso, el sistema operativo se conecta a la agrupación de memoria y pone la memoria agrupada a disposición de las aplicaciones.

Image
Clúster que implementa la virtualización de memoria. Los contribuyentes 1 ... n aportan memoria al grupo. El sistema operativo se conecta al grupo de memoria a través del sistema de caché de página . Las aplicaciones consumen memoria agrupada a través del sistema operativo.

Fondo

La tecnología de virtualización de memoria se deriva de arquitecturas de gestión de memoria y técnicas de memoria virtual . En ambos campos, el camino de la innovación ha pasado de relaciones estrechamente acopladas entre recursos lógicos y físicos a relaciones abstractas más flexibles en las que los recursos físicos se asignan según sea necesario.

Los sistemas de memoria virtual abstraen entre la RAM física y las direcciones virtuales, asignando direcciones de memoria virtual tanto a la RAM física como al almacenamiento basado en disco, expandiendo la memoria direccionable, pero a costa de la velocidad. Las arquitecturas NUMA y SMP optimizan la asignación de memoria dentro de los sistemas multiprocesador. Si bien estas tecnologías administran dinámicamente la memoria dentro de las computadoras individuales, la virtualización de la memoria administra la memoria agregada de varias computadoras en red como un solo grupo de memoria.

Junto con las innovaciones en la gestión de la memoria , han surgido varias técnicas de virtualización para aprovechar al máximo los recursos de hardware disponibles. La virtualización de aplicaciones se demostró primero en sistemas mainframe. La siguiente ola fue la virtualización del almacenamiento , como servidores conectados a sistemas de almacenamiento como NAS o SAN, además de, o en lugar de, unidades de disco duro integradas. La virtualización de servidores, o virtualización completa , divide un solo servidor físico en múltiples máquinas virtuales , consolidando múltiples instancias de sistemas operativos en la misma máquina con el propósito de lograr eficiencia y flexibilidad. Tanto en el almacenamiento como en la virtualización de servidores, las aplicaciones desconocen que los recursos que utilizan son virtuales en lugar de físicos, por lo que la eficiencia y la flexibilidad se logran sin cambios en las aplicaciones. De la misma manera, la virtualización de la memoria asigna la memoria de todo un grupo de servidores en red entre las computadoras de ese grupo.

Ver también

Referencias

  • Oleg Goldshmidt, virtualización: sistemas operativos avanzados
  • "Startup RNA Networks virtualiza la memoria en varios servidores" . InformationWeek . 13 de febrero de 2009 . Consultado el 24 de marzo de 2009 .
  • "Cinco tendencias de virtualización para observar" . ComputerWorld . 3 de febrero de 2009. Archivado desde el original el 16 de marzo de 2009 . Consultado el 24 de marzo de 2009 .
  • "Redes de ARN y virtualización de la memoria" . ZDNet . 2 de febrero de 2009 . Consultado el 24 de marzo de 2009 .
  • Kusnetzky, Dan (28 de enero de 2007). "Clasificando las diferentes capas de virtualización" . ZDNet . Consultado el 24 de marzo de 2009 .