Compartir a través de


Almacenamiento para cargas de trabajo de Azure HPC

El acceso al almacenamiento es un factor fundamental que se debe tener en cuenta al planear el rendimiento de la carga de trabajo de informática de alto rendimiento (HPC). Las cargas de trabajo de HPC a gran escala en entornos específicos pueden crear demandas de almacenamiento de datos y acceso que superen las funcionalidades de los sistemas de archivos en la nube tradicionales. En este artículo se proporcionan recomendaciones para ayudarle a elegir el almacenamiento correcto para las cargas de trabajo de Azure HPC.

Para ayudar a decidir qué solución de almacenamiento usar, tenga en cuenta los siguientes factores relacionados con los requisitos de la aplicación:

  • Latencia
  • Operaciones de entrada y salida por segundo (IOPS)
  • Rendimiento
  • Tamaños de archivo y recuento de archivos
  • Tiempo de ejecución del trabajo
  • Costo
  • Ubicación de almacenamiento (local frente a Azure)

Para más información, consulte Descripción de los factores que influyen en la selección de almacenamiento de HPC en Azure.

En el diagrama siguiente se muestra un árbol de decisión que es para una elección específica del sistema de almacenamiento de HPC.

Diagrama que muestra un árbol de decisión de consideraciones al elegir una solución de almacenamiento.

Descargar un archivo de Visio de esta arquitectura.

Consideraciones sobre la Computación de Alto Rendimiento

  • de almacenamiento de datos y las necesidades de acceso varían ampliamente, en función de la escala de cargas de trabajo.

  • Los requisitos de entrada/salida (E/S) de alto rendimiento y las necesidades de escalabilidad masiva de HPC presentan desafíos únicos para el almacenamiento y el acceso a datos.

  • HPC usa el procesamiento paralelo y la escalabilidad masiva para realizar tareas informáticas de gran tamaño y de forma confiable que no son prácticas o rentables para controlar mediante técnicas de computación tradicionales.

Distribución de nodos de proceso en clústeres de HPC

En los clústeres de Azure HPC, puede crear nodos de proceso como máquinas virtuales (VM) para realizar trabajos asignados a un clúster. Para ayudar a lograr el procesamiento paralelo de alto rendimiento necesario para resolver problemas complejos de HPC, los nodos de proceso distribuyen esos trabajos en el clúster.

Al ejecutar trabajos, los nodos de proceso deben realizar operaciones de lectura y escritura en un origen de datos compartido. Los nodos acceden a este origen de datos en una serie de escenarios que se encuentran entre los dos extremos siguientes.

  • Un origen de datos para muchos nodos de proceso: en este escenario, hay un único origen de datos en la red al que todos los nodos de proceso acceden para trabajar con los datos. Aunque los nodos de cálculo son estructuralmente simples, la capacidad de E/S de la ubicación de almacenamiento limita las operaciones de E/S.

  • Muchos orígenes de datos a muchos nodos de proceso: En este escenario, hay muchos orígenes de datos en la red a los que acceden todos los nodos de proceso para los datos de trabajo. A pesar de la simplicidad estructural de los nodos de cómputo, la capacidad de E/S de la ubicación de almacenamiento limita las operaciones de E/S.

Distribución del tráfico de carga de trabajo

Tenga en cuenta los tipos de tráfico que genera el entorno de HPC y los procesos. Este paso es especialmente importante si planea ejecutar varios tipos de cargas de trabajo y tiene previsto usar el almacenamiento para otros fines. Tenga en cuenta y registre los siguientes tipos de tráfico:

  • Secuencia única frente a varias secuencias
  • Proporción del tráfico de lectura al tráfico de escritura
  • Promedio de tamaño de archivo y recuento de archivos
  • Patrones de acceso aleatorio frente a patrones de acceso secuencial

Localidad de datos

Esta categoría tiene en cuenta la ubicación de los datos. El reconocimiento de la localidad le ayuda a determinar si puede usar la copia, el almacenamiento en caché o la sincronización como estrategia de movimiento de datos. Compruebe los siguientes elementos de localidad con antelación:

  • Si los datos de origen son locales, en Azure o ambos
  • Si los datos de resultados son locales, en Azure o ambos
  • Si es necesario coordinar las cargas de trabajo de HPC en Azure con escalas de tiempo de modificación de datos de origen
  • Si se incluyen datos confidenciales o de la Ley de Portabilidad y Responsabilidad del Seguro de Salud

