HPC: Aplicaciones y Software Heredado
HPC: Aplicaciones y Software
Fernando G. Tinetti
III-LIDI, Fac. de Informática, UNLP
Comisión de Inv. Científicas, Bs. As.
[email protected]
Aplicaciones y Software
• Aplicaciones: muchísimas
– Diferentes áreas: clima, materiales, señales, etc.
– Un gran porcentaje: modelos numéricos
– Otras: heurísticas, análisis de datos (GD), etc.
Otras: heurísticas análisis de datos (GD) etc
• Software: implementaciones
– De alguna manera traducen… al hardware
– Un gran porcentaje: desarrollado por científicos del
área de aplicación
– Modelos numéricos: muy bien caracterizados
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
¿HPC?
• Si ya hay software… ¿para qué HPC?
– if it ain't broke, don't fix it
• Velocidad: ¿para qué y cómo?
Má
– Más precisión
i ió
– Otros modelos
̶ Más rápido
Má á id
̶ Más paralelo
• Modelos numéricos: muy bien caracterizados
– Simplificaciones y errores
– ¿Rendimiento? ==> factibilidad, “rapidez”
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
¿Qué involucra HPC?
• Optimización
– Bibliotecas: “… ah, eso es una inversión de matrices…”
– Conocer arquitecturas (SSE, superescalares, caches, …)
• Paralelización
Paralelización
– Múltiples Núcleos
– Clusters
• Modelos
̶ Aceleradores /as
̶ Todo junto… ¿otros?
– De programación: mensajes, mem. compartida, …
– De procesamiento: SPMD, MPMD, …
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
¿Cómo se llega a HPC?
• Algoritmo numérico
• Requerimientos
– De procesamiento u operaciones: análisis de alg.,
ej: 2/3n3 + 2n2 flops
ej: 2/3n3 + 2n2 flops
– De memoria: matrices, vectores, estr. dinámicas,
ej: (2n + 1)3 memoria
– ¿E/S?
• Lo anterior sobre HPC: optimización y
paralelización
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
Más Complicado: Herencia
• Software en producción
• Métodos de desarrollo anticuados, múltiples
• Documentación desactualizada o inexistente
ió d
cambios
D
li d
– “nosotros solamente lo usamos”
• ¿Cómo optimizar y paralelizar?
i
i
– Software de la época del “free lunch”
• ¿Cómo estimar costos de opt. y paralelización?
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
Optimización y Paralelización
• Optimización
• Paralelización
ió
li
l
– Perfilado, Bibliotecas, Contadores de hardware
– Dependiente de la arquitectura
P
– Múltiples núcleos, Clusters
– Aceleradores: GPUs, Xeon Phi
– Bibliotecas de cómputo paralelo
– Lenguajes de programación
– Redes de interconexión, bibliotecas de comunic.
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
Proyectos
• “Propios” o “de base”
– Propuesta algorítmica para álgebra lineal
– Propuesta de optimización de comunicaciones
– Impacto de las propuestas sobre HPL (detalle)
Impacto de las propuestas sobre HPL (detalle)
• Sobre software heredado
– Transformación de código para mejorar
– Caracterización con métricas
– Lejos de paralelizar a gran escala aún
– Aunque algo paralelo logramos…
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
Proyectos
• Sobre aplicaciones (no heredadas...)
– Storm Water Management Model (SWMM)
– Resolución de atmósferas estelares peculiares con
ecuaciones diferenciales
ecuaciones diferenciales
– Identificación de objetos transneptunianos a partir
de imágenes (Complejo Astronómico El Leoncito)
– Objetos transneptunianos: N-Body+Heliospheric
Model
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
Proyectos: breakthrough...
•
•
•
•
"...proyectos que puedan en un corto plazo utilizar recursos de cómputo
masivamente paralelos con potenciales breakthroughs científicos"
"El software fundamental del que hace uso su proyecto ha sido
desarrollado en su grupo?"
"Posee Ud. evidencia demostrable del escaleo de su aplicación a sistemas
medianos tales como arreglos de estaciones de múltiples CPU conectadas
medianos tales como arreglos de estaciones de múltiples CPU conectadas
por redes Infinibad?"
Ej: alineación de secuencias de ADN en Xeon Phi:
– 240 hilos, 60 cores
– OpenMP: aprox. 4 horas
– OpenMP + Vectorización SIMD con OpenMP: aprox. 10 minutos
– OpenMP + Vectorización SIMD provista por icc: aprox. 5 minutos
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
Muchas gracias
g
HPC: Aplicaciones y Software - Fernando G. Tinetti, UNLP, CIC Prov. Bs As.
Comentarios de: HPC: Aplicaciones y Software Heredado HPC: Aplicaciones y Software (0)
No hay comentarios