Elbrus VS Intel. Comparando el rendimiento de los sistemas de almacenamiento Aérodisk Este y Engine

Elbrus VS Intel. Comparando el rendimiento de los sistemas de almacenamiento Aérodisk Este y Engine

Hola a todos. Continuamos presentándoles el sistema de almacenamiento de datos Aerodisk VOSTOK, basado en el procesador ruso Elbrus 8C.

En este artículo, (como prometimos) analizaremos en detalle uno de los temas más populares e interesantes relacionados con los Elbrus, a saber, el rendimiento. Hay muchas especulaciones sobre el rendimiento del Elbrus, y son absolutamente opuestas. Los pesimistas dicen que el rendimiento del Elbrus es actualmente 'nulo', y que para alcanzar a los 'mejores' productores se necesitarán décadas (es decir, en las condiciones actuales — nunca). Por otro lado, los optimistas afirman que el Elbrus 8C ya muestra buenos resultados, y que en los próximos años, con el lanzamiento de nuevas versiones de los procesadores (Elbrus 16C y 32C), podremos 'alcanzar y superar' a los principales fabricantes mundiales de procesadores.

En Aerodisk somos personas prácticas, por lo que optamos por el camino más simple y comprensible (para nosotros): probar, documentar los resultados y después sacar conclusiones. Como resultado, realizamos una cantidad considerable de pruebas y descubrimos una serie de características del funcionamiento de la arquitectura e2k del Elbrus 8C (incluidas algunas agradables) y, por supuesto, las comparamos con almacenes de datos similares basados en procesadores Intel Xeon de la arquitectura amd64.

Por cierto, hablaremos más detalladamente sobre las pruebas, resultados y el futuro desarrollo de los almacenes de datos en los Elbrus en nuestro próximo seminario web 'Cerca de TI' el 15.10.2020 a las 15:00. Puedes registrarte en el enlace a continuación.

→ Registro para el seminario web

Comenzamos las pruebas del esquema de HA con el desarrollo de un

Creamos dos bancos de pruebas. Ambos bancos consisten en un servidor con Linux, conectado a través de conmutadores FC de 16G a dos controladores de almacenamiento, en los que se instalaron 12 discos SAS SSD de 960 GB (11.5 TB de 'capacidad bruta' o 5.7 TB de 'capacidad útil', si usamos RAID-10).

Esquemáticamente, el banco de pruebas se ve de la siguiente manera.

Elbrus VS Intel. Comparando el rendimiento de los sistemas de almacenamiento Aérodisk Este y Engine

Banco de pruebas n.º 1 e2k (Elbrus)

La configuración del hardware es la siguiente:

  • Servidor Linux (2xIntel Xeon E5-2603 v4 (6 núcleos, 1.70Ghz), 64 GB DDR4, 2xAdaptador FC de 16G 2 puertos) – 1 unidad.
  • Conmutador FC de 16 G – 2 unidades.
  • Almacenamiento Aerodisk Vostok 2-E12 (2xElbrus 8C (8 núcleos, 1.20Ghz), 32 GB DDR3, 2xAdaptador FC de 16G 2 puertos, 12xSAS SSD 960 GB) — 1 unidad

Banco de pruebas n.º 2 amd64 (Intel)

Para comparar con una configuración similar en e2k, se utilizó una configuración parecida de almacenamiento con un procesador similar en características de amd64:

  • Servidor Linux (2xIntel Xeon E5-2603 v4 (6 núcleos, 1.70Ghz), 64 GB DDR4, 2xAdaptador FC de 16G 2 puertos) – 1 unidad.
  • Conmutador FC de 16 G – 2 unidades.
  • Almacenamiento Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 núcleos, 1.70Ghz), 32 GB DDR4, 2xAdaptador FC de 16G 2 puertos, 12xSAS SSD 960 GB) — 1 unidad

Nota importante: los procesadores Elbrus 8C utilizados en la prueba solo admiten memoria RAM DDR3, lo cual es, por supuesto, "malo, pero no por mucho tiempo". Elbrus 8CV (en este momento no lo tenemos disponible, pero pronto lo tendrá) admite DDR4.

Método de prueba

Para generar la carga utilizamos el popular y probado programa Flexible IO (FIO).

Ambos sistemas de almacenamiento están configurados según nuestras propias recomendaciones de configuración, basadas en los requisitos de alto rendimiento en acceso por bloques, por lo que utilizamos grupos de discos DDP (Dynamic Disk Pool). Para no distorsionar los resultados de las pruebas, en ambos sistemas de almacenamiento deshabilitamos la compresión, la deduplicación y la caché de RAM.

Se crearon 8 D-LUN en RAID-10 de 500 GB cada uno, con un volumen útil total de 4 TB (es decir, aproximadamente el 70% de la capacidad útil posible de esta configuración).

