Professional Documents
Culture Documents
Prestaciones (H PC)
Parte 1 O penM P y M PI
Sistemas Operativos Avanzados Waldo A. Valiente
Agenda Clase 1
Arquitecturas.
O p e n M P.
MPI.
C l u s t e r.
GRID.
Computacin en la Nube.
Tr a b a j o P r c t i c o .
Tipos de Arquitecturas
No Confi gurables
Confi gurables
- (2da clase)
Re Confi gurables
Adaptables
- (1ra clase)
- (3ra clase)
N ecesidad de Paralelism o
Limitaciones fsicas computacin
secuencial.
Complejidad en problemas.
N ecesidad de Paralelism o
Ejemplo: Tiempo de ejecucin secuencial
del algoritmo X.
T = tc
[ P r (n) ]
N ecesidad de Paralelism o
Utilizando un procesador Galileo Gen 1:
T = tc
[ P r (n) ]
t c 1 / 1 . 2 5 M I P S ( Pro c e s a d o r G a l i l e o G e n 1
(400MHz)).
C o n u n p ro b l e m a d e 1 0 0 o p e r a c i o n e s
aritmticas:
Cuando a = 1
(1/1.25M)
[ 100 ]
= 80 s.
N ecesidad de Paralelism o
Utilizando un procesador Intel Core i7:
T = tc
[ P r (n) ]
t c 1 / 8 3 0 0 M P I S ( Pro c e s a d o r C o re i 7 ( 2 . 4 G H z ) ) .
C o n u n p ro b l e m a d e 1 0 0 o p e r a c i o n e s
aritmticas:
Cuando a = 1; (1/8.3G)
ns.
[ 100 ]
= 35-9 = 12
N ecesidad de Paralelism o
Problemas de gran dimensin.
Ahora cuando aumenta a 10 veces:
Galileo G1 : (1/1.25M) x [ 100 ]
10
= 8E13 = 2536
milenios.
Core i7 : (1/8.3G) x [ 100 ]
10
Ley M oore
Paralelism o en m onoprocesador
Procesador Vectorial
Paralelism o en m onoprocesador
Procesador Escalar Segmentado
t
B
Instruccin 1
Instruccin 2
A
Instruccin 3
Paralelism o en m onoprocesador
Procesador Escalar Supersegmentado
Paralelism o en m onoprocesador
Procesador Escalar Superescalar
t
Paralelism o en m onoprocesador
Procesadores VLIW
t
Paralelism o en m onoprocesador
Tcnicas multihilos
H H
COR
E
Pentium 4
Paralelism o en
Taxonoma Flynn
m ultiprocesadores
Paralelism o en
SISD
m ultiprocesadores
Paralelism o en
SIMD
m ultiprocesadores
Paralelism o en
MISD
m ultiprocesadores
Paralelism o en
MIMD
m ultiprocesadores
Paralelism o en
m ultiprocesadores
MIMD
H H
COR
E
H H
COR
E
i3
COR
E
COR
E
i5
COR
E
H H
COR
E
H H
COR
E
COR
E
H H
COR
E
H H
COR
E
i7
Paralelism o en
MIMD
m ultiprocesadores
Paralelism o en
m ultiprocesadores
Paralelism o en
m ultiprocesadores
Paralelism o en
m ultiprocesadores
Paralelism o en
m ultiprocesadores
Taxonoma Flynn ( Ta n e n b a u m )
Rendimiento:
Speed-UP:
MFLOPS
Sec.
Nro core (ej. 2)
Speed-UP:
Efi ciencia:
Agenda Clase 1
Arquitecturas.
O p e n M P.
MPI.
C l u s t e r.
GRID.
Computacin en la Nube.
Tr a b a j o P r c t i c o .
O penM P
Es
Ab r ev iaci n d e (O p en Multi-P ro ce ssing) .
Interfaz de programacin
Con 3 componentes principales.
O penM P
Tres componentes:
D ir e ctiv as d e co mp ilado r .
Bibliotecas de funciones.
Variables de entorno.
O penM P
Directivas de compilador ( fork/Join )
Crear regin paralela.
Serializar secciones de cdigo.
Dividir bloques de cdigo entre thread.
Sincronizar thread.
Distribuir iteraciones.
O penM P
Bibliotecas de funciones
Fijar y usar el id thread.
Consultar el id del padre y total de
hermanos.
Estado del bloque (si es paralelo y en
que nivel).
Administrar bloqueos y anidamientos.
O penM P
Variables de Entorno
Fijar el nmero mximo de thread.
Fijar el tamao de stack por thread.
Fijar afi nidad de thread a procesadores.
Planifi cacin de thread.
Administrar paralelismo anidado.
O penM P
No es una herramienta que brinda
La p aralizacin auto m tica .
O penM P
Objetivos de OpenMP
Estandarizacin.
Simple y Robusto.
Fcil de usar.
Portabilidad.
Paralelismo en entornos distribuidos.
O penM P
OpenMP brinda
Paralelismo a nivel de cdigo.
O penM P
Ejecucin secuencial
Programa
S1
S
2
S
3
S
4
Ejecucin en el tiempo
S5
S
6
S
7
O penM P
Ejecucin OpenMP c o n 4 h i l o s c o n 2 re g i o n e s
y 7 secciones.
S
1
S
5
S
2
Main
thread
S
6
Master thead
S
3
fork
S
4
Master thread
S
7
Join
fork
Ejecucin en el tiempo
Join
O penM P
OpenMP brinda
Paralelismo a nivel de datos.
O penM P
Ejecucin secuencial
Programa
for ( i = 1; i < = 6 ; i+ + )
i1
i2
i3
i4
i5
Ejecucin en el tiempo
i6
O penM P
Ejecucin OpenMP regin paralela for con
4 hilos.
i1
i2
Main
thread
i3
Master thead
i4
i5
fork
i6
Join
Ejecucin en el tiempo
O penM P
Ventajas:
O penM P
Desventajas:
Agenda Clase 1
Arquitecturas.
O p e n M P.
MPI.
C l u s t e r.
GRID.
Computacin en la Nube.
Tr a b a j o P r c t i c o .
M PI
Es una especifi cacin para los
desarrolladores y usuarios de bibliotecas
de pasaje de mensajes.
M PI
OpenMPI es la biblioteca que representa
la especifi cacin MPI.
Thread-safe.
Open-Source.
Desarrollada por consorcio de
acadmicos, investigadores
y compaas Software
M PI
#include <mpi.h>
Declaracin variables
main() {
Esquele
to
de
program
a
MPI
MPI_Init()
Bloque paralelo
MPI_
Bloque paralelo
MPI_Finalize()
}
M PI
OpenMPI utiliza procesos ( thread) y cada
uno representa a una tarea independiente
que ejecuta dentro del contexto
MPI_COMM_WORLD.
M PI
La comunicacin por nodos se realiza por
ssh.
El programa paralelo debe existir en cada
nodo.
M PI
Paso de mensajes
M PI
P2P Sincrnicas
M PI
P2P Asincrnicas
M PI
Colectivas
M PI
Colectivas broacast
1
M PI
Colectivas scatter
1
1 2 3 4
M PI
Colectivas gather
1
1 2 3 4
M PI
Colectivas reduction
1
+
1
0
M PI
Ventajas:
M PI
Desventajas:
Agenda Clase 1
Arquitecturas.
O p e n M P.
MPI.
C l u s t e r.
GRID.
Computacin en la Nube.
Tr a b a j o P r c t i c o .
Cluster
-Nodos Homogenios
-SO nico
-Centralizado
-Mejora rendimiento
dedicando + recursos
Agenda Clase 1
Arquitecturas.
O p e n M P.
MPI.
C l u s t e r.
GRID.
Computacin en la Nube.
Tr a b a j o P r c t i c o .
G RID
-Heterogneos
-Mltiples SO.
-Equipos dispersos.
-Mejora el
rendimiento
compartiendo
recursos sub-
Agenda Clase 1
Arquitecturas.
O p e n M P.
MPI.
C l u s t e r.
GRID.
Computacin en la Nube.
Tr a b a j o P r c t i c o .
Agenda Clase 1
Arquitecturas.
O p e n M P.
MPI.
C l u s t e r.
GRID.
Computacin en la Nube.
Tr a b a j o P r c t i c o .
Trabajo Prctico
Repaso del trabajo prctico HPC
Bibliografa
Libro- Introduccin a la programacin paralela
Te s i s - Ve r i fi c a c i n d e C o v e r i n g A r r a y s u t i l i z a n d o
Supercomputacin y Computacin Grid Cap. 3.
L i b ro I n t ro d u c c i n a l a C o m p u t a c i n Pa r a l e l a C a p .
1,2.
A r t c u l o - Pro g r a m a c i n Pa r a l e l a y D i s t r i b u i d a .
h t t p : / /w w w. o p e n m p . o r g / m p - d o c u m e n t s / o p e n m p - 4 . 5 . p d f
https://
w w w. m p i - f o r u m . o r g / d o c s / m p i - 3 . 1 / m p i 3 1 - r e p o r t . p d f
Libro Introduccin a las arquitecturas paralelas
Md 1
Categora 1
Categora 2
Serie 1
Categora 3
Serie 2
Serie 3
Categora 4
Grupo A
Grupo B
Clase 1
82
95
Clase 2
76
88
Clase 3
84
90