Inicio Empresa Revisión de la máquina de memoria MemVerge

Revisión de la máquina de memoria MemVerge

Supermicro sys-2029U-Tn24R4t Clouse para Memverge Project

La memoria siempre ha sido el único tipo de hardware que cumplió con la promesa de velocidades masivas. Hay algunos inconvenientes: es costoso, tiene una capacidad limitada y no es persistente (para mantener los datos, la memoria debe encenderse, lo que es más problemático ya que la memoria necesita una actualización periódica). Intel y Micron anunciaron la tecnología 3DXPoint hace unos tres años que sería el primer paso hacia la memoria persistente. Si bien esta tecnología no era tan rápida como la memoria, era mucho más rápida que el almacenamiento flash y mucho más rentable. Al ver el potencial de la memoria persistente, se lanzó MemVerge para aprovechar este potencial.

La memoria siempre ha sido el único tipo de hardware que cumplió con la promesa de velocidades masivas. Hay algunos inconvenientes: es costoso, tiene una capacidad limitada y no es persistente (para mantener los datos, la memoria debe encenderse, lo que es más problemático ya que la memoria necesita una actualización periódica). Intel y Micron anunciaron la tecnología 3DXPoint hace unos tres años que sería el primer paso hacia la memoria persistente. Si bien esta tecnología no era tan rápida como la memoria, era mucho más rápida que el almacenamiento flash y mucho más rentable. Al ver el potencial de la memoria persistente, se lanzó MemVerge para aprovechar este potencial.

Los primeros dispositivos 3D XPoint que vimos estaban más orientados al almacenamiento. Con el paso del tiempo, Intel aprovechó la memoria persistente 3D XPoint (PMem) para crear un SSD más rápido. Más tarde, Intel anunció un módulo de memoria persistente que se ubicaba en la ranura DIMM y actuaba como una expansión de DRAM. Mientras que en el pasado veíamos memoria para necesidades rápidas y almacenamiento para grandes necesidades, PMem comenzó a desdibujar la línea. MemVerge intenta combinar lo mejor de ambos mundos, al permitir el rendimiento de DRAM con gran capacidad y persistencia.

MemVerge ha estado examinando el panorama de la memoria persistente y ha desarrollado software para permitir que PMem alcance su potencial en lugar de aprovecharlo como caché, nivel de velocidad o expansor de memoria. La empresa utiliza lo que denomina computación Big Memory para transformar los entornos de solo DRAM en entornos de menor costo y, lo que es más importante, entornos de memoria de mayor densidad que aprovechan tanto DRAM como PMem. Lo hace mediante la virtualización de los dos en un conjunto de memoria definida por software que también ofrece servicios definidos por software. Además de lo anterior, el software ofrece una capa de abstracción que permite que todas las aplicaciones en un centro de datos se beneficien de nuevos tipos de memoria, interconexiones de memoria, procesadores y asignadores de memoria para abordar aplicaciones y cargas de trabajo modernas y emergentes.

En septiembre del año pasado, MemVerge lanzó la disponibilidad general de su máquina de memoria.. El software se ofrece en dos versiones: versión estándar que virtualiza las aplicaciones de aceleración de memoria DRAM y PMem direccionables por bytes y reduce los costos, pero no permite la persistencia; y AdvancedVersion, que es todo lo anterior con persistencia habilitada, así como servicios de memoria de clase empresarial que se basan en instantáneas en memoria de ZeroIO.

Las instantáneas en memoria ZeroIO, como su nombre lo indica, permiten instantáneas de DRAM y PMem con zeroIO para almacenamiento. Esto convierte a DRAM, que normalmente es volátil y de baja disponibilidad, en un nivel de alta disponibilidad. Las instantáneas de ZeroIO también permiten lo que se denomina viajes en el tiempo, lo que permite retroceder a instantáneas anteriores. Hay una función de guardado automático que devuelve las aplicaciones a la instantánea anterior si hay un bloqueo. Las instantáneas permiten la producción de Thin Clones sin usar más recursos de memoria. Y las instantáneas se pueden migrar a otros servidores y usarse para crear una nueva instancia de aplicación.

Gestión de máquinas de memoria MemVerge

MemVerge Memory Machine tiene una GUI bastante elegante. El tablero global muestra los elementos que esperamos en el almacenamiento, las diferencias en este caso de que DRAM y PMem son los principales elementos monitoreados y el uso se pueden ver fácilmente aquí. En la parte superior hay pestañas para hosts, instancias de aplicaciones, instantáneas y alertas.