Se ejecutarán los escenarios de uso principales y populares del sistema de almacenamiento, en particular:

las primeras dos pruebas emulan el funcionamiento de una base de datos transaccional. En este grupo de pruebas, nos interesan los IOPS y la latencia.

1) Lectura aleatoria con bloques pequeños de 4k
a. Tamaño del bloque = 4k
b. Lectura/escritura = 100%/0%
c. Número de trabajos = 8
d. Profundidad de la cola = 32
e. Característica de carga = Totalmente aleatoria

2) Escritura aleatoria con bloques pequeños de 4k
a. Tamaño del bloque = 4k
b. Lectura/escritura = 0%/100%
c. Número de trabajos = 8
d. Profundidad de la cola = 32
e. Característica de carga = Totalmente aleatoria

las segundas dos pruebas emulan el funcionamiento de la parte analítica de la base de datos. En este grupo de pruebas, también nos interesan los IOPS y la latencia.

3) Lectura secuencial con bloques pequeños de 4k
a. Tamaño del bloque = 4k
b. Lectura/escritura = 100%/0%
c. Número de trabajos = 8
d. Profundidad de la cola = 32
e. Característica de carga = Secuencial

4) Escritura secuencial con bloques pequeños de 4k
a. Tamaño del bloque = 4k
b. Lectura/escritura = 0%/100%
c. Número de trabajos = 8
d. Profundidad de la cola = 32
e. Característica de carga = Secuencial

el tercer grupo de pruebas emula el funcionamiento de la lectura por flujo (por ejemplo, transmisiones en línea, recuperación de copias de seguridad) y la escritura por flujo (por ejemplo, videovigilancia, grabación de copias de seguridad). En este grupo de pruebas, ya nos interesan no solo los IOPS, sino también MB/s y la latencia.

5) Lectura secuencial con grandes bloques de 128k
a. Tamaño del bloque = 128k
b. Lectura/escritura = 0%/100%
c. Número de trabajos = 8
d. Profundidad de la cola = 32
e. Característica de carga = Secuencial

6) Escritura secuencial con grandes bloques de 128k
a. Tamaño del bloque = 128k
b. Lectura/escritura = 0%/100%
c. Número de trabajos = 8
d. Profundidad de la cola = 32
e. Característica de carga = Secuencial

Cada prueba durará una hora sin contar el tiempo de calentamiento del arreglo de 7 minutos.

Resultados de pruebas

Los resultados de las pruebas se han resumido en dos tablas.

Elbrus 8C (Sistema de Almacenamiento Aerodisk Este 2-E12)

Elbrus VS Intel. Comparando el rendimiento de los sistemas de almacenamiento Aérodisk Este y Engine

Intel Xeon E5-2603 v4 (Sistema de Almacenamiento Aerodisk Engine N2)

Elbrus VS Intel. Comparando el rendimiento de los sistemas de almacenamiento Aérodisk Este y Engine

Los resultados fueron extremadamente interesantes. En ambos casos, utilizamos bien la potencia de procesamiento del sistema de almacenamiento (70-90% de utilización), y en esta disposición, claramente se destacan las ventajas y desventajas de ambos procesadores.

En ambas tablas, se destacan en verde las pruebas donde los procesadores se "sienten seguros" y muestran buenos resultados, mientras que en naranja se muestran las situaciones que los procesadores "no prefieren".

Hablando de la carga aleatoria con bloques pequeños, entonces:

  • en términos de lectura aleatoria, Intel está sin duda por delante de Elbrus, con una diferencia de 2 veces;
  • en términos de escritura aleatoria, es un empate claro, ambos procesadores mostraron resultados aproximadamente iguales y dignos.

Sin embargo, en la carga secuencial con bloques pequeños, la situación es diferente:

  • tanto en lectura como en escritura, Intel supera significativamente (por 2 veces) a Elbrus. Mientras que, si bien Elbrus tiene un índice de IOPS inferior al de Intel, se ve respetable (200-300 mil), los retardos son un problema evidente (son tres veces más altos que los de Intel). En conclusión, la versión actual de Elbrus 8C "no aprecia" las cargas secuenciales con bloques pequeños. Definitivamente hay trabajo por hacer.

Pero en la carga secuencial con bloques grandes, la imagen es justo la opuesta:

  • ambos procesadores mostraron resultados aproximadamente iguales en MB/s, pero hay un PERO... Los índices de retardos de Elbrus son 10 (¡diez, Carl!!!) veces mejores (es decir, más bajos) que los del procesador equivalente de Intel (0,4/0,5 ms frente a 5,1/6,5 ms). Al principio pensamos que esto era un error, así que verificamos los resultados, hicimos una prueba secundaria, pero la prueba secundaria mostró la misma imagen. Esta es una ventaja significativa de Elbrus (y de la arquitectura e2k en general) sobre Intel (y, en consecuencia, sobre la arquitectura amd64). Esperemos que este éxito tenga un desarrollo adicional.

