stringtranslate.com

Virtualización de memoria

En informática , la virtualización de memoria desacopla los recursos de memoria de acceso aleatorio (RAM) volátil 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. [ cita requerida ] El sistema operativo o las aplicaciones que se ejecutan sobre el 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 aplicación de CPU o GPU.

Descripción

La virtualización de memoria permite que los servidores en red, y por lo tanto distribuidos, compartan un conjunto de memoria para superar las limitaciones de memoria física, un cuello de botella común en el rendimiento del software. [ cita requerida ] 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 conjunto de memoria (servidores) permite que los nodos se conecten al conjunto de memoria para contribuir con memoria y almacenar y recuperar datos. El software de gestión y las tecnologías de sobreasignación 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 manejan las solicitudes de los nodos cliente. Se puede acceder al conjunto de memoria a nivel de aplicación o a nivel de sistema operativo. A nivel de aplicación, se accede al conjunto a través de una API o como un sistema de archivos en red para crear una caché de memoria compartida de alta velocidad. A nivel de sistema operativo, una caché de página puede utilizar el conjunto 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 recursos de memoria, por lo que requieren la implementación con una única instancia del sistema operativo (es decir, no dentro de un entorno de aplicaciones en clúster).

La virtualización de memoria también es diferente del almacenamiento basado en 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 memoria reemplaza o complementa la RAM tradicional.

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 del sistema de archivos.

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

Integración a nivel de sistema operativo

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

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

Fondo

La tecnología de virtualización de memoria se deriva de las arquitecturas de gestión de memoria y las 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 más flexibles y abstractas en las que los recursos físicos se asignan según sea necesario.

Los sistemas de memoria virtual hacen abstracción 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 sistemas multiprocesador. Mientras que estas tecnologías administran dinámicamente la memoria dentro de computadoras individuales, la virtualización de memoria administra la memoria agregada de múltiples computadoras en red como un solo conjunto 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 los sistemas mainframe. La siguiente ola fue la virtualización del almacenamiento , en la que los servidores se conectaban 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 único servidor físico en varias máquinas virtuales , consolidando varias instancias de sistemas operativos en la misma máquina con el fin de lograr eficiencia y flexibilidad. Tanto en la virtualización del almacenamiento como en la del servidor, las aplicaciones no saben que los recursos que están utilizando son virtuales en lugar de físicos, por lo que se logra eficiencia y flexibilidad sin cambios en las aplicaciones. De la misma manera, la virtualización de la memoria asigna la memoria de un clúster completo de servidores en red entre las computadoras de ese clúster.

Véase también

Referencias