Inicio Empresa Revisión de rendimiento NoSQL de la memoria persistente Intel Optane DC

Revisión de rendimiento NoSQL de la memoria persistente Intel Optane DC

by Brian Beeler

A principios de este año publicamos Memoria persistente Intel Optane DC datos en nuestra revisión de la Supermicro SuperServidor 1029U-TN10RT . Supermicro fue uno de los primeros en salir con soporte de memoria persistente Intel y el sistema 2U de doble procesador ha hecho un gran trabajo como banco de pruebas de memoria persistente. Mirar la velocidad de la memoria persistente de Optane DC en la forma tradicional de almacenamiento en bloque es instructivo, pero el valor real de la memoria persistente se revela en las aplicaciones que pueden aprovechar de forma nativa este nuevo medio, colocando datos de manera inteligente en DRAM, memoria persistente o almacenamiento integrado como el necesidades de aplicación. Para comprender mejor el perfil de rendimiento de la memoria persistente Optane DC, pusimos a trabajar el servidor Supermicro utilizando una plataforma NoSQL líder, Aerospike.


A principios de este año publicamos Memoria persistente Intel Optane DC datos en nuestra revisión de la Supermicro SuperServidor 1029U-TN10RT . Supermicro fue uno de los primeros en salir con soporte de memoria persistente Intel y el sistema 2U de doble procesador ha hecho un gran trabajo como banco de pruebas de memoria persistente. Mirar la velocidad de la memoria persistente de Optane DC en la forma tradicional de almacenamiento en bloque es instructivo, pero el valor real de la memoria persistente se revela en las aplicaciones que pueden aprovechar de forma nativa este nuevo medio, colocando datos de manera inteligente en DRAM, memoria persistente o almacenamiento integrado como el necesidades de aplicación. Para comprender mejor el perfil de rendimiento de la memoria persistente Optane DC, pusimos a trabajar el servidor Supermicro utilizando una plataforma NoSQL líder, Aerospike.

Memoria persistente Intel Optane DC
Módulos de memoria persistente Intel Optane DC en el servidor Supermicro

¿Qué es Aerospike?

Aerospike proporciona un sistema de administración de base de datos no relacional, altamente escalable y distribuido para cargas de trabajo exigentes de lectura/escritura que involucran datos operativos. Fue diseñado para ofrecer tiempos de respuesta extremadamente rápidos y predecibles para acceder a conjuntos de datos que abarcan miles de millones de registros en bases de datos de 10 a 100 TB. Aerospike impulsa una amplia variedad de aplicaciones estratégicas, que incluyen prevención de fraude, pagos digitales, motores de recomendación, ofertas en tiempo real y más. Los clientes de Aerospike incluyen grandes nombres como Adobe, Airtel, FlipKart, Kayak, Nielsen, PayPal y Wayfair.

Según el caso de uso y el conjunto de datos, Aerospike se puede implementar en varias configuraciones que optimizan los recursos del sistema para un caso de uso. Aerospike se puede iniciar con datos en la memoria, o índice en la memoria con datos en SSD, o índice en SSD con datos en SSD. Recientemente, Aerospike lanzó una nueva configuración que aprovecha la memoria persistente Optane DC de Intel en el modo AppDirect. El índice se almacena en PMEM con los datos en SSD. Este nuevo modo amplía la capacidad de Aerospike manteniendo el rendimiento muy cercano al indexado en memoria con datos en SSD. Este nuevo modo no solo proporciona latencias de submilisegundos, sino que también es posible reiniciar rápidamente Aerospike sin reconstrucciones del índice principal.