Hay otra característica interesante de Elbrus que el lector atento puede notar al observar la tabla. Si se observa la diferencia entre los índices de lectura y escritura de Intel, en todas las pruebas, la lectura supera a la escritura en un promedio de aproximadamente un 50%+. Esto es la norma, a la que todos (incluyéndonos a nosotros) estamos acostumbrados. Si miramos a Elbrus, los índices de escritura están mucho más cerca de los índices de lectura, siendo la lectura generalmente un 10 - 30% superior a la escritura, no más.

¿Qué significa esto? Que Elbrus "le gusta mucho" la escritura, y esto, a su vez, indica que este procesador será muy útil en tareas donde la escritura supera claramente a la lectura (¿quién mencionó la ley Yarovaya?), lo cual también es una ventaja indudable de la arquitectura e2k, y esta ventaja debe desarrollarse.

Conclusiones y futuro cercano

Las pruebas comparativas de los procesadores de gama media Elbrus e Intel para tareas de almacenamiento de datos mostraron resultados aproximadamente iguales y igualmente dignos, mientras que cada procesador mostró sus características interesantes.

Intel superó significativamente a Elbrus en lectura aleatoria de bloques pequeños, así como en lectura y escritura secuencial de bloques pequeños.

En escritura aleatoria de bloques pequeños, ambos procesadores muestran resultados iguales.

En términos de latencia, Elbrus se ve significativamente mejor que Intel en cargas de trabajo secuenciales, es decir, en lectura y escritura de bloques grandes.

Además, a diferencia de Intel, Elbrus maneja bien tanto las cargas de lectura como las de escritura, mientras que en Intel, la lectura siempre es significativamente mejor que la escritura.
A partir de los resultados obtenidos, se puede concluir sobre la aplicabilidad de los sistemas de almacenamiento de datos Aerodisk Vostok en el procesador Elbrus 8C en las siguientes tareas:

  • sistemas de información con predominio de operaciones de escritura;
  • acceso a archivos;
  • transmisiones en línea;
  • videovigilancia;
  • copias de seguridad;
  • contenido multimedia.

El equipo de MCST aún tiene trabajo por hacer, pero ya se puede ver el resultado de su trabajo, lo cual, por supuesto, es reconfortante.

Estas pruebas se realizaron en el núcleo de Linux para e2k versión 4.19, actualmente en pruebas beta (en MCST, en Basalt SPO, así como en nuestra empresa, Aerodisk) se encuentra el núcleo Linux 5.4-e2k, en el que, entre otras cosas, se ha reestructurado de manera significativa el planificador y se han realizado muchas optimizaciones para unidades de estado sólido rápidas. También, específicamente para los núcleos de la rama 5.x, la empresa AO «MCST» lanza un nuevo compilador LCC versión 1.25. Según los resultados preliminares, en el mismo procesador Elbrus 8C, el nuevo núcleo compilado con este nuevo compilador, junto con el entorno del núcleo, utilidades del sistema y bibliotecas, así como el software Aerodisk VOSTOK, permitirá obtener un aumento aún más significativo en el rendimiento. Y esto sin cambiar el hardware — con el mismo procesador y las mismas frecuencias.

Esperamos el lanzamiento de la versión Aerodisk VOSTOK basada en el núcleo 5.4 a finales de año, y tan pronto como se complete el trabajo en la nueva versión, actualizaremos los resultados de las pruebas y también los publicaremos aquí.

Si volvemos al inicio del artículo y respondemos a la pregunta de quién tiene razón: los pesimistas que dicen que Elbrus "no importa" y nunca alcanzará a los principales fabricantes de procesadores, o los optimistas que dicen que "ya casi lo hemos alcanzado y pronto los superaremos"? Si partimos no de estereotipos y prejuicios religiosos, sino de pruebas reales, los optimistas tienen la razón.

Elbrus ya muestra buenos resultados en comparación con los procesadores amd64 de gama media. A las líneas superiores de los modelos de procesadores de servidor de Intel o AMD, el 8 de Elbrus, por supuesto, aún le falta, pero no tenía esa meta; para eso se lanzarán procesadores 16C y 32C. Entonces podremos hablar.

Entendemos que, después de este artículo, habrá aún más preguntas sobre Elbrus, por lo que decidimos organizar otro seminario web en línea "Cerca de IT" para responder estas preguntas en vivo.

Esta vez, tendremos como invitado al subdirector general de la empresa MCST, Konstantin Trushkin. Puedes registrarte para el seminario web a través del enlace a continuación.

→ Registro para el seminario web

Muchas gracias a todos, como siempre esperamos críticas constructivas e interesantes preguntas.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster