Title: Modelos de Prediccin en Computacin Paralela A' Marcela Printista Universidad Nacional del Sur
1Modelos de Predicción en Computación
Paralela A. Marcela Printista Universidad
Nacional del Sur
2Modelos de Predicción en Computación
ParalelaDirector Dr. Raul GallardCo-Director
Ing. Jorge Ardenghi
3INDICE
- Introducción ( 9 diapositivas)
- Modelo PRAM (2)
- Modelo BSP (10)
- Modelo Colectivo (13)
- Modelo OBSP (14)
- Mapa Bibliográfico (opcional)
- Trabajos Futuros
4Paralelismo?
- Demandas de mayor poder de computación que el que
brinda la computación secuencial - Aunque la Computación Paralela debería ser la
respuesta a estas demandas, no ha logrado
imponerse como paradigma corriente de computación
5Paralelismo
- Cuál podría ser la clave que impulsará el
desarrollo de computaciones paralelas en el
futuro? - Hay tres candidatos obvios
- el hardware
- el software
- un modelo de computación intermediario
-
6Hardware y Software
- Mucho se ha discutido de las dos primeras
opciones. - Sin embargo, pocos trabajos son los que han
cubierto los dos objetivos principales de la
computación paralela - Desarrollar software independiente de las
tecnologías existentes - Desarrollar algoritmos que obtengan la máxima
performance de la arquitectura subyacente -
Objetivos Contradictorios?
7Jerarquía de Modelos
8Modelos de Computación
- Definen un compromiso entre las capacidades del
hardware y los requerimientos del software
9Modelos de ComputaciónObjetivos
- Indicarle al diseñador de hardware cual
funcionalidad debería soportar - Indicarle al diseñador de software cual
funcionalidad debería asumir a ser provistas por
cada arquitectura - Indicarle al diseñador del algoritmos un modelo
realístico de la máquina
10Modelo de Computación Secuencial
- En el ámbito de la computación secuencial
- El modelo de Von Neumann
- Ha actuado exitosamente como modelo subyacente
proporcionado consistencia y coordinación entre
los diseñadores de algoritmos, de arquitecturas
y expertos en lenguajes
11Modelos de Computación Paralela
- En el ámbito de la computación paralela
- ?
- Ningún modelo ha logrado jugar el mismo rol y con
el mismo éxito que el de Von Neumann en la
computación secuencial
12Modelos de Computación
OBJETIVOS DE DISEÑO REFLECTIVIDAD PREDICTIBILID
AD PORTABILIDAD SUMPLICIDAD
13Modelos de Predicción en Computación
ParalelaModelo PRAM
14PRAM
Parallel Random Access Machines
Procesamiento Sincrónico
Memoria Compartida
15Modelo PRAM
- Es un modelo relativamente fácil de usar y por
esta razón ha dominado la teoría de la
computación paralela. - Está lejos de ser realista, dado que actualmente
el costo de soportar memoria compartida en
hardware es mayor al de soportar memoria
distribuida. - Las simplificaciones que el modelo asume no
resultan adecuadas para predecir la performance
de las máquinas paralelas actuales. -
-
16Modelos de Predicción en Computación
ParalelaModelo BSP
17Modelo BSPBulk Synchronous Parallel
- Tiene como principales objetivos
- Simplicidad
- Portabilidad
- Predictibilidad
18Computadora Genérica BSP
Red de comunicación
Pares Procesador-Memoria
19Modelo BSP
La esencia de un enfoque BSP es el concepto de
SUPERPASO
20Análisis del Modelo BSP
21Modelo BSPComunicación
22Análisis del Modelo BSP
El costo de un superpaso es
ts ? Ws gH hs LH
Finalmente el costo de un programa con R
superpasos es
TR ? s0,R ( ts )
23Parámetros Modelo BSP
- Una computadora BSP queda caracterizada por los
siguientes parámetros - ( P, s, L, g )
P es el número de procesadores de
la máquina BSP s es la velocidad del
procesador L es el costo, en steps, de
realizar una sincronización por barrera g
es el costo, en steps/word , de entregar los
mensajes
24Algoritmos BSP Suma de Prefijos
Técnica Logarítmica
25Algoritmos BSPSuma de prefijos
- main( )
- int i
- bsp_begin( )
- ibsp_sum_prefix1(bsp_pid( ) 1)
- bsp_end( )
- int bsp_sum_prefix1(int x)
- int i, other, partial, name,
numprocs - numprocsbsp_nprocs( )
- namebsp_pid ( )
- bsp_pushregister (?other,
sizeof(int)) - bsp_sync( )
- partialx
- for(i1ilt numprocs i2)
- if (nameilt numprocs)
- bsp_put(namei, partial,
other,0,sizeof(int)) - bsp_sync( )
- if (namegti) partial
partialother -
- bsp_popregister(other)
- return partial
-
hs 0 para
s1 hs 1 sizeof(int) para
s2,3 ?log p? 1 superpasos Tprefix (A0
L) ?log p? ( C0 g sizeof(int) L )
26BSPConclusiones
- El principio clave de BSP es considerar las
comunicaciones y computaciones como actividades
separadas y posiblemente ejecutadas por
diferentes mecanismos. Los costos
correspondientes son independientes y
composicionales. - El modelo BSP se define con un número pequeño de
características cualitativas topología uniforme
de red, sincronización por barrier manteniendo el
estilo bulk, y tres parámetros cuantitativos en
número de procesadores, la latencia y throughput
de comunicación - La performance de un programa dado es predecible
27Modelos de Predicción en Computación
ParalelaModelo Colectivo
28Computación Colectiva
Aporta una metodología eficiente para la
traslación de algoritmos con paralelismo de datos
anidados sobre arquitecturas paralelas reales Es
una forma de computación El conjunto de
procesadores puede realizar computaciones
secuenciales Explota el concepto de grupo de
procesadores Administra comunicaciones
colectivas
29Modelo Colectivo de Computación Paralela
Modelo de Computación Colectiva (M, Col, Div)
30Modelo Colectivo
- Computación Colectiva ocurre en superpasos
- Superpaso Normal
- Ø Computación local.
- Ø Ejecución de una función de comunicación
colectiva - f ? Col
- Superpaso de División
- Ø Ejecución de una función de partición
colectiva - g ? Div
- La máquina será dividida en r conjuntos de
submáquinas de tamaño P0, ..., Pr-1
31Modelo de Costo Colectivo
- CCM distingue entre costos de división y de
comunicación - Asociado con cada función de comunicación f ? Col
hay una función de costo Tf que predice el
tiempo invertido por el patrón f - Similarmente el modelo asume una función de costo
Tg para cada patrón de división g ? Div -
32Modelo Colectivo
- El costo ?s de un superpaso normal s es
- ?s W Tf max Wi / i 0,,P-1 Tf (P,
h0, ,hP-1) - El costo ?s de un superpaso de división s es
-
- ?s Tg(P,in0 ,..,inP-1, r, out0 ,, outr-1)
- max ?( Task0),...,?( Taskr-1)
33Modelo Colectivo
- MCC está caracterizado por la 5-upla
- (P, Col, TCol , Div, TDiv)
341 void parFFT(Complex A, Complex B, int n)
2 Complex a2, A2 / Even terms / 3
Complex a1, A1 / Odd terms / 4 int
m, size 5 6 if(NUMPROCESSORS gt 1) 7
if (n 1) / Trivial problem / 8
b0.re a0.re 9
b0.im a0.im 10 11 else 12
m n / 2 13 size m
sizeof(Complex) 14
odd_and_even(A, a2, a1, m) 15
PAR(parFFT(a2, A2, m), A2, size, parFFT(a1, A1,
m), A1, size) 16 Combine(B, A2, A1,
m) 17 18 19 else seqFFT(A, B,
n) 21
35Algoritmos de Computación ColectivaLa fft
36Algoritmos de Computación Colectiva La
transformada Rápida Fourier
37Algoritmos de Computación Colectiva La FFT
En la ejecución de la primer división
TPAR (P, 0, ...,
0, 2, n/2, ..., n/2)
38Algoritmos de Computación ColectivaLa fft
Siguiendo el razonamiento recursivo se puede
obtener el Tiempo Total como ? ? i 0,
log(P)-1 D n/2i C(n/P)
log(n/P) ? s1, log(P) ( gPAR 2s
n/P)LPAR ? s1, log(P) F 2s-1
n/P )
39Algoritmos de Computación ColectivaLa fft
40Computación Colectiva Conclusiones
- Al introducir funciones de Partición de Grupos
aporta un método que extiende el rango de
algoritmos a representar. - Es importante remarcar que el modelo es
independiente de la plataforma de implementación
y predice con considerable precisión los tiempos
de ejecución de los algoritmos considerados.
41Modelos de Predicción en Computación
ParalelaModelo Oblivious BSP
42PUB
- La librería
- Paderborn University BSP - PUB
- Básicamente provee la misma funcionalidad de BSP
43PUB
- Operaciones de comunicación colectivas como
broadcast, reduce y scans - Particionado dinámico del grupo de procesadores
en subgrupos (Objetos BSP) - Sincronización oblivia (oblivious
syncronization)
Se produce una pérdida de confiabilidad cuando
BSP se utiliza como Modelo de Predicción del
tiempo de algoritmos PUB
44Predicción de Programas PUB bajo BSP
45Oblivious BSP como Modelo de Predicción de
Algoritmos PUB
- La ejecución de un programa PUB en una submáquina
BSP Xp0, p1, ..., pP-1 avanza en superpasos - Si el superpaso s finaliza en una sincronización
oblivia - ?s,i pj ? X / pj envía un mensaje a pi
durante el superpaso s ? pi - Si el superpaso s finaliza en una barrera
- ?s,i X
-
46Oblivious BSP como Modelo de Predicción de
Algoritmos PUB
- El tiempo OBSP que le toma al procesador i ?X
finalizar el superpaso s - ?1,i(T, X, ?) max ?j w1,j / j??1,i
(gh1,i Lb), - i 0,..., P-1
- ?s,i(T, X, ?) max ?s-1,j(T, X, ?) ws,j /
j??s,i (ghs,i Lb) -
s 2,..,R, i 0,..., P-1 - donde
- ? (?0 , ..., ?p-1) es el vector de tiempos
iniciales - ws,j es el tiempo invertido en computación por
j en el superpaso s, - R es el número total de superpasos y
- hs,i es el número de palabras comunicadas por
el procesador i en el paso s - hs,i max ins,j _at_ outs,j / p j ? ?s,i s
1,...,R, i 0,1,...,P-1
47Modelo Oblivious BSP
- Yi es una sub-máquina
- El tiempo que el procesador j?Yi toma para
finalizar su trabajo en Ti ejecutado por el
objeto BSP Yi - es calculado por la siguiente expresión
- ?Ri, j (Ti , Yi , ?s-1, j ws, j ) tal que
j? Yi , i 0,...,r-1 - Donde
- Ri es el número de superpasos ejecutados
en la tarea Ti y - ws,j es el tiempo de computación ejecutado
por el procesador j antes de su llamado a la
función bsp_partition( ) en el superpaso s
original del conjunto de procesadores
?
48Modelo Oblivious BSP
- ?Ri, j (Ti , Yi , ?s-1, j ws, j ) con j? Yi
49Oblivious BSP Parámetros de Comunicación
50Algoritmo Oblivious BSPLa Búsqueda Binaria
Procesador 0
Procesador 1
Procesador 2
Procesador 3
23
23
23
23
17
17
33
33
13
19
28
36
11
18
26
34
11
18
26
34
13
14
17
19
21
23
28
32
33
36
38
42
51Algoritmos Oblivious BSPLa Búsqueda Binaria
Void bin_search(pbsp bsp, int d, int m)
mebsp_pid(bsp) nprocsbsp_nprocs(bsp)
for (inew_mother0 i ltm i) if
(queryi ltgkeyd megtnprocs/2 )
queryi gtgkeyd meltnprocs/2) )
tempother queryi
else querynew_m queryi
bsp_hpsend(bsp,(menprocs/2) nprocs, temp,
othersize(int)) bsp_oblsync(bsp) msg
bsp_getmsg(bsp,0) memcpy(querynew_m,
bspmsg_data(msg), bspmsg_size(msg)) new_m
bspmsg_size(msg)/sizeof(int) if (!d)
local_search(new_m, query, n, key) else
part0 nprocs/2 part1 nprocs
bsp_partition(bsp,subbsp, 2, part)
bin_search(subbsp,d-1, new_m)
bsp_done(subbsp)
52Algoritmo Oblivious BSPLa Búsqueda Binaria
?1
?2
Seq.
?2 , i (PBS,2, ?i, s2 )
?2, i (PBS,4, ?i, s1 )
?2, i (PBS,8, ?i, s0 )
53Algoritmo Oblivious BSPLa Búsqueda Binaria
54Algoritmo Oblivious BSPLa Búsqueda Binaria
?2, P-1(PBS,P,0) log2 (P) A0m A1
g m/2 sizeof(int) Lb
(C0m/2 C1) (log2 (P) - 1)
B D SeqT
55Algoritmo Oblivious BSPLa Búsqueda Binaria
56Modelo Oblivious BSPConclusiones
- PUB posibilita una implementación eficiente de
paradigmas paralelos asincrónicos (ya no es
mandatorio realizar sincronizaciones globales) - El modelo Oblivious BSP introduce un enfoque
diferente para la predicción de los tiempos de un
superpaso considerando - Si el superpaso s finaliza en una sincronización
oblivia - Si superpaso incluye una función de
partición - El error con que predice los tiempos de ejecución
de los algoritmos hace que el modelo pueda ser
considerado confiable.
57TRABAJOS FUTUROS
58Trabajos Futuros
- Extender el Análisis de la validez de OBSP
- El Modelo OBSP
- La Herramienta call/llac
59BIBLIOGRAFIA
60MODELOS
- Rod99 Rodríguez León, C. El diseño y Análisis
de Algoritmos Paralelos. Colección textos
universitarios. ISBN 84-8416-220-6. Cabildo de
Canarias. Conserjería de Educación, Cultura y
Deportes. 1999. - Leopold C. Parallel and Distributing Computing..
ISBN 0-471-35831-2. John Wiley Sons, INC.
2001. - Mag95 Maggs B.M. , Matheson L., Tarjan R.
Models of Parallel Computations A survey and
Synthesis. Proceedings of the 28 th. Hawaii.
International Conference on Systems Science. IEEE
Press. 1995. -
- Ble96b Blelloch, G. E., et al. Parallel
Algorithms. ACM Computing Surveys, Vol. 28, Nº1.
Pp. 51-54. 1996.
61PRAM
- For78 Fortune S., Wyllie, J., Parallelism in
Random Access Machines. Proc. 2nd ACM Annual
Symp. on Theory of Computing. Pp. 114-118. 1978. - Qui94 Quinn M.- Parallel Computing. Theory and
Practice. Second Edition. McGraw-Hill, Inc. 1994. - Rod99 Rodríguez León, C. El diseño y Análisis
de Algoritmos Paralelos. Colección textos
universitarios. ISBN 84-8416-220-6. Cabildo de
Canarias. Conserjería de Educación, Cultura y
Deportes. 1999. -
MPC Mel84 Melborn K., et al. Randomized
and Deterministic Simulations of PRAMs by
Parallel Machines with restricted Granularity of
Parallel Memory. Acta Informática. Vol 21 . Pp
339-374. 1984. DRAM Lei88 Leiseron C., et
al. Communications-Efficient Parallel Algorithms
for Distributed Random-Access Machines.
Algorithmica. Vol. 3. Pp 53-77. 1988. BPRAM
Agg89 Aggarwal A, et al. Computer Latency in
PRAM Computation. En Proc. Symp. On Parallel
Algorithms and Architectures, Pp 11-21, ACM.
1989.
LPRAM Agg90 Aggarwal A, et al. Communication
complexity of PRAMs. Theorical Computer Science,
Vol. 71. Pp 3-28. 1990.
62BSPwww.bsp-worldwide.org.
- Val90 Valiant L.G. A Bridging Model for
Parallel Computation. Communications of the ACM,
33(8) Pp 103-111. 1990. - Ski96 Skillircorn, D.B., Hill, J., McColl, W.F.
Questions and Answers about BSP. Oxford
University Computing Laboratory. Report
PRG-TR-15-96. 1996. - Hil97a Hill J., McColl B., Stefanescu D.,
Goudreau M., Lang K., Rao B., Suel T., Tsantilas,
Bisseling R. BSPLib The BSP Programming Library.
Technical Report PRG-TR-29-97, Oxford University
Computing Laboratory. May 1997. -
E-BSP Juu95 Juurlink, B.H.H., et al. The
E-BSP Model. Incorporating Unbalancesd Com
munication and general Locality into the BSP
Model. Technical report 95-44. Leiden University.
1995 BSPRAM Tis96 Tiskin A. The Bulk
Synchronous Parallel Random Access Machine.
Proceeding of Euro-Par 96- II, volume 1124 of
Lecture Notes in computer Science, P. 327-338,
Springer Verlag. 1996.
63LogP
- Cul93 Culler D., Karp R., Patterson D., Sahay
A., Schauser K.E., Santos E., Subramonian R., von
Eicken T. LogP Towards a Realistic Model of
Parallel Computation. Proceedings of the 4th ACM
SIGPLAN, Sym. Principles and Practice of Parallel
Programming. 1993. - Cul96a Culler D.E., Karp R., Patterson D.,
Sahay A., Santos E., Schauser K.E., Subramonian
R., Eicken T. LogP, a Practical Model of Parallel
Computation. Communications of the ACM, Vol. 39,
No.11. Nov. 1996. -
Ale95 Alexandrov A., et al. LogGP
Incorporating Long Messages into the LogP
Model. Proc. Seventh Ann. ACM Sym. Parallel
Algorithms and Architectures. Pp 95-105. Jul.
1995. Cul95 Culler D.E., Liu L.T., Martin
R., Yoshikada C. LogP Performance Assessment of
Fast Network Interfaces. Technical Report.
Computer Science Division. University of
California, Berkeley. Nov 1995.
64Computación Colectiva
Sande, F. - Modelo de Computación Colectiva Una
Metodología Eficiente para la Ampliación del
Modelo de Librería de Paso de Mensajes con
Paralelismo de Datos Anidado. PhD thesis.
Universidad de La Laguna, 1998. Gon99b
Gonzalez, J.A, et al. Collective Computing. V
Congreso Argentino de Ciencias de la Computación.
Universidad del Centro. Tandil, Argentina.
Octubre 1999. Gon00d
Gonzalez, J.A, et al. The Collective Computing
Model. Journal of Computer Science and
Technology, Special Issue Concurrent, Parallel
and Distributed Processing, PGNAUT, ISTEC.
Argentina. Octubre 2000.
Gon00c González J.A, et al. Supporting Nested
Parallelism. VI Congreso Argentino de Ciencias
de la Computación. Universidad de Tierra de
Fuego. Ushuaia. Argentina. Octubre de 2000.
65Oblivious BSP
Gon01 Gonzalez, J.A., et al. Predicting The
Time of Oblivious Programs- Proceeding of 9th
Euromicro Workshop on Parallel on Distributed
Proccesing. Mantova. Italia. Feb/2001. Pags
363-368. Bon98 Bonorden O., Huppelshauser
N., Juurlink B., Rieping I. PUB Library.
Release 6.0- User Guide and Function reference.
University of Paderbon, Germany. 1998.
Gon01a Gonzalez, J.A., et al. Performance
Prediction of Oblivious BSP Programas EuroPar.
2001. Manchester, UK, August 28-31,
2001.Proceeding. Pags. 96-105.
66FIN