5.8 millones de IOPS: ¿por qué tanto?

Hola Habr! Los conjuntos de datos para Big Data y aprendizaje automático están creciendo exponencialmente y debemos mantenernos al día. Nuestro post sobre otra tecnología innovadora en el campo de la informática de alto rendimiento (HPC, High Performance Computing), mostrada en el stand de Kingston en Supercomputación-2019. Se trata del uso de sistemas de almacenamiento de datos (SDS) de alta gama en servidores con unidades de procesamiento gráfico (GPU) y tecnología de bus GPUDirect Storage. Gracias al intercambio directo de datos entre el sistema de almacenamiento y la GPU, sin pasar por la CPU, la carga de datos en los aceleradores de la GPU se acelera en un orden de magnitud, por lo que las aplicaciones de Big Data se ejecutan con el máximo rendimiento que proporcionan las GPU. A su vez, los desarrolladores de sistemas HPC están interesados ​​en avances en sistemas de almacenamiento con las mayores velocidades de E/S, como los producidos por Kingston.

5.8 millones de IOPS: ¿por qué tanto?

El rendimiento de la GPU supera la carga de datos

Desde que se creó CUDA en 2007, una arquitectura informática paralela de hardware y software basada en GPU para desarrollar aplicaciones de propósito general, las capacidades de hardware de las GPU en sí han crecido increíblemente. Hoy en día, las GPU se utilizan cada vez más en aplicaciones HPC como Big Data, aprendizaje automático (ML) y aprendizaje profundo (DL).

Tenga en cuenta que a pesar de la similitud de términos, los dos últimos son tareas algorítmicamente diferentes. ML entrena la computadora basándose en datos estructurados, mientras que DL entrena la computadora basándose en la retroalimentación de una red neuronal. Un ejemplo para ayudar a comprender las diferencias es bastante simple. Supongamos que la computadora debe distinguir entre fotografías de perros y gatos que se cargan desde el sistema de almacenamiento. Para ML, debes enviar un conjunto de imágenes con muchas etiquetas, cada una de las cuales define una característica particular del animal. Para DL, basta con subir una cantidad mucho mayor de imágenes, pero con una sola etiqueta “esto es un gato” o “esto es un perro”. DL es muy similar a cómo se les enseña a los niños pequeños: simplemente se les muestran imágenes de perros y gatos en los libros y en la vida (la mayoría de las veces, sin siquiera explicar la diferencia detallada), y el cerebro del niño comienza a determinar el tipo de animal después. un cierto número crítico de imágenes para comparar (según las estimaciones, estamos hablando de sólo cien o dos espectáculos a lo largo de la primera infancia). Los algoritmos DL aún no son tan perfectos: para que una red neuronal también funcione con éxito en la identificación de imágenes, es necesario alimentar y procesar millones de imágenes en la GPU.

Resumen del prefacio: basándose en GPU, puede crear aplicaciones HPC en el campo de Big Data, ML y DL, pero hay un problema: los conjuntos de datos son tan grandes que el tiempo dedicado a cargar datos desde el sistema de almacenamiento a la GPU comienza a reducir el rendimiento general de la aplicación. En otras palabras, las GPU rápidas siguen estando infrautilizadas debido a la lentitud de los datos de E/S procedentes de otros subsistemas. La diferencia en la velocidad de E/S de la GPU y el bus hacia la CPU/sistema de almacenamiento puede ser de un orden de magnitud.

¿Cómo funciona la tecnología de almacenamiento GPUDirect?

El proceso de E/S está controlado por la CPU, al igual que el proceso de carga de datos desde el almacenamiento a las GPU para su posterior procesamiento. Esto llevó a una solicitud de tecnología que proporcionaría acceso directo entre GPU y unidades NVMe para comunicarse rápidamente entre sí. NVIDIA fue la primera en ofrecer dicha tecnología y la llamó GPUDirect Storage. De hecho, esta es una variación de la tecnología GPUDirect RDMA (Dirección de memoria directa remota) que desarrollaron anteriormente.

5.8 millones de IOPS: ¿por qué tanto?
Jensen Huang, director ejecutivo de NVIDIA, presentará GPUDirect Storage como una variante de GPUDirect RDMA en SC-19. Fuente: NVIDIA

La diferencia entre GPUDirect RDMA y GPUDirect Storage está en los dispositivos entre los que se realiza el direccionamiento. La tecnología GPUDirect RDMA se reutiliza para mover datos directamente entre la tarjeta de interfaz de red (NIC) frontal y la memoria GPU, y GPUDirect Storage proporciona una ruta de datos directa entre el almacenamiento local o remoto como NVMe o NVMe over Fabric (NVMe-oF) y Memoria GPU.