Al aplicar diferentes tipos de cargas de trabajo en diferentes configuraciones de Aerospike, es posible evaluar los beneficios y el rendimiento de utilizar la memoria persistente Intel Optane DC en un SuperMicro SuperServer. Ejecutar y comparar puntos de referencia con un índice en memoria/datos en la configuración de SSD y un índice en PMEM/datos en SSD proporciona la información para tomar una decisión informada sobre el uso de memoria persistente versus DRAM. Hay una configuración adicional que puede proporcionar información adicional sobre el rendimiento de la memoria persistente. Aunque la característica de índice en PMEM y datos en PMEM no se ha publicado, existe una forma de configurar PMEM en el servidor para que se ejecute con índice en PMEM y ejecute una parte de PMEM configurada como un dispositivo de bloque para darle una idea de la posibilidades de rendimiento para índice en PMEM y datos en PMEM.

Configuración NoSQL de Aerospike

Se aplicaron tres cargas de trabajo diferentes a cada una de las tres configuraciones diferentes. Aerospike Java Benchmark generó una carga de trabajo de lectura/escritura 50/50, una carga de trabajo de solo lectura y una carga de trabajo de solo escritura de 4 servidores cliente. Cada prueba constaba de varias fases:

  • Fase de ingesta: carga de datos en la base de datos.
  • Fase de calentamiento: ejecute una carga de escritura durante dos horas para crear un estado estable para la base de datos.
  • Fase de prueba: ejecute la carga de trabajo real para la prueba durante una hora.

Antes de ejecutar cualquier prueba, se seleccionó un conjunto de claves y un tamaño de objeto apropiados para los datos. Aunque Aerospike tiene una amplia gama de tamaños de objetos, desde un par de bytes hasta un millón de bytes, el conjunto de claves y el tamaño del objeto se seleccionaron para ejercitar el hardware del servidor y demostrar el rendimiento de las configuraciones de PMEM. Los tamaños de objetos más grandes pueden crear un cuello de botella en la red y no demostrar completamente el poder de la memoria persistente Optane DC. Por lo tanto, se utilizó un tamaño de objeto de 440 bytes para todas las pruebas.

El tamaño del conjunto de claves estaba limitado por la cantidad de memoria utilizada para el índice en memoria/datos en la configuración de SSD. El índice en la configuración de la memoria se limitó a un conjunto de datos de 4 mil millones de objetos. Aunque el índice en PMEM podía manejar la capacidad de 15.5 millones de claves, solo se usaron 4 millones de claves para una mejor comparación con el índice en la prueba de memoria. Los conjuntos finales de pruebas se ejecutaron con índice en PMEM y datos en PMEM. Debido a que el servidor tenía un total de 1.5 TB de PMEM, solo se usaron mil millones de claves para estas pruebas.

Configuración de hardware

La configuración de hardware incluye dos componentes clave. El único servidor de base de datos alberga la memoria persistente de Intel Optane PC. Los cuatro servidores cliente generan la carga contra el servidor de la base de datos.

Servidor de base de datos

  • Chasis: SuperMicro Ultra 1U SYS-1029U-TN10RT
  • CPU
    • 2 x Intel Xeon escalable 8268 (2.9 GHz, 24C)
    • 2 x Intel Xeon escalable 8280 (2.7 GHz, 28C)
  • Almacenamiento: 10 SSD Intel DC P4510 de 2 TB NVMe, 1 DWPD
  • DRAM: 12 x 32 GB DDR4-2933
  • Memoria persistente: 12 x 128 GB DDR4-2666 Intel Optane DC PMM
  • Red: 100 GbE
  • Sistema operativo: Fedora 29  

servidores cliente

  • Chasis: Dell R740xd
  • CPU: 2 x Intel Xeon escalable 6130
  • DRAM: 256 GB
  • Red: 2 de 25 GbE
  • SO-Ubuntu-18.04
  • Software: Aerospike Enterprise 4.5.1
  • Generador de carga – Aerospike Java Benchmark (Aerospike Java Client 4.4.0)

Resultados de rendimiento de Aerospike