Requisitos de rendimiento

Los requisitos de rendimiento de las soluciones de almacenamiento se resumen normalmente como:

  • Rendimiento de un solo flujo.
  • Rendimiento de varios flujos.
  • IOPS máxima esperada.
  • Latencia media.

Cada factor afecta al rendimiento, por lo que estos números sirven como guía para los resultados esperados de una solución específica. Por ejemplo, una carga de trabajo de HPC podría incluir una amplia creación y eliminación de archivos como parte del flujo de trabajo. Esas operaciones pueden afectar al rendimiento general.

Métodos de acceso

Considere el protocolo de acceso de cliente que necesita y especifique las características necesarias. Hay diferentes versiones del sistema de archivos de red (NFS) y el bloque de mensajes del servidor (SMB).

Tenga en cuenta los siguientes requisitos:

  • Indica si se requieren versiones NFS o SMB
  • Las características de protocolo que necesita, como listas de control de acceso o cifrado
  • Si se requiere una solución de sistema de archivos en paralelo

Requisito total de capacidad

La capacidad de almacenamiento en Azure afecta al costo general de la solución. Si planea almacenar una gran cantidad de datos durante mucho tiempo, es posible que quiera considerar la posibilidad de organizar por niveles como parte de la solución de almacenamiento. La organización en niveles combina opciones de almacenamiento de menor costo con almacenamiento de mayor costo y mayor rendimiento en un nivel de acceso frecuente. Tenga en cuenta los siguientes requisitos de capacidad:

  • Capacidad total requerida
  • Capacidad total de nivel de acceso frecuente necesaria
  • Capacidad total de capa cálida necesaria
  • Capacidad total de nivel de acceso esporádico necesaria

Método de autenticación y autorización

Para los requisitos de autenticación y autorización, como el uso de un servidor ligero de protocolo de acceso a directorios (LDAP) o Windows Server Active Directory, asegúrese de incluir los sistemas auxiliares necesarios en la arquitectura. Si necesita admitir funcionalidades como la asignación de identificador de usuario (UID) o id. de grupo (GID) a los usuarios de Windows Server Active Directory, confirme que la solución de almacenamiento admite esa funcionalidad.

Tenga en cuenta los siguientes requisitos de red:

  • Requisitos locales (UID o GID solo en el servidor de archivos)
  • Requisitos de directorio (LDAP o Windows Server Active Directory)
  • Si se necesita la asignación de UID o GID a usuarios de Windows Server Active Directory

Recomendaciones de diseño de HPC

Elija la solución más adecuada para sus requisitos únicos de E/S y capacidad.

  • Para un almacenamiento de alto rendimiento y baja latencia, considere usar Azure Blob Storage Estándar o Premium. Standard o Premium Blob Storage proporciona las siguientes ventajas:

    • Proporciona acceso a escala de exabyte, alto rendimiento, baja latencia, un sistema de archivos conocido y acceso a varios protocolos, incluido REST, HDFS y NFS.

    • Optimiza los costos mediante el control de petabytes (PB) de datos y el empleo de características de administración del ciclo de vida que simplifican el archivado y eliminación de datos. Este enfoque reduce los gastos de almacenamiento a lo largo del tiempo.

    • Admite la capacidad de montar Blob Storage como sistema de archivos mediante BlobFuse. Este método facilita que varios nodos monten el mismo contenedor para escenarios de solo lectura.

    • Admite NFS 3.0 en el punto de conexión de Blob service para cargas de trabajo de alto rendimiento y lectura intensiva.

    • Admite la optimización de costos al permitirle mover datos a niveles de almacenamiento más fríos. Esta optimización es posible a través de la gestión del ciclo de vida basada en el tiempo de la última actualización o acceso y la clasificación inteligente con políticas personalizables.

  • Para aplicaciones ReadWriteMany (únicas) o de escritura única y lectura única, considere usar Azure NetApp Files. Azure NetApp Files proporciona las siguientes ventajas:

    • Una amplia gama de protocolos de archivos, como NFSv3, NFSv4.1 y SMB3

    • Rendimiento que es comparable con el rendimiento local y tiene varios niveles (Ultra, Premium, Estándar)

    • Implementa en minutos y proporciona una amplia gama de niveles y flexibilidad.

    • Tipos de grupos de capacidad flexibles y rendimiento, donde la calidad del servicio por volumen se asigna automáticamente en función del nivel del grupo y de la cuota de volumen.

