Sunteți pe pagina 1din 58

Computacin Paralela

INF 762

Departamento de Computacin e
Informtica
Facultad de Ingeniera
Prof. Lorna Figueroa M.
Aydte. Leonardo Jofr
Octubre 2016

Motivacin

Ambientes cientficos e ingenieriles  anlisis de problemas


complejos.
 representacin por mallas geomtricas,
 gran volumen de datos,
 en un tiempo cada vez menor
 exigencias de tiempo
 precisin en la calidad de la solucin

2
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Motivacin
Mtodos paralelos de generacin de mallas:
Descomponen la malla original en N subproblemas,
Procesados simultneamente por P procesadores (P N)
[Chr05] [ChN03] [LCh06] [ChCh04].

3
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Motivacin
Los subproblemas pueden ser formulados como:
Fuertemente acoplados,
Parcialmente acoplados, o
Desacoplados
Grado de acoplamiento en los subproblemas
==> comunicacin entre los subproblemas distribuidos en los
procesadores.

4
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Objetivos:
General

Estudiar, modelar e implementar un algoritmo paralelo para


refinar localmente una malla.

5
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Objetivos:
Especficos:
1.
2.
3.
4.
5.
6.
7.

Estudiar y seleccionar un algoritmo para refinar mallas.


Modelar la paralelizacin de un algoritmo para realizar el refinamiento
local.
Estudiar mtodos de particionamiento y balance de carga, en relacin a la
distribucin en los procesadores.
Desarrollar un mtodo de particionamiento, basado en el criterio de
balancear la carga entre los procesadores disponibles.
Estudiar, modelar e implementar una estructura de datos para el problema
planteado.
Implementar un algoritmo paralelo para refinamiento local.
Evaluar el algoritmo paralelo de refinamiento local con datos de pruebas.
6
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Mallas Geomtricas / Paralelismo

Mallas Geomtricas
 basadas en tringulos
 potencial para exploracin
del paralelismo

Propsitos de paralelizacin en el clculo


de la triangulacin de un conjunto de
puntos:
1. Minimizar tiempo de ejecucin
2. Disponer de mayor capacidad de
memoria
7
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Descripcin del Problema


Dado un
y refinar
localmente,
usando
un
un dominio,
dominio,particionarlo
particionarlo
y refinar
localmente,
usando
algoritmo
paralelo
de de
biseccin.
un algoritmo
paralelo
biseccin.
Refinamiento
Mallas
Geomtricas
proceso
de dividir geomtrica
algunos tringulos
tringulos
ms
Una
discretizacin
formadaen por
polgonos
pequeos
s. de los datos en subdominios para
conectados
Dividir
el entre
dominio
satisfacer
requerimientos
 estimaciones de error,
a diferentes
procesadores.
asignarlos
Tipos
de mallas
(en 2D):
geometra del problema, entre otros criterios.
Cundo refinar? Malla inicial no es la ms apropiada para un
problema dado y debe ser modificada.
problemas donde se necesita Fuente:
mayor precisin en una
www.es.rhino3d.com/4/help/Commands/
regin de la malla.
MeshTrianglesQuads.htm
refinamiento es importante para garantizar la calidad de la
8
malla obtenida.
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Propuesta
(Mallas Geomtricas Refinamiento)

Una triangulacin es refinada, cuando el objetivo es obtener


triangulaciones ms finas y se mantiene la calidad
[Figue00].
Refinamiento
local o global,
insertando puntos,
mtodos de biseccin, sobre triangulaciones noDelaunay.

9
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Propuesta
(Mallas Geomtricas Refinamiento)

Mtodo de refinamiento 2T longest-edge:

t0

t01

t02

10
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Propuesta
(Mallas Geomtricas Refinamiento)

El refinamiento se puede propagar a los elementos vecinos


 un elemento no marcado inicialmente t1 T ; t1 > t0
es refinado (malla conforme).
criterio de validez: dos
tringulos vecinos es un lado o
un vrtice comn.

11
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Propuesta
(Mallas Geomtricas Refinamiento)

Procedimiento garantizado para terminar:


al bisectar las aristas stas disminuyen su longitud
(tolerancia, (M)).
La malla resultante es conforme.

12
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Propuesta
(Paralelismo)
Clasificacin de mtodos paralelos [Ch03] [LCh04] [CS99] :
i. Mallan (en paralelo o secuencial) las interfaces de los
subproblemas y luego mallan en paralelo los
subproblemas.
ii. Resuelven el problema de mallado en cada uno de los
subproblemas en paralelo y en seguida mallan las
interfaces de forma tal que la malla global es conforme.
iii. Simultneamente mallan y mejoran las interfaces segn
mallan los subproblemas individuales.

