Computación de alto rendimiento
Computación de alto rendimiento - Código 24433
Profesor
Carlos Jaime Barrios Hernandez, PhD. - (cbarrios@uis.edu.co)
PRESENTACION
El término Computación de Alto Rendimiento o Computación de Alto Desempeño esta relacionado con el cómputo para el tratamiento de problemas de gran reto, que a su vez, son aquellos problemas que requieren arquitecturas escalables de cómputo para su tratamiento. La computación de alto rendimiento es igualmente entendida como supercomputación o computación avanzada, debido a sus caracteristicas propias que la hacen ubicar "mas allá" del contexto normal y temporal de la computación.
Este curso para maestria en informática, ofrece un "estado del arte" de la computación de alto rendimiento y direcciones futuras desde dos puntos de vista especificos, pero muy relacionados entre si: arquitectural y aplicativo. Este último muy ligado con el cálculo científico.
Contenido
- Introducción al Cómputo de Alto Rendimiento y Cálculo Científico
- Cómputo de Alto Rendimiento y e-Ciencia: El paradigma del Tratamiento Intensivo de Datos
- e-Interacción y Arquitecturas Escalables (Y de Gran Escala)
- Cómputo de Alto Rendimiento (HPC), Computo de Alta Demanda (HTC), Computación Voluntaria y otras tendencias.
- Arquitecturas Escalables: Paralelismo y Distribución
- Arquitectura General de Sistemas
- Taxonomía de Flynn
- Algunos Aspectos de Medidas de Rendimiento: Ley de Amhdal y otros
- Procesadores Multicore
- Maquinas Paralelas
- Máquinas de Memoria Compartida
- Máquinas de Memoria Distribuida
- Máquinas Híbridas (Sistemas Híbridos)
- Sistemas Distribuídos de Gran Escala
- Grid Computing
- Cloud Computing
- Un Caso Especial: Computadores Cuánticos
- Redes de Alta Velocidad o de Alto Rendimiento
- Caracteristicas Especiales de Rendimiento
- Topologías y Estrategias (Buses, Swiches, fan-tree networks, Mesh, Híbridas)
- Algunos Casos Concretos (Infiniband, Gigabit Ethernet, Myrinet)
- Diseño y Desarrollo de Aplicaciones
- Introducción a las Técnicas de Optimización de Códigos Seriales
- Concurrencia y Paralelismo
- Modelo General de Diseño de Algoritmos Paralelos
- LIneamientos para el Diseño y Desarrollo de Aplicaciones Paralelas y Concurrentes
- Modelos de Programación Paralela
- Programación de Memoria Compartida
- Programación de Memoria Distribuida - Paso de Mensajes
- Paralelizacion Hibrida
- Máquinas Masivamente Paralelas y Aceleradores
- Multicores + Nodos usando OpenMP y MPI
- e-Interacción de Alto Rendimiento
- Introducción a la e-Interaccion
- Introducción a la Informatica Ambiente
- Tendencias, Direcciones, Problemas Abiertos desde la Supercomputación hasta la Computación Extrema (Retos Técnicos, Científicos, Económicos, Ambientales y Sociales)
BIBLIOGRAFÍA Y FUENTES DE INFORMACION
- The Fourth Paradigm: Data-Intensive Scientific Discovery
- Designing and Building Parallel Programs, by Ian Foster
- Patterns for Parallel Programming, by Timothy G. Mattson, Beverly A. Sanders and Berna L. Massingill. Software Patterns Series, Addison Wesley Ed., USA. 2009.
- The Art of Concurrency “A thread Monkey’s Guide to Writing Parallel Applications”, by Clay Breshears (Ed. O Reilly, 2009)]
- Parallel Scientific Computing in C++ and MPI « A Seamless Approach to Parallel Algorithms and Their Implementation », Karniadakis and Kirby II (Cambridge Press)]
- Algorithms Sequential and Parallel « A Unified Approach » Miller and Boxer (Computing Engineering Series)]
- Parallel Algorithms, Cassanova, Legrand and Robert (Chapman and Hall/CRC)]
- Programming Massively Parallel Processors « A Hands-on Approach » , Kirk and Hwu (Nvidia/Morgan Kaufmann)]
- Introduction to High Performance Computing for Scientists and Engineers, Hager and Wellein (Chapman and Hall/CRC)]
- Sourcebook of Parallel Computing , Dongarra, Foster, Fox, Groop, Kennedy, Torczon and White (Morgan Kaufmann)]
- CUDA by Example « An Introduction to General-Purpose GPU Programming » Sanders and Kandrot (Nvidia/Addison Wesley)]
- NVIDIA
- SC3
- Computing.llnl.gov
- SC-Camp