Unidad 1: Clusters en computación paralela/distribuida#

Contenido de la unidad#


Introducción al HPC#

HPC: Cualquier técnica computacional que soluciona un problema grande de forma más rápida que usando posiblemente sistemas simples.

HPC ha tenido gran impacto sobre todas las áreas de ciencias computacionales e ingenieria en la academia, gobierno e industria.

Muchos problemas han sido solucionados con técnicas de HPC que eran imposibles de solucionar con estaciones de trabajo individuales o computadores personales.


Procesadores de alto rendimiento
Computación paralela

Sistemas simples con varios procesadores trabajando sobre el mismo problema

Computación paralela Vs Computador paralelo

  • Computación Paralela: el uso de múltiples computadores o procesadores trabajando en conjunto sobre una tarea común

  • Computador Paralelo: un computador que contiene múltiples procesadores:

    • Cada procesador trabaja sobre una sección del problema

    • Los procesadores permiten intercambio de información con otros procesadores

Computación/programación Concurrente

la programación concurrente se enfoca en manejar múltiples tareas al mismo tiempo (ya sea simultáneamente o dando la ilusión de simultaneidad), la programación paralela se enfoca en la división y ejecución simultánea de tareas para resolver un problema más grande en menos tiempo.

Computación Distribuida

Varios sistemas acoplados por un secuenciador de trabajo sobre problemas relacionados

Sistemas distribuidos

Computación grid

Varios sistemas acoplados por software y redes para trabajar en conjunto en problemas simples o en problemas relacionados.

Unión de Clusters de computadores, recursos computacionales, datos, grupos de investigación, científicos, etc., distribuidos geográficamente y conectados mediante redes WAN

Funcionamiento de la computación grid

Middleware para comunicación transparente y explotación de recursos.

  • El objetivo final es usar recursos remotos

  • Se requieren conexiones de redes rápidas

  • El grid busca el uso eficiente de los recursos

  • Es escencial la seguridad centrada en: políticas de acceso, autenticación y autorización.

  • Es importante estandarizar las aplicaciones grid.

Arquitectura Grid

  • Capa de aplicación

  • Capa de middleware

  • Capa de recursos

  • Capa de red

Middleware

El autentico cerebro del grid, se encarga de las siguientes funciones:

  • Encontrar lugar conveniente para ejecutar la tarea solicitada por el usuario

  • optimizar el uso de recursos que se encuentren dispersos

  • organizar el acceso eficiente a los datos

  • autenticar los diferentes elementos

  • ejecutar tareas

  • monitorizar el progreso de los trabajos en ejecución

  • gestionar automáticamente la recuperación frente a fallos

  • Notificar el fallo, culminación de la ejecución de una tarea y sus resultados.


¿Dónde corre lo que se va a programar en el curso?#

Infraestructura: Cluster#

Colas y calendarizadores#

  • Administrar recursos del Clúster

  • Priorizar trabajos

  • Limitar capacidad de cómputo

  • Administrar usuarios


Algunos calendarizadores#


Flujo de trabajo con calendarizadores#


Así se ve un job para calendarizador#

Infraestructura: Cloud#

  • Externalizar TI a proveedores de servicio

  • Presentar transparencia al usuario final

  • Asignación dinámica de recursos bajo demanda (Sin compartir) – Pago asociado

  • Virtualización

Computación cloud#

Infraestructura tradicional Vs Cloud#


CPU & GPU & TPU#


CPU & GPU#


Actualidad del software para Big Data#


Aplicaciones del HPC#