Al hacer clic en el botón de inicio a la izquierda, aparece información básica sobre el sistema (dirección IP, sistema operativo, versión de Kernal, CPU), así como una inmersión profunda en el uso y el rendimiento de la memoria y PMem.

Los usuarios pueden profundizar más en la memoria abriendo un informe de memoria para ver el uso por hora. Esto también destaca el tipo, PMem vs. DRAM.

Y los usuarios pueden consultar las API RESTful de Memory Machine y configurarlas.

Las instantáneas son una gran parte de Memory Machine, pero hablaremos de eso en nuestra sección de rendimiento.

Configuration

En nuestro laboratorio, aprovechamos MemVerge Memory Machine en un Supermicro SYS-2029U-TN24R4T con las siguientes especificaciones:

Modelo de hardware Supermicro SYS-2029U-TN24R4T
CPU 2 CPU Intel(R) Platinum(R) 8270 a 2.70 GHz, 26 núcleos
DRAM DDR4 192GB
PMem 12x128GB
SSD del sistema operativo Unidad de estado sólido SATA de 1 TB
OS 8.2.2004 CentOS
Núcleo 4.18.0-193.19.1.el8_2.x86_64

Rendimiento de la máquina de memoria MemVerge

Nuestra batería normal de pruebas no tendría sentido aquí, ya que MemVerge Memory Machine está dirigida a cargas de trabajo y aplicaciones que necesitan ejecutarse en la memoria. Nuestros puntos de referencia generalmente se consideran cargas de trabajo normales a las de alto estrés que se verían en la vida real durante las operaciones de TI. En cambio, aquí veremos algunas pruebas diferentes y veremos específicamente cosas como DRAM versus PMem versus DRAM + PMem y cómo se sacude cada uno. Para esta revisión, utilizaremos KDB Performance tanto para la inserción masiva como para la prueba de lectura, así como Redis Quick Recovery con ZeroIO Snapshot y Redis Clone con ZeroIO Snapshot.

Pruebas de rendimiento de KDB

kdb+ de Kx es una base de datos en memoria de series temporales. Es conocido por su velocidad y eficiencia y por eso es muy popular en la industria de servicios financieros. Una gran restricción para kdb es la limitación de la capacidad DRAM. MemVerge Memory Machine encaja perfectamente aquí, por lo que kdb puede aprovechar al máximo PMem para ampliar el espacio de memoria con un rendimiento similar al de DRAM. Para la prueba de inserción masiva, analizamos una sola inserción, 10, 100, 1000, 10000, 15000, 20000 y 25000 inserciones y medimos en millones de inserciones masivas por segundo.

Con el inserto masivo KDB vemos algunos resultados interesantes. En una sola inserción, los tres tuvieron resultados similares. En tamaños de lotes más pequeños, vemos que DRAM tiene el mejor rendimiento. A medida que el tamaño de los lotes supera los 10,000 XNUMX, vemos que Memory Machine toma la delantera sobre DRAM con PMem al final de cada lote.

A continuación, analizamos kdb+ con una prueba de lectura. Aquí la configuración de la prueba es un poco diferente. La prueba de lectura es la misma en todo momento, pero esta vez analizamos solo DRAM, solo PMem y luego PMem con 20 GB o 40 GB de caché de DRAM. La DRAM solo pudo alcanzar los 4.2 GB/s, PMem solo alcanzó los 2.9 GB/s, con un caché de DRAM de 20 GB, Memory Machine pudo alcanzar casi lo mismo que la DRAM solo con 3.9 GB/s y con 40 GB de caché vimos el rendimiento más alto de 4.8 GB/s. Lo que es más interesante de notar es que los dos últimos todavía permiten mucha DRAM para otras tareas.

Pruebas de instantáneas de Redis

Redis es un almacén de datos en memoria de código abierto que se utiliza como base de datos, caché y agente de mensajes. Es muy popular y potente, por lo que es un programa ideal para comparar MemVerge Memory Machine. Cuando Redis se ejecuta en MemVerge Memory Machine, DRAM y PMem se asignan a Redis. Luego, las instantáneas de MemVerge ZeroIO guardan las páginas de memoria de la aplicación sin operaciones de E/S de almacenamiento. Cuando Redis falla, toda la instantánea de datos de PMem es persistente. La recuperación de fallas implica simplemente apuntar a los datos existentes en PMem sin levantar ni mover datos del almacenamiento.