NFS

NFS se usa a menudo para proporcionar acceso a ubicaciones de almacenamiento compartidas a través del protocolo de control de transmisión o las redes de protocolo de Internet. Una máquina virtual de servidor que usa NFS comparte su sistema de archivos local. En Azure, este sistema de archivos se almacena en uno o varios discos duros virtuales hospedados en Azure Storage. A continuación, los clientes pueden montar los archivos compartidos del servidor y acceder directamente a la ubicación compartida.

NFS se suele usar para directorios principales y espacios de proyecto que requieren acceso a todos los nodos. Puede proporcionar un espacio para grupos de investigación que comparten datos. En general, las cargas de trabajo de rendimiento son horizontalmente escalables y tienen poca dependencia entre tareas individuales. Los programadores de trabajos dividen el trabajo entre nodos y coordinan la actividad.

NFS es fácil de configurar y mantener y es compatible con sistemas operativos Linux y Windows. Puede usar varios servidores NFS para distribuir el almacenamiento a través de una red, pero solo se puede acceder a archivos individuales a través de un solo servidor.

Para cargas de trabajo a bajo escala, considere la posibilidad de ejecutar NFS en el nodo principal mediante un máquina virtual optimizada para almacenamiento que tenga discos efímeros grandes o máquinas virtuales de la serie D con Azure Premium Storage, según sus requisitos. Esta solución se adapta a las cargas de trabajo que tienen 500 núcleos o menos.

En escenarios de HPC, el servidor de archivos a menudo puede servir como cuello de botella que limita el rendimiento general. Los intentos de acceder a datos no almacenados en caché desde un único servidor NFS a velocidades superiores a las IOPS máximas documentadas por máquina virtual y rendimiento resultan en una limitación.

En un escenario en el que varios clientes intentan trabajar en datos almacenados en un único servidor NFS, puede alcanzar rápidamente los límites de rendimiento. Estos límites pueden hacer que el rendimiento de toda la aplicación sufra. Cuanto más se parezca tu aplicación de HPC a un escenario puro de uno a muchos, más pronto te encuentras con estas limitaciones.

Sistemas de archivos paralelos en Azure

Los sistemas de archivos paralelos distribuyen el almacenamiento de nivel de bloque entre varios nodos de almacenamiento en red. Los datos de archivo se distribuyen entre estos nodos, lo que significa que los datos se distribuyen entre varios dispositivos de almacenamiento. Esta distribución agrupa las solicitudes de E/S de almacenamiento individuales en varios nodos de almacenamiento a los que se puede acceder a través de un espacio de nombres común.

Se usan varios dispositivos de almacenamiento y varias rutas de acceso a los datos para proporcionar un alto grado de paralelismo. Este enfoque reduce el número de cuellos de botella impuestos al acceder solo a un solo nodo a la vez. Sin embargo, la E/S paralela puede ser difícil de coordinar y optimizar si trabaja directamente en el nivel de la API o la interfaz de E/S POSIX. Los sistemas de archivos paralelos proporcionan a los desarrolladores de aplicaciones una interfaz de alto nivel entre la capa de aplicación y la capa de E/S a través de capas intermedias de acceso a datos y coordinación.

Las cargas de trabajo estrechamente acopladas que usan la interfaz de paso de mensajes (MPI) pueden tener requisitos únicos para las comunicaciones de baja latencia entre nodos. Los nodos se conectan a través de la interconexión de alta velocidad y no son fácilmente adaptables para compartir con otras cargas de trabajo. Las aplicaciones MPI utilizan todas las interconexiones de alto rendimiento mediante el modo passthrough en entornos virtualizados. El almacenamiento para nodos MPI suele ser un sistema de archivos paralelo, como Lustre al que también se accede a través de la interconexión de alta velocidad.

