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. [ cita requerida ] 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 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. [ 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 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
Productos
- Plataforma de virtualización de memoria de redes RNA : un grupo de memoria de baja latencia, implementado como una caché compartida y una solución de mensajería de baja latencia .
- ScaleMP : una plataforma para combinar recursos de varios equipos con el fin de crear una única instancia informática.
- Wombat Data Fabric : un tejido de mensajería basado en memoria para la entrega de datos de mercado en servicios financieros.
- Oracle Coherence es un producto de cuadrícula de datos en memoria basado en Java de Oracle
- AppFabric Caching Service es una plataforma de caché distribuida para cachés en memoria distribuidos en varios sistemas, desarrollada por Microsoft .
- IBM Websphere extremeScale es un caché distribuido basado en Java muy parecido a Oracle Coherence
- GigaSpaces XAP es una plataforma de software de computación en memoria basada en Java como Oracle Coherence y VMware Gemfire
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.
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.
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 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 una serie de técnicas de virtualización para hacer el mejor uso de 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
- Memoria virtual : virtualización de memoria tradicional en una sola computadora, que generalmente usa el búfer de búsqueda de traducción (TLB) para traducir entre direcciones de memoria virtual y física
- Base de datos en memoria : proporciona un rendimiento más rápido y predecible que las bases de datos basadas en disco.
- Virtualización de E / S : crea puntos finales de almacenamiento y redes virtuales que permiten que la red y los datos de almacenamiento viajen por los mismos tejidos (XSigo I / O Director)
- Virtualización del almacenamiento : abstrae el almacenamiento lógico del almacenamiento físico (NAS, SAN, sistemas de archivos (NFS, clúster FS), administración de volúmenes, RAID)
- Disco RAM : dispositivo de almacenamiento virtual dentro de una sola computadora, limitado a la capacidad de la RAM local.
- InfiniBand
- 10 Gigabit Ethernet
- Memoria compartida distribuida
- Acceso directo a memoria remota (RDMA)
- Localidad de referencia
- Imagen de un solo sistema
- Caché distribuida
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 .