Tanto GPUDirect RDMA como GPUDirect Storage evitan movimientos de datos innecesarios a través de un búfer en la memoria de la CPU y permiten que el mecanismo de acceso directo a la memoria (DMA) mueva datos desde la tarjeta de red o el almacenamiento directamente hacia o desde la memoria de la GPU, todo sin carga en la CPU central. Para GPUDirect Storage, la ubicación del almacenamiento no importa: puede ser un disco NVME dentro de una unidad GPU, dentro de un bastidor o conectado a través de la red como NVMe-oF.

5.8 millones de IOPS: ¿por qué tanto?
Esquema de funcionamiento de GPUDirect Storage. Fuente: NVIDIA

Los sistemas de almacenamiento de alta gama en NVMe tienen demanda en el mercado de aplicaciones HPC

Al darse cuenta de que con la llegada de GPUDirect Storage, el interés de los grandes clientes se centrará en ofrecer sistemas de almacenamiento con velocidades de E/S correspondientes al rendimiento de la GPU, en la exposición SC-19, Kingston mostró una demostración de un sistema que consta de un Sistema de almacenamiento basado en discos NVMe y una unidad con GPU, que analiza miles de imágenes de satélite por segundo. Ya hemos escrito sobre un sistema de almacenamiento de este tipo basado en 10 unidades NVMe DC1000M U.2. en un informe de la exposición de supercomputadoras.

5.8 millones de IOPS: ¿por qué tanto?
Un sistema de almacenamiento basado en 10 unidades NVMe DC1000M U.2 complementa adecuadamente un servidor con aceleradores de gráficos. Fuente: Kingston

Este sistema de almacenamiento está diseñado como una unidad de rack de 1U o más y se puede escalar según la cantidad de unidades NVMe DC1000M U.2, cada una con una capacidad de 3.84-7.68 TB. El DC1000M es el primer modelo SSD NVMe en factor de forma U.2 en la línea de unidades para centros de datos de Kingston. Tiene una clasificación de resistencia (DWPD, escrituras en la unidad por día), lo que le permite reescribir datos a su capacidad total una vez al día durante la vida útil garantizada de la unidad.

En la prueba fio v3.13 en el sistema operativo Ubuntu 18.04.3 LTS, kernel Linux 5.0.0-31-generic, la muestra de almacenamiento de exhibición mostró una velocidad de lectura (lectura sostenida) de 5.8 millones de IOPS con un rendimiento sostenible (ancho de banda sostenido). ) de 23.8 Gbit/s.

Ariel Pérez, gerente comercial de SSD en Kingston, dijo sobre los nuevos sistemas de almacenamiento: “Estamos preparados para equipar la próxima generación de servidores con soluciones SSD NVMe U.2 para eliminar muchos de los cuellos de botella en la transferencia de datos que tradicionalmente se han asociado con el almacenamiento. La combinación de unidades SSD NVMe y nuestra DRAM Server Premier premium convierte a Kingston en uno de los proveedores de soluciones de datos de extremo a extremo más completos de la industria".

5.8 millones de IOPS: ¿por qué tanto?
La prueba gfio v3.13 mostró un rendimiento de 23.8 Gbps para el sistema de almacenamiento de demostración en unidades NVMe DC1000M U.2. Fuente: Kingston

¿Cómo sería un sistema típico para aplicaciones HPC usando GPUDirect Storage o tecnología similar? Se trata de una arquitectura con una separación física de unidades funcionales dentro de un rack: una o dos unidades para RAM, varias más para nodos informáticos GPU y CPU, y una o más unidades para sistemas de almacenamiento.

Con el anuncio de GPUDirect Storage y la posible aparición de tecnologías similares de otros proveedores de GPU, la demanda de Kingston de sistemas de almacenamiento diseñados para su uso en informática de alto rendimiento se está expandiendo. El marcador será la velocidad de lectura de datos del sistema de almacenamiento, comparable al rendimiento de las tarjetas de red de 40 o 100 Gbit en la entrada de una unidad informática con GPU. Así, los sistemas de almacenamiento de ultra alta velocidad, incluido NVMe externo a través de Fabric, pasarán de ser exóticos a convertirse en algo común para las aplicaciones HPC. Además de los cálculos científicos y financieros, encontrarán aplicación en muchas otras áreas prácticas, como los sistemas de seguridad a nivel metropolitano de Safe City o los centros de vigilancia del transporte, donde se requieren velocidades de reconocimiento e identificación de millones de imágenes HD por segundo”, destacó el nicho de mercado del mejor sistema de almacenamiento

Puede encontrar más información sobre los productos de Kingston en el sitio web oficial compañía.

Fuente: habr.com

Añadir un comentario