En este documento, se presentan las opciones de almacenamiento en Google Cloud para cargas de trabajo de computación de alto rendimiento (HPC) y se explica cuándo usar sistemas de archivos paralelos para cargas de trabajo de HPC. En un sistema de archivos en paralelo, varios clientes usan rutas de E/S paralelas para acceder a datos compartidos que se almacenan en varios nodos de almacenamiento en red.
La información de este documento está dirigida a los arquitectos y administradores que diseñan, aprovisionan y administran el almacenamiento para las cargas de trabajo de HPC que consumen muchos datos. En el documento, se supone que tienes un conocimiento conceptual de los Sistemas de archivos de red (NFS), sistemas de archivos paralelos, POSIX y los requisitos de almacenamiento de las aplicaciones de HPC.
¿Qué es HPC?
Los sistemas HPC resuelven problemas grandes de procesamiento con rapidez mediante la agregación de varios recursos de procesamiento. La HPC impulsa la investigación y la innovación en sectores como la salud, las ciencias biológicas, los medios de comunicación, el entretenimiento, los servicios financieros y la energía. Los investigadores, científicos y analistas usan sistemas de HPC para realizar experimentos, ejecutar simulaciones y evaluar prototipos. Las cargas de trabajo de HPC, como el procesamiento sísmico, la secuenciación genómica, la renderización de contenido multimedia y el modelado del clima, generan y acceden a grandes volúmenes de datos a tasas de datos en constante aumento y latencias en permanente disminución. El almacenamiento de alto rendimiento y la administración de datos son componentes fundamentales de la infraestructura de HPC.
Opciones de almacenamiento para cargas de trabajo de HPC en Google Cloud
Configurar y operar la infraestructura de HPC de forma local es costoso y la infraestructura requiere un mantenimiento continuo. Además, la infraestructura local, por lo general, no se puede escalar rápidamente para que coincida con los cambios en la demanda. La planificación, la adquisición, la implementación y el retiro de hardware local requieren un tiempo considerable, lo que da como resultado una adición retrasada de recursos de HPC o una capacidad con poco uso. En la nube, puedes aprovisionar de manera eficiente una infraestructura de HPC que use la tecnología más reciente y escalar tu capacidad bajo demanda.
Google Cloud y nuestros socios de tecnología ofrecen opciones de almacenamiento rentables, flexibles y escalables para implementar infraestructura de HPC en la nube y aumentar tu infraestructura de HPC local. Los científicos, los investigadores y los analistas pueden acceder con rapidez a la capacidad adicional de HPC para sus proyectos cuando la necesitan.
Para implementar una carga de trabajo de HPC en Google Cloud, puedes elegir entre los siguientes servicios y productos de almacenamiento, según los requisitos de tu carga de trabajo:
Tipo de carga de trabajo | Servicios y productos de almacenamiento recomendados |
---|---|
Cargas de trabajo que necesitan acceso de baja latencia a los datos, pero no requieren E/S extrema para conjuntos de datos compartidos y que tienen uso compartido de datos limitado entre clientes. | Usa el almacenamiento NFS. Selecciona alguna de las siguientes opciones: |
Cargas de trabajo que generan una E/S compleja, interdependiente y a gran escala, como aplicaciones de HPC con acoplamiento alto que usan la interfaz de envío de mensajes (MPI) para brindar una comunicación confiable entre procesos. | Usa un sistema de archivos en paralelo. Selecciona alguna de las siguientes opciones: Para obtener más información sobre los requisitos de las cargas de trabajo que admiten los sistemas de archivos paralelos, consulta Cuándo usar sistemas de archivos paralelos. |
Cuándo usar sistemas de archivos en paralelo
En un sistema de archivos en paralelo, varios clientes almacenan y comparten datos en varios nodos de almacenamiento conectados en red mediante rutas de E/S paralelas. Los sistemas de archivos en paralelo son ideales para cargas de trabajo de HPC con acoplamiento alto, como las cargas de trabajo de inteligencia artificial (IA) con uso intensivo de datos y las cargas de trabajo de análisis que usan aplicaciones SAS. Considera usar un sistema de archivos en paralelo, como Lustre administrado, para cargas de trabajo de HPC sensibles a la latencia que tengan cualquiera de los siguientes requisitos:
- Procesamiento de datos con acoplamiento alto: Las cargas de trabajo de HPC, como el modelado del clima y la exploración sísmica, deben procesar datos de forma repetitiva mediante muchos trabajos interdependientes que se ejecutan de manera simultánea en varios servidores. Estos procesos suelen usar la MPI para intercambiar datos a intervalos regulares y usan puntos de control a fin de recuperarse con rapidez de las fallas. Los sistemas de archivos en paralelo permiten que los clientes independientes almacenen y accedan a grandes volúmenes de datos compartidos de forma simultánea a través de una red de latencia baja.
- Compatibilidad con la API de E/S de POSIX y la semántica: Los sistemas de archivos en paralelo, como Managed Lustre, son ideales para cargas de trabajo que necesitan la semántica y la API de POSIX. La API de un sistema de archivos y su semántica son capacidades independientes. Por ejemplo, NFS es compatible con la API de POSIX, que es la forma en que las aplicaciones leen y escriben datos mediante funciones como
open()
,read()
ywrite()
. Pero la forma en que NFS coordina el acceso a los datos entre diferentes clientes no es lo mismo que la semántica de POSIX para coordinar el acceso a los datos entre diferentes subprocesos en una máquina. Por ejemplo, NFS no admite coherencia de caché de lectura después de la escritura de POSIX entre clientes; se basa en la coherencia débil en NFSv3 y la coherencia entre cierre y apertura en NFSv4. - Petabytes de capacidad: Los sistemas de archivos en paralelo se pueden escalar a varios petabytes de capacidad en un solo espacio de nombres del sistema de archivos. NetApp Volumes admite hasta 1 PB, y Filestore Regional y Zonal admiten hasta 100 TiB por sistema de archivos. Cloud Storage ofrece capacidad confiable y de bajo costo que se escala de forma automática, pero puede que no cumpla con los requisitos de la semántica de uso compartido de datos y de baja latencia de las cargas de trabajo de HPC.
- Latencia baja y ancho de banda alto: Para las cargas de trabajo de HPC que necesitan acceso de alta velocidad a archivos muy grandes o a millones de archivos pequeños, los sistemas de archivos en paralelo pueden superar el almacenamiento de objetos y NFS. La latencia inferior a un milisegundo que proporcionan los sistemas de archivos paralelos es significativamente menor que la del almacenamiento de objetos, lo que puede afectar las IOPS máximas. Además, el ancho de banda máximo compatible con los sistemas de archivos en paralelo puede ser mucho mayor que en los sistemas basados en NFS, que pueden saturar la NIC de una VM.
- Escalamiento extremo del cliente: El almacenamiento NFS puede admitir miles de clientes. Los sistemas de archivos paralelos pueden escalar para admitir el acceso simultáneo a datos compartidos de más de 10,000 clientes y pueden proporcionar un alto rendimiento independientemente de la cantidad de clientes.
Ejemplos de aplicaciones de HPC con acoplamiento alto
En esta sección, se describen ejemplos de aplicaciones de HPC con acoplamiento alto que necesitan el almacenamiento de baja latencia y alta capacidad de procesamiento que proporcionan los sistemas de archivos paralelos.
Modelado molecular habilitado para IA
La investigación farmacéutica es un proceso costoso y con un uso intensivo de datos. Las organizaciones modernas de investigación sobre medicamentos usan la IA para reducir los costos de la investigación y el desarrollo, escalar las operaciones de manera eficiente y acelerar la investigación científica. Por ejemplo, los investigadores usan aplicaciones habilitadas para la IA a fin de simular las interacciones entre las moléculas de un fármaco y predecir el efecto de los cambios en los compuestos de este. Estas aplicaciones se ejecutan en procesadores de GPU potentes en paralelo, que cargan, organizan y analizan una cantidad extrema de datos para completar las simulaciones con rapidez. Los sistemas de archivos en paralelo proporcionan las IOPS de almacenamiento y la capacidad de procesamiento necesarias para maximizar el rendimiento de las aplicaciones de IA.
Análisis de riesgos de crédito con aplicaciones de SAS
Las instituciones de servicios financieros, como los prestamistas hipotecarios y los bancos de inversiones, deben analizar y supervisar de forma constante la solvencia crediticia de sus clientes y de sus carteras de inversión. Por ejemplo, los grandes prestamistas hipotecarios recopilan datos relacionados con el riesgo sobre miles de posibles clientes todos los días. Los equipos de analistas crediticios usan aplicaciones de análisis para revisar de forma colaborativa diferentes partes de los datos de cada cliente, como los ingresos, el historial crediticio y los patrones de gasto. Las estadísticas de este análisis ayudan a los analistas crediticios a realizar recomendaciones de préstamos precisas y oportunas.
Para acelerar y escalar las estadísticas de grandes conjuntos de datos, las instituciones de servicios financieros usan plataformas de computación en red, como SAS Grid Manager. Los sistemas de archivos paralelos, como Managed Lustre, admiten los requisitos de almacenamiento de alta capacidad de procesamiento y baja latencia de las aplicaciones de SAS con subprocesos múltiples.
Pronóstico del tiempo
Para predecir los patrones meteorológicos en una región geográfica determinada, los meteorólogos dividen la región en varias celdas e implementan dispositivos de supervisión, como radares terrestres y globo meteorológicos en cada celda. Estos dispositivos observan y miden las condiciones atmosféricas a intervalos regulares. Los dispositivos transmiten datos de forma continua a una aplicación de predicción meteorológica que se ejecuta en un clúster de HPC.
La aplicación de predicción del tiempo procesa los datos transmitidos mediante modelos matemáticos que se basan en relaciones físicas conocidas entre los parámetros del clima medido. Un trabajo independiente procesa los datos de cada celda de la región. A medida que la aplicación recibe mediciones nuevas, cada trabajo itera en los datos más recientes para su celda asignada y, además, intercambia el resultado con los trabajos de las otras celdas de la región. Para predecir patrones meteorológicos de manera confiable, la aplicación debe almacenar y compartir terabytes de datos que miles de trabajos que se ejecutan en paralelo generan y a los que acceden.
CFD para diseño de aeronáutico
La dinámica de fluidos computacional (CFD) implica el uso de modelos matemáticos, leyes físicas y lógica computacional para simular el comportamiento de un gas o fluido en torno a un objeto en movimiento. Cuando los ingenieros aeronáuticos diseñan el cuerpo de un avión, uno de los factores que consideran es la aerodinámica. CFD permite a los diseñadores simular con rapidez el efecto de los cambios de diseño en la aerodinámica antes de invertir tiempo y dinero en la construcción de prototipos costosos. Después de analizar los resultados de cada ejecución de simulación, los diseñadores optimizan los atributos, como el volumen y la forma de los componentes individuales del cuerpo del avión, y vuelven a simular la aerodinámica. CFD permite que los diseñadores de aerolíneas simulen de forma colaborativa el efecto de cientos de cambios de diseño con rapidez.
Para completar las simulaciones de diseño de manera eficiente, las aplicaciones de CFD necesitan acceso por debajo de milisegundos a los datos compartidos y la capacidad de almacenar grandes volúmenes de datos a velocidades de hasta 100 GBps.
Descripción general de las opciones del sistema de archivos paralelos
En esta sección, se proporciona una descripción general de alto nivel de las opciones disponibles enGoogle Cloud para los sistemas de archivos paralelos.
Google Cloud Managed Lustre
Managed Lustre es un servicio administrado por Google que proporciona almacenamiento de alta capacidad de procesamiento y de baja latencia para cargas de trabajo de HPC con acoplamiento alto. Acelera significativamente las cargas de trabajo de HPC y el entrenamiento y la inferencia de la IA, ya que proporciona acceso de alta capacidad de procesamiento y baja latencia a conjuntos de datos masivos. Para obtener información sobre el uso de Managed Lustre para cargas de trabajo de IA y AA, consulta Diseña almacenamiento para cargas de trabajo de IA y AA en Google Cloud. Lustre administrado distribuye los datos en varios nodos de almacenamiento, lo que permite el acceso simultáneo de muchas VMs. Este acceso paralelo elimina los cuellos de botella que se producen con los sistemas de archivos convencionales y permite que las cargas de trabajo transfieran y procesen rápidamente las grandes cantidades de datos que se requieren.
DDN Infinia
Si necesitas una orquestación avanzada de datos de IA, puedes usar DDN Infinia, que está disponible en Google Cloud Marketplace. Infinia proporciona una solución de inteligencia de datos centrada en la IA que está optimizada para la inferencia, el entrenamiento y la analítica en tiempo real. Permite la transferencia de datos ultrarrápida, la indexación enriquecida en metadatos y la integración perfecta con frameworks de IA como TensorFlow y PyTorch.
Estas son las características clave de DDN Infinia:
- Alto rendimiento: Ofrece una latencia inferior a un milisegundo y una capacidad de procesamiento de varios TB/s.
- Escalabilidad: Admite el escalamiento de terabytes a exabytes y puede alojar hasta más de 100,000 GPUs y un millón de clientes simultáneos en una sola implementación.
- Multiinclusión con calidad de servicio (QoS) predecible: Ofrece entornos seguros y aislados para varios inquilinos con QoS predecible para un rendimiento coherente en todas las cargas de trabajo.
- Acceso unificado a los datos: Permite la integración sin interrupciones con las aplicaciones y los flujos de trabajo existentes a través de la compatibilidad integrada con varios protocolos, incluidos los compatibles con Amazon S3, CSI y Cinder.
- Seguridad avanzada: Cuenta con encriptación integrada, codificación de borrado que tiene en cuenta los dominios de errores y snapshots que ayudan a garantizar la protección y el cumplimiento de los datos.
Sycomp Storage basado en IBM Storage Scale
Sycomp Storage potenciado por IBM Storage Scale, que está disponible en Google Cloud Marketplace, te permite ejecutar tus cargas de trabajo de computación de alto rendimiento (HPC), IA y AA, y macrodatos en Google Cloud. Con Sycomp Storage, puedes acceder a los datos de miles de VMs a la vez, reducir los costos a través de la administración automática de niveles de almacenamiento y ejecutar la aplicación de manera local o en Google Cloud. Sycomp Storage se puede implementar con rapidez y admite el acceso a tus datos a través de NFS y el cliente de IBM Storage Scale.
IBM Storage Scale es un sistema de archivos en paralelo que ayuda a administrar grandes volúmenes de datos (PB) de forma segura. Sycomp Storage Scale es un sistema de archivos en paralelo que es adecuado para HPC, IA, AA, macrodatos y otras aplicaciones que requieren un sistema de archivos compartidos compatible con POSIX. Con capacidad de almacenamiento adaptable y escalamiento de rendimiento, Sycomp Storage puede admitir cargas de trabajo de HPC, IA y AA pequeñas y grandes.
Después de implementar un clúster en Google Cloud, debes decidir cómo deseas usarlo. Elige si deseas usar el clúster solo en la nube o en modo híbrido conectándote a clústeres locales existentes de IBM Storage Scale, soluciones NAS de NFS de terceros o cualquier otra solución de almacenamiento basada en objetos.
Colaboradores
Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
Otros colaboradores:
- Barak Epstein | Gerente de producto
- Carlos Boneti | Ingeniero de software sénior de personal
- Dean HildeBrand | Director técnico, oficina del director de Tecnología
- Sean Derrington | Gerente de productos salientes del grupo
- Wyatt Gorman | Gerente de Productos Salientes de HPC