$0.00

No products in the cart.

¿Por qué la arquitectura nativa Flash es imprescindible para el almacenamiento escalable en la era Yottabyte?

El desarrollo de las tecnologías 5G, IoT e IA ha creado muchas aplicaciones nuevas. Al mismo tiempo, cada vez más aplicaciones nativas de la nube se están trasladando de la nube pública a centros de datos privados fuera de línea. Estas nuevas aplicaciones se utilizan ampliamente en los sistemas de producción y toma de decisiones de los clientes, lo que genera una gran cantidad de datos no estructurados. En preparación para la era de los yottabytes, las empresas deben encontrar formas de procesar y analizar datos masivos de manera eficiente y rápida para permitir una toma de decisiones oportuna. Mientras tanto, los avances en la fabricación y los medios están haciendo que el costo de los SSD disminuya año tras año, lo que sugiere que los SSD reemplazarán gradualmente a los HDD.

Problemas del sistema de almacenamiento basado en HDD

En un sistema de almacenamiento basado en HDD, la CPU es el centro de control de todas las rutas de acceso a datos, y el proceso de E/S está diseñado según la idea de utilizar la CPU para controlar discos, como se muestra en la Figura 1.

Figura 1: Lógica de control de E/S típica para un diseño basado en HDD

 

En este modo de control, el rendimiento de un solo nodo de almacenamiento está determinado por el componente que primero alcanza el cuello de botella de rendimiento, incluida la CPU, la memoria o los discos duros (un solo nodo de almacenamiento suele estar equipado con varios discos duros). En un sistema HDD, el rendimiento de un solo disco se ve afectado por factores como su unidad y puertos. El ancho de banda de lectura y escritura de un HDD SATA de 7200 RPM típico es de entre 100 MB/s y 150 MB/s. Cuando un solo nodo de almacenamiento está equipado con una o dos CPU y entre 10 y 30 discos duros, se entregará el rendimiento máximo. El ancho de banda de un solo nodo varía de 3 GB/s a 4 GB/s. Si la cantidad de discos supera los 30, el rendimiento de un solo nodo de almacenamiento no puede aumentar de forma lineal.

Para acelerar el procesamiento de datos, se utiliza ampliamente la tecnología RDMA (como InfiniBand o RoCE). La figura 2 muestra el control lógico de E/S basado en RDMA.

Figura 2: Control lógico de E/S basado en RDMA

 

De hecho, RDMA simplifica la pila de E/S para la comunicación de datos entre redes. Una vez que los datos se escriben en la memoria, la CPU puede activar la instrucción DMA correspondiente para enviar los datos de la memoria al servidor a través de la red compatible con RDMA. En el lado del servidor, la tarjeta de interfaz de red (NIC) compatible con RDMA envía datos directamente a la dirección especificada en la memoria. Sin embargo, como se muestra en la Figura 2, los datos se pueden conservar en el medio de almacenamiento solo después de que la CPU termine de procesarlos (incluido el cálculo de codificación de borrado) desde la memoria.

La arquitectura de almacenamiento basada en HDD tiene una desventaja importante en los medios de memoria flash. En casos típicos, el ancho de banda de un SSD NVMe de clase empresarial puede alcanzar más de 7 GB/s y las IOPS pueden alcanzar 500.000 IOPS. Debido a que los recursos de ancho de banda de memoria y CPU de un solo nodo no se pueden expandir infinitamente, la arquitectura de almacenamiento con la CPU como centro de control está limitada por los recursos de CPU y el ancho de banda de memoria, y no puede aprovechar al máximo el rendimiento de múltiples SSD NVMe en un solo nodo de almacenamiento. Por lo tanto, las arquitecturas de almacenamiento deben innovar para desbloquear el rendimiento de los medios en la era completamente flash.

Núcleo de la arquitectura nativa de Flash

¿Qué características debería tener la arquitectura de almacenamiento nativa flash en la era all-flash? En el futuro, los medios all-flash vendrán en formas diversificadas, como SSD NVMe y placas NAND. Un solo nodo tiene una mayor posibilidad de liberar por completo el rendimiento de los medios all-flash solo cuando se consideran los siguientes cuatro aspectos en la innovación de la arquitectura nativa flash:

1. Comunicación de red RDMA

2. Programación de E/S

3. Pila de software simplificada

4. TOE/DTOE

Huawei OceanStor Pacific ofrece las siguientes optimizaciones en los cuatro aspectos:

Uso de RDMA para intercambiar información entre nodos

La arquitectura nativa flash debe seguir siendo compatible con la tecnología RDMA (como la tecnología de red RoCE). De lo contrario, no se puede cumplir el principio principal de la arquitectura nativa flash. Si un sistema de almacenamiento no utiliza RDMA, su latencia de IOPS u OPS estará limitada por la latencia de la red, y no se podrá aprovechar por completo el rendimiento de IOPS u OPS de un único SSD NVMe.

Programación inteligente de E/S

