Saltar contenido

Review de la High Performance Computing (HPC)

Nos introducimos con este artículo en la High Performance Computing o HPC y a través de casos de uso más comunes de esta disciplina computacional.

High Performance Computing, o HPC se podría definir como la agregación de potencia de computación proveniente de múltiples ordenadores/servidores y su utilización en problemas computacionales de grandes dimensiones.

Estos problemas pueden ser demasiado pesados para los típicos equipos de trabajo que tardarían demasiado tiempo por lo que sería inviable.

Este enfoque permite además aumentar la precisión de resultados ya que la potencia de computación disponible es más elevada.

La arquitectura y funcionamiento de un cluster HPC puede ser un tema bastante complejo, pero para simplificarlo se puede dividir en 4 áreas:

Esqueleto

Estos son los componentes base:

  • Login node: componente responsable de manejar el login de los usuarios en el cluster, así como manejar remote desktops.
  • Master node: componente responsable de orquestar los recursos del cluster, también llamado scheduler.

Computación

Es el componente responsable de realizar los trabajos de los usuarios.

Almacenamiento

Es el componente responsable de la persistencia de datos.

  • NFS: utilizado para almacenar resultados y datos de los usuarios.
  • Parallel File System: utilizado por los compute nodes durante los cálculos.

Networking

Componente responsable de la comunicación entre componentes.

  • Todo el sistema: conectado por Gigabit Ethernet.
  • Compute nodes y Parallel File System: conectado por RDMA de alta velocidad.
Modelo de High Performance Computing (HPC)
Modelo de la High Performance Computing (HPC)

La utilización del sistema por parte del usuario, normalmente, se realizaría de la siguiente forma:

  1. Subida de datos relacionados con el estudio/cálculo a realizar.
  2. Login en el sistema y preparación del trabajo a realizar.
  3. Envío del trabajo al scheduler: solicitando los recursos necesarios como el número de cores.
  4. Análisis o bajada de los resultados.

Actualmente la utilización de sistemas HPC está en crecimiento ya que en los últimos años los casos de uso e industrias que pueden obtener beneficios con su utilización está también aumentando.

Esto se debe, en parte, a la capacidad de los sistemas y la utilización de GPUs.

Los casos de éxito son diversos y en diversas áreas, como por ejemplo:

Fluidodinámica Computacional (CFD)

  1. Estudio ambiental de edificios.
  2. Seguridad y salud: Investigación de los efectos del fuego y el humo.
  3. Medicina: Estudios del flujo sanguíneo a través de vasos capilares, arterias, venas.

Inteligencia Artificial con HPC

  1. Medicina de precisión: diagnóstico de cáncer.
  2. Análisis Cyber threat.
  3. Weather and Climate Modeling.

Big Data

  1. Weather Forecasting.
  2. Fraud detection.

Rendering

  1. Render farms.

Son muchas las áreas que pueden utilizar HPC para mejorar sus procesos y resultados y es visible su impacto en las diversas industrias ahora mismo.

El tipo de sistema utilizado, a nivel de tamaño y complexidad, es muy flexible lo que permite a pequeñas y grandes empresas aprovechar y ganar con la utilización del HPC.

La tendencia parece ser el aumento de la utilización de estos sistemas a nivel global, así como su adopción por nuevas industrias.

Esperamos que este artículo haya sido de utilidad para aclarar el concepto de HPC y sus aplicaciones.

¡No olvides que puedes contactar con nosotros y comentar cualquier duda de que tengas!