stringtranslate.com

Virtualización de memoria

En informática , la virtualización de la memoria desacopla los recursos volátiles de la memoria de acceso aleatorio (RAM) de los sistemas individuales en el centro de datos y luego agrega esos recursos en un grupo de memoria virtualizada disponible para cualquier computadora del clúster. [ cita necesaria ] 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 caché de alta velocidad, capa de mensajería o recurso de memoria compartida de gran tamaño para una aplicación de CPU o GPU.

Descripción

La virtualización de la memoria permite que los servidores conectados 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. [ cita necesaria ] 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 (servidores) del grupo de memoria permite que los nodos se conecten al grupo de memoria para contribuir con memoria y almacenar y recuperar datos. El software de gestión y las tecnologías de compromiso excesivo 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 maneja las solicitudes de los nodos clientes. Se puede acceder al grupo de memoria a nivel de aplicación o a nivel de sistema operativo. A nivel de aplicación, se accede al grupo a través de una API o como un sistema de archivos en red para crear una memoria caché 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 recursos de memoria, por lo que requieren una implementación con una única instancia de sistema operativo (es decir, no dentro de un entorno de aplicaciones agrupadas).

La virtualización de la 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 no), mientras que la virtualización de la 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 las computadoras conectadas se conectan al grupo de memoria directamente a través de una API o el sistema de archivos.

Clúster que implementa la virtualización de la 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 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 implementando 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áginas . Las aplicaciones consumen memoria agrupada a través del sistema operativo.

Fondo

La tecnología de virtualización de la memoria se deriva de las arquitecturas de gestión de la 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 donde 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 sistemas multiprocesador. Si bien estas tecnologías administran dinámicamente la memoria dentro de computadoras individuales, la virtualización de la memoria administra la memoria agregada de múltiples computadoras en red como un único grupo de memoria.

Junto con las innovaciones en la gestión de la memoria , han surgido una serie de 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 único servidor físico en varias máquinas virtuales , consolidando varias instancias de sistemas operativos en la misma máquina con fines de eficiencia y flexibilidad. Tanto en la virtualización de almacenamiento como de servidores, las aplicaciones no son conscientes de 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 memoria asigna la memoria de un grupo de servidores en red completo entre las computadoras de ese grupo.

Ver también

Referencias