Los sistemas de archivos paralelos, como Lustre, se usan para cargas de trabajo de HPC que requieren acceso a archivos grandes, acceso simultáneo desde varios nodos de proceso y grandes cantidades de datos. La implementación de sistemas de archivos paralelos facilita el escalado en términos de funcionalidad y rendimiento. Estos sistemas de archivos aprovechan las transferencias de acceso directo a memoria remota que tienen un ancho de banda grande y un uso reducido de la CPU. El sistema de archivos paralelo se usa a menudo como almacenamiento temporal y está pensado para el trabajo que requiere E/S optimizada.

Desarrollo de su propio sistema de archivos en paralelo

De forma similar a NFS, puede crear un sistema de archivos BeeGFS o Lustre de varios nodos. El rendimiento de estos sistemas depende principalmente del tipo de máquinas virtuales que elija. Puede usar imágenes ubicadas en Azure Marketplace para beeGFS o una implementación de Lustre por DataDirect Networks denominada Whamcloud. Si usa imágenes que no son de Microsoft de proveedores como BeeGFS o DataDirect Networks, puede comprar sus servicios de soporte técnico. Puede usar BeeGFS y Lustre bajo sus licencias de licencia pública general sin incurrir en cargos adicionales, aparte de los costos de máquinas y discos. Estas herramientas son fáciles de implementar usando scripts de HPC de Azure con discos locales efímeros para el almacenamiento temporal o con SSD prémium de Azure o SSD Ultra de Azure para el almacenamiento persistente.

Componentes de informática de alto rendimiento

  • Azure NetApp Files y discos locales se usan normalmente para controlar las cargas de trabajo sensibles a la latencia e IOPS. Considere la posibilidad de usar Azure NetApp Files para cargas de trabajo de hasta 4000 núcleos, con un rendimiento de hasta 12,8 gibibytes por segundo (GiBps) y cargas de trabajo que se benefician o requieren acceso NFS y SMB de varios protocolos al mismo origen de datos.

  • Azure Managed Lustre proporciona almacenamiento de capacidad más rápido y superior para cargas de trabajo de HPC. Esta solución funciona para cargas de trabajo medianas y grandes y puede admitir 50 000 núcleos o más, con un rendimiento de hasta 500 gigabits por segundo (Gbps) y capacidad de almacenamiento de hasta 2,5 pebibytes (PiB).

  • Standard o Premium Blob Storage es rentable porque proporciona la solución en la nube de menor costo. Este servicio proporciona acceso a exabytes, alto rendimiento, baja latencia cuando sea necesario y una interfaz de sistema de archivos familiar. También admite el acceso a varios protocolos, que incluye REST, HDFS y NFS. Puede usar NFS v3.0 en el punto de conexión de Blob Service para cargas de trabajo de alto rendimiento y de lectura intensiva. Puede optimizar los costos cambiando a niveles de almacenamiento más fríos. Este enfoque habilita la organización inteligente en niveles con directivas personalizables y administración del ciclo de vida basada en la última actualización o tiempo de acceso.

  • Es posible que se requieran transferencias de datos entre sistemas locales y la nube para lograr el mejor rendimiento para la carga de trabajo que se ejecuta en las instancias de proceso de la nube. La migración sin conexión usa servicios basados en dispositivos como Azure Data Box. La migración en línea usa servicios basados en red como Azure ExpressRoute.

En la tabla siguiente se proporciona una comparación de Blob Storage, Azure Files, Managed Lustre y Azure NetApp Files.

Categoría Blob Storage Azure Files Managed Lustre Azure NetApp Files
Casos de uso - Más adecuado para cargas de trabajo de acceso secuenciales de gran escala y de lectura intensiva en las que los datos se ingieren una vez y se modifican mínimamente.

- Proporciona un bajo costo total de propiedad con mantenimiento ligero.

- Entre los escenarios de ejemplo se incluyen los datos analíticos a gran escala, la informática de alto rendimiento, la copia de seguridad y el archivo de datos, la conducción autónoma, la representación multimedia y la secuenciación genómica.
- Un servicio de alta disponibilidad más adecuado para cargas de trabajo de acceso aleatorio.