Los procesadores x86 y Arm son en su mayoría procesadores multinúcleo. Normalmente, un nodo de almacenamiento se configura con una o más CPU para procesar solicitudes de E/S. Cada CPU tiene varios núcleos (por ejemplo, 10 núcleos, 20 núcleos), entre los cuales la pila de software de almacenamiento debe planificar de forma proactiva los núcleos de CPU y la programación de E/S para liberar el rendimiento de los medios flash. De lo contrario, la programación desordenada provocará un bajo ancho de banda o rendimiento de IOPS de un solo nodo de almacenamiento, y el rendimiento de los medios flash no se puede aprovechar por completo. Para resolver este problema, OceanStor Pacific presenta la agrupación de núcleos de CPU y la clasificación de tareas de E/S. Se asignan diferentes tipos de E/S con diferentes prioridades. Las E/S con prioridades más altas (por ejemplo, solicitudes de lectura y escritura de aplicaciones) se asignan a grupos con más núcleos. La cantidad de núcleos en un grupo de núcleos de CPU se ajusta dinámicamente en función de las cargas del sistema. Consulte la Figura 3.

Figura 3: Agrupamiento de núcleos de CPU y programación dinámica de tareas

 

La agrupación de núcleos de CPU y las tareas de E/S se priorizan y programan de forma dinámica. Esto permite que el sistema se adapte automáticamente a la presión de E/S de las aplicaciones en primer plano y a las tareas en segundo plano. Cuando aumenta la presión en primer plano, se reduce la cantidad de recursos asignados a las E/S en segundo plano, lo que mejora el rendimiento del sistema. Cuando se reduce la presión en primer plano, se agregan más recursos para las E/S en segundo plano para acelerar la ejecución de las tareas en segundo plano.

Pila de software de E/S simplificada

El sistema de almacenamiento OceanStor Pacific utiliza una arquitectura completamente simétrica, en la que cualquier nodo puede completar la lógica de funciones utilizada para el clúster distribuido. Por lo tanto, un solo nodo inevitablemente introduce una gran cantidad de subprocesos y cambios de contexto entre módulos. La simplificación de la pila de software de E/S permite que los nodos de almacenamiento maximicen el rendimiento de los medios flash. Cuando se crea una gran cantidad de subprocesos pthread, el modelo pthread de Linux predeterminado tiene problemas como una baja eficiencia de programación y una asignación de memoria de la pila de subprocesos fuera de control. OceanStor Pacific soluciona estos problemas con el nuevo modelo Light Weight Thread (LWT) para permitir la programación de una gran cantidad de subprocesos de E/S y controlar con precisión el uso de memoria de los subprocesos. Además, OceanStor Pacific utiliza el mecanismo de administración de memoria Scatter Gather List (SGL) para evitar la copia de memoria y lograr una mejor eficiencia de E/S al realizar un cambio de contexto.

OceanStor Pacific también asigna diferentes áreas de medios tanto para los metadatos que se modifican con frecuencia como para los datos que se modifican con poca frecuencia, a fin de reducir el impacto de GC causado por metadatos que se modifican con frecuencia. Consulte la Figura 4.

Figura 4: Metadatos independientes y partición de datos en flash

 

Colaboración de software y hardware TOE/DTOE

Para optimizar aún más el proceso de E/S, OceanStor Pacific utiliza NIC inteligentes y admite Direct TCP Offload Engine (DTOE). Después de recibir una solicitud de cliente, una NIC estándar no identifica la información específica. En cambio, debe notificar al núcleo sobre la interrupción de la solicitud de red, por lo que el núcleo maneja la interrupción y notifica al programa de aplicación para que procese la información de red. Todo el proceso implica el cambio entre el modo de usuario y el modo de núcleo y múltiples cambios de contexto, lo que da como resultado un procesamiento de E/S ineficiente. Con el uso de DTOE, todas las solicitudes de cliente se procesan en NIC inteligentes. Esto elimina las operaciones redundantes como las interrupciones y los cambios entre el modo de usuario y el modo de núcleo de la ruta de E/S tradicional, lo que simplifica enormemente el proceso de E/S. Consulte la Figura 5.

Figura 5: Proceso de E/S simplificado con DTOE

 

Resumen

Para adoptar la era de la memoria flash, el sistema de almacenamiento de datos, que es la base de la infraestructura de TI, debe innovarse por completo para cumplir con los requisitos de los medios de memoria flash. El almacenamiento escalable OceanStor Pacific ofrece esa innovación, ya que ofrece un gran ancho de banda y una gran cantidad de operaciones de entrada por segundo con baja latencia. Por eso, cada vez más clientes, como un importante banco privado de Turquía y un conocido banco de Singapur, eligen el modelo flash OceanStor Pacific para impulsar sus principales aplicaciones comerciales. A medida que los SSD inteligentes y el bus de comunicación de red de alto rendimiento maduren en los próximos años, OceanStor Pacific seguirá innovando para satisfacer las necesidades de rendimiento de las nuevas aplicaciones en la era de los datos de yottabytes.

Reviews

Related Articles