Share via


Almacenamiento para entornos del sector energético de HPC

Las cargas de trabajo a gran escala de HPC tienen unas necesidades de almacenamiento de datos y acceso a estos que superan las capacidades de los sistemas de archivos en la nube tradicionales.

A continuación se muestran los factores que tendría que tener en cuenta e identificar sobre los requisitos de la aplicación para decidir qué solución de almacenamiento usar:

  • Latencia
  • IOPS
  • Rendimiento
  • Tamaño y número de archivos
  • Tiempo de ejecución de trabajo
  • Costo asociado
  • Afinidad para la ubicación de almacenamiento: local frente a Azure

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

Árbol de decisión para la 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.

Consideraciones sobre el diseño de HPC

Las empresas de petróleo y gas deben ser capaces de administrar y almacenar eficazmente exabytes de datos sísmicos, datos de pozos, mapas, concesiones, etc. Para poner estos datos en uso, necesitan una infraestructura de alto rendimiento que pueda procesar y ofrecer análisis en tiempo real para ayudar a optimizar la producción, reducir los riesgos ambientales y mejorar la seguridad operativa.

Las necesidades de almacenamiento de datos y acceso varían considerablemente, en función de la escala de la carga de trabajo. Azure admite varios métodos para administrar la velocidad y la capacidad de las aplicaciones de HPC.

Las cargas de trabajo a gran escala de Batch y HPC en el sector energético tienen unas necesidades de almacenamiento de datos y acceso a estos que superan las capacidades de los sistemas de archivos en la nube tradicionales. Los requisitos de E/S de alto rendimiento y las necesidades de escalabilidad masiva de la informática de alto rendimiento (HPC) presentan desafíos únicos para el almacenamiento de los datos y el acceso a estos.

HPC se utiliza para resolver problemas complejos, como la simulación y el modelado sísmicos y de yacimientos, que no son prácticos ni rentables de manejar con las técnicas informáticas tradicionales. Lo hace a través de una combinación de procesamiento paralelo y escalabilidad masiva para realizar tareas informáticas grandes y complicadas de forma rápida, eficiente y confiable.

Además, en los clústeres de HPC de Azure, los nodos de proceso son máquinas virtuales que se pueden activar, según sea necesario, para realizar cualquier trabajo que se le haya asignado al clúster. Estos nodos distribuyen las tareas de cálculo en el clúster para lograr el procesamiento paralelo de alto rendimiento necesario para resolver los problemas complejos a los que se aplica HPC. Los nodos de ejecución necesitan realizar operaciones de lectura/escritura en el almacenamiento de trabajo compartido mientras ejecutan trabajos. Hay dos escenarios posibles según los cuales los nodos acceden a este almacenamiento:

  • Un conjunto de datos para muchos nodos de ejecución: en este escenario, hay un único origen de datos en la red al que acceden todos los nodos de ejecución para los datos de trabajo. Aunque estructuralmente simple, las operaciones de E/S están limitadas por la capacidad de E/S de la ubicación de almacenamiento.
  • Muchos conjuntos de datos para muchos nodos de ejecución: en este escenario, hay un único origen de datos en la red al que acceden todos los nodos de ejecución para los datos de trabajo. Aunque estructuralmente simple, las operaciones de E/S están limitadas por la capacidad de E/S de la ubicación de almacenamiento.

Recomendaciones de diseño de HPC

Elija la solución que mejor se adapte a sus requisitos de capacidad y de E/S únicos.

Network File System (NFS)

NFS se usa normalmente para proporcionar acceso a ubicaciones de almacenamiento compartidas. Con NFS, una VM de servidor comparte su sistema de archivos local, que en el caso de Azure se almacena en uno o varios discos duros virtuales (VHD) hospedados en Azure Storage. Después, los clientes pueden montar los archivos compartidos del servidor y acceder directamente a la ubicación compartida.

El sistema de archivos de red (NFS) se usa a menudo para los directorios principales y el espacio del proyecto montado en todos los nodos. También puede proporcionar un espacio para que los grupos de investigación compartan datos. En general, las cargas de trabajo de rendimiento se pueden escalar horizontalmente con poca dependencia entre tareas individuales. Los programadores de trabajos reparten el trabajo entre los nodos y coordinan la actividad. NFS es el almacenamiento compartido típico en los nodos al que se accede a través de redes TCP/IP.

NFS tiene la ventaja de ser fácil de configurar y mantener y es compatible con los sistemas operativos Linux y Windows. Se pueden 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 único servidor.