- Proporciona compatibilidad completa con el sistema de archivos POSIX para recursos compartidos NFS. El controlador CSI integrado permite un fácil uso desde plataformas basadas en máquinas virtuales y plataformas de contenedor como Azure Container Instances y Azure Kubernetes Service (AKS).

- Los escenarios de ejemplo incluyen archivos compartidos, bases de datos, directorios principales, aplicaciones tradicionales, planificación de recursos empresariales, sistemas de administración de contenido y migraciones de almacenamiento conectado a la red (NAS) que no requieren administración avanzada. También incluye aplicaciones personalizadas que requieren almacenamiento de archivos de escalabilidad horizontal.
- Un sistema de archivos paralelo totalmente administrado más adecuado para cargas de trabajo de HPC medianas a grandes.

- Habilita las aplicaciones HPC en la nube sin interrumpir la compatibilidad de las aplicaciones al proporcionar funcionalidad, comportamientos y rendimiento conocidos del sistema de archivos paralelos de Lustre. Este servicio ayuda a proteger las inversiones en aplicaciones a largo plazo.
- Un servicio de archivos totalmente administrado en la nube, con tecnología de NetApp, que tiene funcionalidades de administración avanzadas.

- Diseñado para cargas de trabajo que requieren acceso aleatorio. Proporciona compatibilidad amplia con protocolos y protección de datos mejorada.

- Entre los escenarios de ejemplo se incluyen la migración de NAS empresarial local que requiere funcionalidades de administración enriquecidas, cargas de trabajo sensibles a la latencia, como SAP HANA, proceso de alto rendimiento intensivo de latencia o IOPS, o cargas de trabajo que requieren acceso simultáneo a varios protocolos.
Protocolos disponibles - NFS 3.0

- REST

- Azure Data Lake Storage
- SMB

- NFS 4.1

- (No hay interoperabilidad entre ninguno de los protocolos)
- Lustre - NFS 3.0 y 4.1

- SMB
Características clave Administración integrada, incluida la administración del ciclo de vida, los blobs inmutables, la conmutación por error de datos y el índice de metadatos. - Compatibilidad de redundancia de zona con alta disponibilidad.

- Latencia de milisegundos de un solo dígito coherente.

- Rendimiento predecible y costo que escala con la capacidad.
- Alta capacidad de almacenamiento hasta 2,5 PB.

- Baja latencia, aproximadamente 2 milisegundos.

- Crear nuevos clústeres en minutos.

- Admite cargas de trabajo en contenedor mediante AKS.
- Latencia extremadamente baja, tan baja como un submillisegundo.

- Funcionalidad de administración de ONTAP de NetApp enriquecida, como SnapMirror Cloud.

- Experiencia coherente en la nube híbrida.
Rendimiento (por volumen) - Hasta 40 000 IOPS.

- Hasta 60 Gbps de rendimiento de entrada y 200 Gbps de salida.
- Hasta 100 000 IOPS.

- Rendimiento de hasta 80 GiBps.
- Hasta 100 000 IOPS.

- Hasta un rendimiento de 500 GiBps.
- Hasta 460 000 IOPS.

- Hasta un rendimiento de 12,8 GiBps.
Escala - Hasta 5 PiB para un solo volumen.

- Tanto como aproximadamente 4,75 tebibyte (TiB) para un único archivo.

- Sin requisitos mínimos de capacidad.
- Hasta 100 TiB para un solo volumen.

- Hasta 4 TiB para un único archivo.

- Capacidad mínima de 100 GiB.
- Hasta 2,5 PiB para un solo volumen.

El sistema de archivos de Managed Lustre se alinea con las especificaciones de límite de archivos de Lustre y es compatible con un tamaño de archivo máximo de hasta 32 PB.

- Capacidad mínima de 4 TiB.
- Hasta 1024 TiB para un solo volumen.

- Hasta 16 TiB para un único archivo.

- Experiencia coherente en la nube híbrida.
Precios - Precios de Blob Storage - Precios de Azure Files - Precios de Managed Lustre - Precios de Azure NetApp Files

Pasos siguientes

En los artículos siguientes se proporcionan instrucciones para ayudarle en varios puntos durante el recorrido de adopción de la nube.