En esta sección, probaremos la instantánea MemVerge ZeroIO para una recuperación rápida.

Primero, veremos Redis Quick Recovery con ZeroIO Snapshot. A diferencia de los puntos de referencia de rendimiento, aquí mostraremos la funcionalidad y la facilidad de uso. Una vez que Redis se ha instalado y está ejecutando una base de datos, iniciamos sesión en Memory Machine y vemos cosas como cuánto PMem se está utilizando.

En la pestaña de aplicaciones, podemos ver que se está ejecutando un servidor Redis.

Mientras se ejecuta, tomamos algunas instantáneas. Obviamente, si no se toman instantáneas, no se puede restaurar desde una instantánea.

Nunca está de más estar seguro, verifique dos veces para asegurarse de que hayamos tomado algunas instantáneas.

Una vez que sabemos que los tenemos, activamos una falla de Redis DB. Elegimos una instantánea y restauramos, después de una pequeña pausa, estamos en funcionamiento nuevamente.

Clon de Redis con ZeroIO Snapshot

Aquí tomamos varios de los mismos pasos que arriba. Después de tomar la instantánea, podemos restaurarla como un clon con un nuevo espacio de nombres y una nueva dirección IP. Nos conectamos al clon desde otro host y podemos ver que ocupa aproximadamente la misma memoria.

Todo lo anterior se puede hacer con un aviso CLI también para aquellos que lo prefieran.

Conclusión

MemVerge Memory Machine es SDS destinado a combinar el rendimiento de la memoria con la persistencia de PMem. PMem se usa normalmente como caché para acelerar el almacenamiento. Si bien esto es una gran ayuda en muchos casos para el almacenamiento, las aplicaciones en memoria necesitan rendimiento de memoria, no caché. MemVerge virtualiza DRAM y PMem en grupos de memoria definida por software con servicios definidos por software. Memory Machine convierte la DRAM en un nivel de alta disponibilidad con el uso de instantáneas en memoria zeroIO. ZeroIO permite la creación de Thin Clones sin gravar los recursos de memoria.

A medida que avanzamos en nuevas categorías, tendremos que adoptar nuevas pruebas de rendimiento y puntos de referencia. Probar SDS en memoria con nuestros puntos de referencia normales no sería útil, ya que no es para lo que está hecho. En su lugar, aprovechamos el rendimiento de KDB tanto para la inserción masiva como para la prueba de lectura, así como Redis Quick Recovery con ZeroIO Snapshot y Redis Clone con ZeroIO Snapshot. Las pruebas se realizaron en un servidor Supermicro SYS-2029U-TN24R4T, aunque debería funcionar en servidores validados que admitan módulos Intel Optane PMem.

Con KDM a granel, probamos varios tamaños de lotes analizando DRAM, PMem y una combinación de los dos a través de Memory Machine. Como los lotes comenzaron siendo pequeños, no fue una sorpresa ver que la DRAM tenía el mejor rendimiento. Lo que fue realmente interesante de ver es que a medida que la prueba gravaba más los recursos, MemVerge lo hizo cada vez mejor. Con la lectura de KDM, vimos tendencias similares. DRAM se desempeñó muy bien, no fue una sorpresa. PMem funcionó bien, pero bien bajo DRAM. Con solo 20 GB de caché para DRAM con Memory Machine, funcionó a 3.9 GB/s en comparación con los 4.2 GB/s de DRAM solo. Al proporcionar a MemVerge 40 GB de DRAM para caché, se obtuvo el mejor rendimiento general con 4.8 GB/s y se dejó suficiente DRAM para otras tareas.

La segunda parte de las pruebas de rendimiento fue Redis Quick Recovery con ZeroIO Snapshot y Redis Clone con ZeroIO Snapshot. Aquí había más de funcionalidad frente a rendimiento cuantificable. Esencialmente, rápidamente tomamos instantáneas, desencadenamos una falla y pudimos volver a estar en funcionamiento rápidamente.

PMem de Intel es una tecnología sumamente interesante que ha tardado un poco en adoptarse debido a las formas limitadas de adoptar fácilmente y aprovechar adecuadamente los módulos. Con MemVerge, las organizaciones pueden aprovechar lo que PMem tiene para ofrecer, en una solución que se creó específicamente con esta tecnología en mente. Para aquellos con aplicaciones que pueden beneficiarse de la huella de memoria grande y resistente que ofrece PMem, definitivamente vale la pena evaluar MemVerge.

MemVerge

Interactuar con StorageReview

Boletín | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS Feed