13
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Propuesta
(Paralelismo)

Arquitecturas de mquinas paralelas [Stel04]:


Memoria distribuida

Redes de Interconexin
Mensaje

Memoria compartida

Mdulo de
Memoria

Procesador

Redes de interconexin

Procesadores
Memoria Local
14
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Propuesta
(Paralelismo)

Memoria compartidadistribuida (DSM Distributed Shared Memory)


[Stel04]:

Mensaje

Redes de
Interconexin

Procesador

Computadores
Memoria
Local

15
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin: Mallas Geomtricas/Refinamiento

Mtodo de refinamiento 2T longest-edge (2T LE):

t01

t02
0

16
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin: Mallas Geomtricas/Refinamiento

*
t02
tt01
0

t122
1221

t1222
t322
3222

t12
121
t11
1

t2221
222

t5

t3221

t4
t3321
32

t221
2
22

t21

t31

criterio de validez: dos


tringulos vecinos es un
lado o un vrtice comn
17
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin: Mallas Geomtricas/Refinamiento

Procedimiento garantizado para terminar:


al bisectar las aristas stas disminuyen su longitud
(tolerancia, (M)).
La malla resultante es conforme.

18
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo

1.
2.
3.
4.
5.
6.

Input: { M*, (M ), P }
Particionar M* en submallas Mi*, i = 1 P
Distribuir las submallas Mi* en los P procesadores disponibles
Refinamiento local, biseccin 2T longest-edge en cada Mi*
Conformar tringulos no-conformes, producto del refinamiento
Output: { Mc }

19
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo
Malla Inicial
Numerar cada tringulo
Marcar tringulo(s) a refinar

2
1*

3*

4
5*

20
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo
Particionar y distribuir
Particin 1:

Particin 2:

Particin 3:

Las particiones definidas son distribuidas entre los procesadores


para una ejecucin paralela.
21
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo
Procesador 1: refinar tringulo 1

22
1*
12

2212
1

11

211

22
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo
Procesador 2: refinar tringulo 5

5
5*
2
51

23
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo
Procesador 3: refinar tringulo 3
Caso 1

3*
31
32

24
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo
Malla resultante:
22
12

212

11

211

32
31

52

51

25
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo

1*

2
3*
4
5*

Procesador 3: refinar tringulo 3


Caso 2

3*
3
2

31

26
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo

22
12

212

11

211

32

31

52

51

Malla resultante :
 Conformar
Universidad Tecnolgica Metropolitana - Departamento de Informtica

27

Solucin Algoritmo
Procesador 3: Conformar tringulo 31

3*
3
1
12

32

311

28
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo
Procesador 2: Conformar tringulo 4

42
41

52

51

29
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo
Malla resultante:

22
12

212

11

211

32
312
311
42

52

41
51

30
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Solucin Algoritmo
Malla resultante caso 1:
22
12

212

11

211

32

Malla resultante caso 2:

31

52
51

22
12

212

11

211

32
312
311
42

52

41
51
31
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Hiptesis de Trabajo

1.

El uso de un algoritmo permite particionar la malla inicial


balanceando la carga en los procesadores paralelos
disponibles minimizando la interaccin en las fronteras
(interfaces).

2.

El balanceamiento de la carga y la aplicacin del algoritmo


de refinamiento 2T longest-edge en paralelo permite
reducir tiempos de computacin.

32
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Metodologa

Tareas definidas:
Fase 1: Revisin del estado del arte.
Fase 2: Estudio de modelos y tcnicas a emplear.
Fase 3: Modelacin.
Fase 4: Implementacin de la herramienta.
Fase 5: Estudios de aplicacin resultados.

33
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Modelo Paralelo del Algoritmo 2TLE

Basado en el algoritmo 2T-LE secuencial  garantiza malla


refinada en paralelo sea conforme.
Esquema master-slave,
slaves realizan el refinamiento

34
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Modelo Paralelo del Algoritmo 2TLE


La flecha blanca seala la propagacin de un refinamiento secuencial.

35
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Modelo Paralelo del Algoritmo 2TLE


Esquema master-slave para refinar en paralelo:

36
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Anlisis de Conflictos (master)

Garantizar que todos los tringulos queden conformes


 master
analiza tipos de conflictos
detecta un tipo de conflicto  enva mensaje a slave
para que conforme en paralelo los tringulos

37
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Anlisis de Conflictos (master)


Conflicto single

38
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Anlisis de Conflictos (master)


Conflicto doble

39
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Anlisis de Conflictos (master)


Conflicto triple

40
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Anlisis de Conflictos (master)


