soft
o
Paralelismo
Programaci´n paralela
o
Ejemplos
C´mputo de Alto Rendimiento
o
Jos´ Luis Gordillo Ruiz
e
jlgr@super.unam.mx
Facultad de Ingenier´ Universidad Nacional Aut´noma de
ıa,
o
M´xico
e
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Contenido I
Introducci´n
o
Rendimiento
Computaci´n de Alto Rendimiento
o
Aceleraci´ndel rendimiento
o
Paralelismo
Elementos de programas paralelos
Modelos de programaci´n paralela
o
Arquitecturas paralelas
Programaci´n paralela
o
Messagge Passing Interface
OpenMP
Ejemplos
Multiplicaci´n de matrices
o
Diferencias finitas
Juego de part´
ıculas
Ejemplos
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Contenido II
Dise˜o deprogramas paralelos
n
Caracter´
ısticas deseables
Rendimiento serial
Rendimiento paralelo
Rendimiento comunicaciones
Partici´n y balance de carga
o
Ejemplos
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Ejemplos
Bibliograf´
ıa
• Designing and building parallel programs. Ian Foster
• Parallel Programming with MPI. Peter Pacheco
• Parallel Programmingin OpenMP. Rohit Chandra et al
• Message Passing Interface Standard.
• OpenMP Specifications.
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Ejemplos
Rendimiento
Rendimiento Producto o utilidad que rinde o da algo. (Sumisi´n,
o
subordinaci´n, humildad).
o
Desempe˜o Acci´n de desempe˜ar o desempe˜arse. (Cumplir las
n
o
n
n
obligaciones inherentes auna profesi´n, cargo u
o
oficio)
¿Qu´ es el rendimiento de una computadora?
e
La medida de su capacidad para hacer alg´n tipo de operaciones
u
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Ejemplos
Rendimiento
El rendimiento se expresa como n´mero de operaciones por unidad
u
de tiempo
• Operaciones artim´ticas por segundo (flop/s)
e
• IOPS
•Transacciones por segundo
• ¿Conexiones simult´neas?
a
La capacidad no siempre es igual a la velocidad
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Ejemplos
Factores del rendimiento
El rendimiento depende de muchos factores entrelazados
• Frecuencia de operaci´n de los componentes
o
• N´mero de componentes “actuantes”
u
• Capacidad de transferencia
Lastecnolog´ de c´mputo mejoran a˜o con a˜o
ıas
o
n
n
• los procesadores pueden hacer m´s flops
a
• los discos tienen mayor capacidad
• las redes tienen mayor ancho de banda
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Ejemplos
Evoluci´n del rendimiento
o
Dos factores en la evoluci´n del rendimiento de computadoras
o
1. La “Ley de Moore”
2. Mejoresarquitecturas
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Ejemplos
Consecuencias del incremento
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Evoluci´n del rendimiento
o
Ejemplos
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´n paralela
o
Ejemplos
Medici´n del rendimiento
o
¿C´mo se determina elrendimiento de una computadora?
o
• Rendimiento te´rico (“peak performance”).
o
• Es lo que supuestamente puede hacer una computadora,
dados sus componentes
• Rendimiento en cierta aplicaci´n
o
• El Top500 utiliza el “benchmark” High Performance Linpack
• SPEC CPU utiliza un conjunto de 17 aplicaciones num´ricas
e
Dise˜o
n
Introducci´n
o
Paralelismo
Programaci´nparalela
o
Ejemplos
Alto rendimiento
• Las computadoras de alto rendimiento son diferentes a las
convencionales
• Tienen dise˜os espec´
n
ıficos para tareas espec´
ıficas
• Sus procesos de fabricaci´n pueden ser diferentes
o
• Actualmente, explotan el “paralelismo” de diferentes formas
• M´ltiples operaciones simult´neas
u
a
• M´ltiples transferencias simult´neas
u
a
•...
Regístrate para leer el documento completo.