Para cargas de trabajo de pequeña escala, considere la posibilidad de ejecutar NFS en el nodo principal con una VM optimizada para almacenamiento con discos efímeros de gran tamaño, o VM de la serie D con Azure Premium Storage, en función de sus requisitos. Esta solución se adapta a las cargas de trabajo con 500 núcleos o menos.

En escenarios de HPC, el servidor de archivos a menudo puede servir como cuello de botella, lo que limita el rendimiento general. Los intentos de acceder a datos que no están almacenados en caché desde un único servidor NFS a velocidades superiores a las IOPS y el rendimiento máximos por VM documentados darán lugar a una limitación.

En un escenario en el que docenas de clientes intentan trabajar con datos almacenados en un solo servidor NFS, estos límites se pueden alcanzar fácilmente, lo que hace que el rendimiento de toda la aplicación se vea afectado. Cuanto más se acerque a un escenario puro de uno a muchos que utilice su aplicación de HPC, antes se encontrará 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 de archivo se distribuyen entre varios dispositivos de almacenamiento. Las solicitudes de E/S de almacenamiento individuales se agrupan en varios nodos de almacenamiento a los que se puede acceder mediante 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, lo que reduce los cuellos de botella impuestos mediante el acceso 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 API o interfaz de E/S POSIX. Al introducir capas intermedias de acceso a datos y coordinación, 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.

Las cargas de trabajo de MPI del sector energético tienen requisitos únicos con la necesidad de comunicaciones de baja latencia, entre nodos. Los nodos están conectados mediante una interconexión de alta velocidad y no se pueden compartir con otras cargas de trabajo. Las aplicaciones MPI sacan provecho de todas las interconexiones de alto rendimiento mediante el modo de tránsito 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. Lustre o BeeGFS se usan normalmente para controlar los grandes requisitos de rendimiento de procesamiento sísmico principalmente (pero también de simulación de yacimientos).

Los sistemas de archivos paralelos, como Lustre, se usan para cargas de trabajo de HPC del sector energético 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 capacidad y rendimiento. Estos sistemas de archivos aprovechan las transferencias RDMA con un ancho de banda grande y un uso de CPU reducido. El sistema de archivos paralelo se usa normalmente como espacio temporal y está pensado para el trabajo que requiere E/S optimizada. Entre los ejemplos se incluyen la configuración de la carga de trabajo, el procesamiento previo, la ejecución y el procesamiento posterior.

Cuando se utiliza un servicio de archivos paralelo orquestado, como Azure Managed Lustre o BeeGFS, funciona para 50 000 núcleos o más, con velocidades de lectura/escritura de hasta 500 GiB/s y 2,5 PB de almacenamiento.

Para más información sobre el sistema de archivos virtual paralelo en Azure, consulte Sistemas de archivos virtuales paralelos en Microsoft Azure. Parte 1: Información general: Microsoft Tech Community.

  • Azure NetApp Files y los discos locales se usan normalmente para controlar las cargas de trabajo más sensibles a la latencia e IOPS, como la interpretación sísmica, la preparación de modelos y la visualización. Considere la posibilidad de usar para cargas de trabajo de hasta 4000 núcleos, con un rendimiento de hasta 6,5 GiB/s y cargas de trabajo que se benefician de nuestro acceso multiprotocolo requerido (NFS/SMB) al mismo conjunto 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 a muy grandes y puede admitir 50 000 o más núcleos, con un rendimiento de hasta 500 GiB/s y capacidad de almacenamiento de hasta 2,5 PiB.
  • El blob estándar o prémium es rentable, ya que es la oferta de nube de menor costo. Proporciona escala de exabytes, alto rendimiento y acceso de baja latencia donde sea necesario, un sistema de archivos familiar y acceso multiprotocolo (REST, HDFS, NFS). Puede utilizar NFS v3.0 en el punto de conexión de servicio de blob para cargas de trabajo de alto rendimiento y lectura intensiva. Puede optimizar los costos trasladándose a niveles más esporádicos con la capacidad de realizar la administración del ciclo de vida con los niveles inteligentes de hora de último acceso y actualización, con directivas personalizables.
  • Las cargas de trabajo del sector energético de petróleo y gas también pueden requerir un gran tamaño de datos y un mecanismo de transferencia de volúmenes desde el entorno local a la nube y viceversa, que se puede lograr mediante:
    • Sin conexión: migración basada en dispositivos (DataBox)
    • En línea: a través de la migración basada en la red (ExpressRoute).

Pasos siguientes

La siguiente lista de artículos le proporciona orientación en puntos específicos del proceso de adopción de la nube para ayudarlo a tener éxito en el escenario de adopción de la nube para entornos de HPC del sector energético.