Conflicto frontal

41
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Anlisis de Conflictos (master)

Conflicto mixto

combinacin de uno o ms de los tipos de conflictos


descritos anteriormente, generando nuevos conflictos
cuya solucin es tambin la combinacin de las
soluciones de los conflictos involucrados

42
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Etapas de Sincronizacin (master)

43
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Ambiente experimental

cluster, con n procesadores, con soporte paralelo a travs de


la librera MPI.
Para validar la implementacin estudiar los algoritmos
secuencial y paralelo con mallas de diferentes tamaos en
cuanto a tringulos que componen una malla, como a
tringulos marcados para ser refinados.
Las mallas de prueba particionarlas en 2, 4, 8, 16 .
particiones balanceadas para refinarlas en paralelo con la
misma cantidad de slaves, respectivamente.

44
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Resultados con Algoritmo 2T-LE Secuencial

Tringulos

Vrtices

Malla
M1_40K

Iniciales

Refinar

Finales

Iniciales

Finales

10%

40.161

4.038

48.555

20.400

24.600

1496,8

20%

40.161

8.020

55.369

20.400

28.008

4389,2

30%

40.161

12.050

61.728

20.400

31.189

8829,3

Ts, [ms]

45
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Resultados con Algoritmo Paralelo 2TLE

Tp [ms] Malla Mi_10K


10%

t*

20%

30%

40%

M1

M2

M3

M4

M5

M1

M2

M3

M4

M5

M1

M2

M3

M4

M5

M1

M2

M4

1,4

0,82

1,41

0,88

1,45

2,04

2,37

2,73

2,43

2,58

4,36

4,09

2,83

2,68

2,79

4,73

4,87

3,41

0,9

0,86

0,84

0,64

0,69

1,50

2,87

1,43

1,67

1,63

2,22

3,41

2,06

1,89

1,96

3,01

4,59

2,36

0,5

0,33

0,57

0,38

0,56

1,17

1,04

0,93

0,86

1,54

1,72

1,30

0,43

1,28

1,58

2,25

2,12

2,14

16

0,4

0,25

0,32

0,23

0,25

0,57

0,50

0,43

0,53

0,80

0,96

0,75

0,81

0,82

1,06

1,46

0,86

0,9

46
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Resultados con Algoritmo Paralelo 2TLE


Tp [ms] Mi_20K
t*

10%

20%

30%

M1

M2

M1

M2

M1

M2

2,51

2,26

4,72

4,57

7,40

5,62

2,21

1,27

2,94

3,32

5,05

5,29

1,52

1,04

2,71

1,80

3,28

2,56

16

1,02

0,48

1,21

0,83

1,87

1,02

Tp [ms] Mi_40K
10%

t*

20%

30%

M1

M2

M1

M2

M1

M2

5,52

7,72

14,9

15,6

24,7

24,0

4,53

5,14

6,79

9,75

10,0

11,9

2,89

2,68

6,01

5,07

7,92

8,51

16

1,68

1,78

3,01

3,67

4,74

5,10

Universidad Tecnolgica Metropolitana - Departamento de Informtica

Resultados con Algoritmo Paralelo 2TLE


t*=2000, Tp[ms]
Mi_10K_20%

Mi_20K_10%

M1

M2

M1

M2

2,04

2,37

2,51

2,26

1,50

2,87

2,21

1,27

1,17

1,04

1,52

1,04

16

0,57

0,50

1,02

0,48

t* = 4000, Tp[ms]
Mi_10K_40%

Mi_20K_20%

Mi_40K_10%

M1

M2

M4

M1

M2

M1

M2

4,73

4,87

3,41

4,72

4,57

5,52

7,72

3,01

4,59

2,36

2,94

3,32

4,53

5,14

2,25

2,12

2,14

2,71

1,80

2,89

2,68

16

1,46

0,86

0,9

1,21

0.83

1,68

1,78

Universidad Tecnolgica Metropolitana - Departamento de Informtica

Resultados con Algoritmo Paralelo 2TLE

Se observa la diferencia de las curvas entre las mallas, debido a la cantidad de


tringulos marcados para refinar, confirmando que la complejidad computacional
est en los tringulos a refinar, y no en el tamao de la malla.
49

Universidad Tecnolgica Metropolitana - Departamento de Informtica

Resultados con Algoritmo Paralelo 2TLE

al aumentar el nmero de particiones los tiempos de ejecucin disminuyen.


en la medida que aumenta la cantidad de particiones (cada vez ms pequeas), y
aumenta el tamao del problema, los tiempos tienden a acercarse, aprovechando mejor
el paralelismo.
50
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Se verifica que los tiempos de refinamiento se reducen en la


