Windows es genial para muchas cosas, hay una razón por la que es el sistema operativo número uno del mundo. Dicho esto, no es perfecto, especialmente cuando se trata de adoptar nuevos estándares de almacenamiento. Como tal, existe una gran oportunidad para que las empresas emprendedoras desarrollen soluciones para las tiendas de Windows. A medida que los SSD NVMe continúan dominando la empresa, convirtiéndose en el estándar para el almacenamiento de servidores SSD, existe una mayor demanda para poder compartir ese almacenamiento. Lamentablemente en Windows, eso es un problema, hasta hace poco. A principios de este año, StarWind comercializó un iniciador NVMe-oF para Windows.
Windows es genial para muchas cosas, hay una razón por la que es el sistema operativo número uno del mundo. Dicho esto, no es perfecto, especialmente cuando se trata de adoptar nuevos estándares de almacenamiento. Como tal, existe una gran oportunidad para que las empresas emprendedoras desarrollen soluciones para las tiendas de Windows. A medida que los SSD NVMe continúan dominando la empresa, convirtiéndose en el estándar para el almacenamiento de servidores SSD, existe una mayor demanda para poder compartir ese almacenamiento. Lamentablemente en Windows, eso es un problema, hasta hace poco. A principios de este año, StarWind comercializó un iniciador NVMe-oF para Windows.
Hasta la comercialización, StarWind había estado ofreciendo su iniciador NVMe-oF para Windows como una herramienta gratuita para casos de uso de desarrollo y PoC. Estan aún ofrecer la versión gratuita para aquellos que quieren jugar, pero la versión de envío de GA es lo que estamos viendo hoy. De hecho, si está buscando cualquier iniciador NVMe-oF para Windows, probablemente esté consumiendo StarWind IP. Ellos OEM la solución a una variedad de socios que necesitan desarrollar sus ofertas.
Iniciador NVMe-oF para la configuración de Windows
El iniciador StarWind NVMe-oF para Windows es una instalación simple en cualquier host de Windows. No hay necesidad de hardware especializado o componentes adicionales de Windows. El software está certificado por Windows (Server 2019 y Windows 10) y se ha probado su compatibilidad con los principales proveedores de almacenamiento NVMe-oF. En nuestro escenario, tenemos una configuración muy simple de un host de almacenamiento y cuatro clientes.
Cada uno de los cuatro clientes son Dell PowerEdge R740 servidores. Cada uno ejecuta dos CPU Intel Xeon Gold 6130 a 2.1 GHz con 256 GB de DRAM. Para la conectividad, usamos NVIDIA ConnectX-5 EN 100GbE NIC (MCX516A-CCAT). Los servidores están instalados con Windows Server 2019 Standard Edition, aprovechando el iniciador StarWind NVMe-oF para Windows versión 1.9.0.455. Para las pruebas de Linux, usamos CentOS 8.4.2105 (kernel: 4.18.0-305.10.2) con nvme-cli 1.12. Los servidores están conectados directamente al host de almacenamiento.
El host de almacenamiento es un servidor Intel OEM (M50CYP2SB2U) equipado con dos CPU Intel Xeon 8380 a 2.3 GHz con 512 GB de DRAM. Nuevamente usamos NIC NVIDIA ConnectX-5 EN 100GbE (MCX516A-CDAT), esta vez teníamos cuatro en el host. En este caso estamos usando CentOS 8.4.2105 (kernel – 5.13.7-1.el8.elrepo) y SPDK v21.07.
Dentro del host, estamos usando ocho Intel P5510 SSD Gen4 NVMe. Los SSD se dividen en dos lotes de cuatro para la alineación de NUMA con las CPU. Están configurados en RAID0 para un rendimiento máximo.
Iniciador NVMe-oF para el rendimiento de Windows
Para esta prueba, ejecutamos los siguientes puntos de referencia a través de FIO aprovechando los iniciadores de Linux y Windows.
- Lectura aleatoria 4K: 16 subprocesos, 32 profundidad de cola
- Escritura aleatoria 4K: 8 subprocesos, 4 profundidades de cola
- Lectura aleatoria 64K: 4 subprocesos, 32 profundidad de cola
- Escritura aleatoria 64K: 4 subprocesos, 1 profundidades de cola
- Lectura secuencial 1M - 2 subprocesos, 8 profundidad de cola
- Escritura secuencial 1M - 1 subproceso, 8 profundidad de cola
La duración de una sola prueba es de 3600 segundos (1 hora). Antes de comparar las operaciones de escritura, el almacenamiento se ha calentado primero durante 3600 segundos (1 hora). Todas las pruebas se han realizado tres veces y se utilizó el valor medio como resultado final.
En nuestro primer grupo que analizó el rendimiento del iniciador NVMeoF de Linux en 4 clientes, medimos 5.54 millones de IOPS con un ancho de banda de 21.6 GB/s con una latencia de 0.369 ms en lectura aleatoria de 4K. El rendimiento de escritura aleatoria de 4K midió 1.58 millones de IOPS con un ancho de banda de 6.2 GB/s con una latencia de 0.08 ms.
Pasando a las transferencias de bloques grandes, medimos 64K aleatorios y, finalmente, una prueba secuencial de 1M centrada en el ancho de banda en toda la estructura. En lectura aleatoria de 64K, medimos 46.6 GB/s a 0.69 ms de latencia y 7.2 GB/s a 0.14 ms de latencia en escritura. 1M secuencial llegó a 42.9 GB/s de lectura a 1.48 ms de latencia y 25.4 GB/s a 1.26 ms de latencia de escritura.
A continuación, cambiamos a Windows, donde aprovechamos el iniciador StarWind NVMeoF en los mismos cuatro clientes. Aquí medimos 4.17 millones de IOPS en lectura aleatoria de 4K o 16.3 GB/s a 0.35 ms de latencia. La escritura aleatoria 4K llegó a 1.54 millones de IOPS o 6 GB/s a 0.07 ms de latencia.
Luego pasamos a un tamaño de transferencia más grande de 64K con el mismo perfil de acceso aleatorio. Aquí medimos 46.6 GB/s de lectura a 0.68 ms de latencia y 7.2 GB/s de escritura a 0.13 ms de latencia. Cambiando a nuestro último perfil de carga de trabajo de un tamaño de transferencia de 1M con un patrón de acceso secuencial, medimos 42.9 GB/s de lectura con una latencia de 1.38 ms y 25.2 GB/s de escritura con una latencia de 1.14 ms.
Comparando las cifras cara a cara, tanto el rendimiento de Windows como el de Linux estuvieron muy cerca uno del otro, con la excepción de la lectura aleatoria de 4K. En todas las demás pruebas, la diferencia de rendimiento fue inferior al 3 %. La principal diferencia realmente se reduce a la sobrecarga de la CPU que se agrega al fluir a través de la pila de almacenamiento de Windows. Esto da como resultado una diferencia de 2.7 a 3.7x, donde el aumento de E/S en sí aumenta más el uso de la CPU.
Pasar de una utilización de CPU del 16 % en Linux al 44 % en Windows es un salto bastante grande, pero pasar del 3.5 % al 9 % no se sentiría en el mismo grado. Para las aplicaciones que deben ejecutarse en Windows o que la tienda de TI esté más enfocada en Windows en general, el objetivo principal de StarWind fue brindar capacidades y rendimiento de NVMeoF que claramente pudieron lograr.
Conclusión
El objetivo de este análisis no es determinar la mejor manera o la forma más rápida de implementar su propia solución NVMe-oF. La mayoría de las implementaciones de almacenamiento siguen a la aplicación, frente a la aplicación que sigue al almacenamiento. Dicho esto, hay varias razones por las que una organización puede querer usar Windows. Podrían ser aplicaciones específicas, infraestructura existente, razones de costo o cualquier otra cantidad de problemas que hagan de Windows la plataforma preferida. Al menos ahora, con el iniciador NVMe-oF de StarWind para Windows, tenemos una opción cuando se trata de compartir SSD NVMe y acercarlos lo más posible a los sistemas de aplicaciones.
Ignorando el sistema operativo del cliente por un momento, la principal limitación en nuestras pruebas realmente se reduce a los enlaces de red entre los sistemas. En nuestro caso, aprovechando NIC de 100 Gb, saturamos la red y alcanzamos un máximo de 46.6 GB/s en entornos Linux y Windows. Incluso la prueba máxima de lectura aleatoria de 4K en Windows alcanzó los 16.3 GB/s, lo que daría como resultado más de seis enlaces de 25 GbE para E/S aleatorias. Las redes terminan desempeñando un papel más importante para NVMe-oF, ya que el rendimiento de NVMe de cualquier forma que lo corte puede absorber una gran cantidad de tráfico.
Pero al final del día, nuestro objetivo era evaluar qué tan bien funciona el iniciador StarWind. Funciona realmente bien. Teniendo en cuenta que la alternativa es "¡No hay NVMe-oF para ti!" en Windows, estamos felices de tener cualquier opción. Sí, hay un golpe de CPU por el privilegio, pero a pesar de que los deltas porcentuales de Linux a Windows dan miedo, fuera de las lecturas aleatorias de 4K, el impacto percibido es mínimo. Si no está seguro de si esto es lo correcto, StarWind le permite probarlo gratis. Es tan simple de instalar que hay muchas razones para probarlo y ver qué tan bien NVMe-oF puede funcionar para sus aplicaciones en Windows.
Formulario de solicitud de demostración de StarWind
Interactuar con StorageReview
Boletín informativo | Canal de YouTube | Podcast iTunes/Spotify | @Instagram | Twitter | Facebook | RSS Feed