Como se indicó, realizamos la prueba en una variedad de configuraciones de carga de trabajo, así como también en la ubicación del índice y la base de datos. Además, utilizamos dos conjuntos diferentes de CPU escalables Intel Xeon de segunda generación. Ejecutamos tanto el 8268 como el 8280 en el servidor de la base de datos, siendo las CPU 8280 las CPU Intel con el compartimiento más alto que admite la memoria persistente Optane DC. En velocidad de reloj sin procesar, los 8280 ofrecen un aumento de 12 Ghz sobre los 8268, o un aumento del 8.6% en el rendimiento. Si bien no se encuentra en las tablas a continuación, se debe tener en cuenta que, en términos de calidad de servicio, todos los resultados de latencia para las pruebas estuvieron en o cerca del 100 % por debajo del milisegundo en el servidor.

Índice en memoria, datos en SSD NVMe

Actividad Operaciones de rendimiento
Intel 8268
Operaciones de rendimiento
Intel 8280
Leer/Escribir 50/50 2,100,000 2,298,000
Leer 100% 2,240,000 2,720,000
Escribe 100% 1,760,000 2,020,000

Si bien sabemos que los 8280 ofrecen una mejora del 8.6 % en la velocidad de reloj sin procesar con respecto a los 8268, ver cómo eso se convierte en una mejora de la aplicación es un objetivo central. Con Aerospike, con el índice en la memoria y los datos en SSD NVMe, vimos los siguientes cambios en las líneas de pedido. El rendimiento mixto de lectura/escritura 50/50 aumentó un 9.4 %, el 100 % de lectura aumentó un 21.4 % y en el 100 % de escritura el rendimiento aumentó un 14.8 %. 

Índice en memoria persistente Optane DC, datos en SSD NVMe

Actividad Operaciones de rendimiento
Intel 8268
Operaciones de rendimiento
Intel 8280
Leer/Escribir 50/50 2,000,000 2,252,000
Leer 100% 2,200,000 2,630,000
Escribe 100% 1,740,000 1,980,000

Como podemos ver en estos datos, mover los índices de DRAM a la memoria persistente tuvo poco impacto en el rendimiento transaccional. Sin embargo, en producción, lo que esto significa es que debido a que Aerospike puede usar memoria persistente en lugar de DRAM para los índices, la restauración después de reiniciar el nodo de la base de datos es mucho más rápida, ya que una gran cantidad de DRAM no necesita ir a SSD para reconstruir. También hay un ahorro de costos en las cajas de alta densidad, ya que los módulos de memoria persistente Optane DC de 128 GB que se están probando son considerablemente menos costosos que los DIMM de 128 GB. 

Índice y datos en la memoria persistente Optane DC

Actividad Operaciones de rendimiento
Intel 8268
Operaciones de rendimiento
Intel 8280
Leer/Escribir 50/50 2,600,000 2,866,000
Leer 100% 2,810,000 3,100,000
Escribe 100% 2,120,000 2,210,000

Como se señaló, Aerospike ha anunciado, pero aún no ha proporcionado, la disponibilidad general para la capacidad de ejecutar tanto los índices como la base de datos en la memoria persistente Intel Optane DC. Dicho esto, hicimos una demostración de la compilación de código actual que lo permite, que muestra un aumento de aproximadamente el 33 % o 600,000 XNUMX operaciones por segundo en la carga de trabajo mixta. 

Conclusión

La memoria persistente Intel Optane DC es una parte increíblemente poderosa de la jerarquía de datos. Al ubicarse entre la RAM y el almacenamiento, la encarnación de la memoria persistente de Intel finalmente trae la tecnología principal. Pero tener acceso a una nueva tecnología de almacenamiento no es suficiente, las aplicaciones que pueden aprovechar la memoria persistente de forma nativa tendrán una gran ventaja competitiva. La flexibilidad que vemos con Aerospike muestra que estaban listos desde el principio con la compatibilidad con el modo directo de la aplicación (almacenamiento en bloque) para la memoria persistente Optane DC. Además, son líderes en el mundo de NoSQL cuando se trata de mantener índices y datos en los módulos de memoria persistente. Si bien esta última es todavía una visión emergente, los primeros resultados parecen muy prometedores.

aerospike

Discutir esta revisión

Suscríbase al boletín de StorageReview