medida que se utilizan mas procesadores:
1. Aumento las particiones  menor tamao
2. Propagacin de un refinamiento se corta al encontrar una
interfaz  particiones son de menor tamao
Mallas con mayor cantidad de particiones  reduccin del
tiempo de refinamiento
Tamao de la malla influye linealmente en el tiempo de
computacin O(ni /p)  peso de la computacin est
directamente relacionado con la cantidad de tringulos a
refinar, segn la complejidad O((nr /p)2)
51
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Resultados obtenidos se concluye:


 tiempo de procesamiento depende fuertemente de la
cantidad de tringulos a refinar por particin
 no depende del tamao de la malla
Tiempo total paralelo tiempo del refinamiento paralelo
 etapa de conformidad paralela (< 1% del refinamiento)

52
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Paralelizacin del algoritmo 2TLE refina las mallas 


menor cantidad de tiempo que el algoritmo secuencial,
mostrando una aceleracin superlineal
En la medida que se particiona ms una malla
 particiones son cada vez mas pequeas
 al ser ms pequeas, contienen menos tringulos a ser
refinados en cada particin
 resulta en un menor tiempo de computacin

53
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Menores tiempos paralelos de computacin


 no se deben slo a los menores tamaos de las
particiones,
 se confirma la hiptesis de que la propagacin de los
refinamientos se corta al encontrar una interfaz.
Garantiza siempre que las mallas resultantes del refinamiento
son conformes.
Gracias a la forma en que se resuelven los conflictos en las
interfaces del problema
Conflictos solucionados producen una malla refinada diferente
a la malla refinada por el algoritmo secuencial  lo mismo
ocurrira si refinara en diferente orden los tringulos marcados.
54
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Cul es la relacin (si la hay) entre un balance equilibrado


de la carga, el nmero de tringulos en las interfaces y el
nmero de mensajes intercambiados?
Es posible ampliar la estructura de datos del modelo paralelo
al refinamiento de una malla 3D manteniendo los beneficios?
Permitir el uso del modelo ampliarlo hacia otros mtodos
de refinamiento?

55
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Bibliografa
[ChCh04] Chernikov, A.; Chrisochoides, N.; Practical and
Efficient Point Insertion Scheduling Method for
Parallel Guaranteed Quality Delaunay Refinement.
ICS04, June 26-July 1, 2004, Malo, France.
[Ch03]
Chrisochoides, N.; Chernikov, A.; Barker, K.;
Fedorov, A.; Kot, A.; Linardakis, L.; Nave, D.;
Verma, C. Parallel Mesh Generation Past, Present and
Future Directions. NSF: Career Award CCR-9876179,
RI #EIA-9972853, ITR #EIA-0085969 and NGS EIA0203974. 2003.
[ChN03] Chrisochoides, N. and Nave, D. Parallel Delaunay
Mesh Generation Kernel. Int. J. Numer. Meth. Engn.
58.161-176.2003.
56
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Bibliografa
[Chr05]

Chrisochoides, Nikos. A Survey of Parallel Mesh


Generation Methods. Meshing Research Corner. Abril,
2005.
[CS99]
De Cougny, H.I.; Shephard, M.; Parallel Unstructured
Grid Generation. CRC Handbook of Grid Generation,
(J. F. Thompson, B. K. Soni, and N. P. Weatherill,
eds.), CRC Pres Inc., Boca Raton, pp.24.1-24.18,
1999.
[Figue00] Figueroa, L.; Triangulaciones Delaunay y noDelaunay y particiones de tringulos en base al lado
ms largo. Tesis de Magster en Ciencia con mencin
en Computacin, U. de Chile, 2000.
57
Universidad Tecnolgica Metropolitana - Departamento de Informtica

Bibliografa
[LCh06] Linardakis, L., Chrisochoides, N. Delaunay decoupling
method for parallel guaranteed quality planar mesh
refinement. SIAM Journal on Scientific Computing. 27,
pp 1394-1423, 2006.
[Riv84] Rivara, M.C.; Algorithms for refining triangular grids
suitable for adaptive and multigrid techniques;
International Journal for Numerical Methods in
Engineering, vol. 20, pp. 745-756, 1984.
[Stel04] Stelling de Castro, Mara Clicia; Sistemas Paralelos;
Universidad do Estado do Rio de Janeiro, Centro de
Tecnologa e Cincias, Instituto de Matemtica e
Estadstica, Departamento de Informtica e Cincias da
Computao. 2004.
58
Universidad Tecnolgica Metropolitana - Departamento de Informtica

S-ar putea să vă placă și