departamento de inform atica y sistemas grupo de computaci

31
Aplicaciones cient´ ıficas de la computaci´on paralela Departamento de Inform´ atica y Sistemas Grupo de Computaci´ on Cient´ ıfica y Programaci´ on Paralela http://luna.inf.um.es/grupo investigacion Programaci´ on Paralela y Computaci´ on de Altas Prestaciones Aplicaciones cient´ ıficas de la computaci´on paralela Prog. Paralela y Computaci´on de Altas Prestaciones 1 / 30

Upload: others

Post on 23-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Departamento de Inform atica y Sistemas Grupo de Computaci

Aplicaciones cientıficas de la computacion paralela

Departamento de Informatica y SistemasGrupo de Computacion Cientıfica y Programacion Paralela

http://luna.inf.um.es/grupo investigacion

Programacion Paralela y Computacion de Altas Prestaciones

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 1 / 30

Page 2: Departamento de Inform atica y Sistemas Grupo de Computaci

Temas a tratar

1 Computacion cientıfica y aplicaciones

2 Aplicaciones en el grupo CCPP

3 Analisis de sedimentos

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 2 / 30

Page 3: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Temas a tratar

1 Computacion cientıfica y aplicaciones

2 Aplicaciones en el grupo CCPP

3 Analisis de sedimentos

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 3 / 30

Page 4: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Computacion Cientıfica

Integracion de modelos con tecnicas computacionales para solucion deproblemas complejos,con grandes volumenes de datos (big data) y/o necesidades decomputacion (High Performance Computing)

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 4 / 30

Page 5: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Aplicaciones

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 5 / 30

Page 6: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

... y tambien

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 6 / 30

Page 7: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Evolucion de aplicaciones en TOP500

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 7 / 30

Page 8: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Tipos de problemas

De gran desafıoAlto coste computacional θ (an)problemas NP, optimizacion combinatoria...

De gran dimensionCoste moderado θ

(n3), θ(n4)...

pero gran dimension, por ejemplo n = 1.000.000 (8 Teras)

De tiempo realCoste bajo pero necesidad de respuesta inmediatajuegos, control, atencion medica...

Clima Bio Diseno Simul Juego Imagen recetasG. Desafıo X X X

G. Dimension X X X X XTiempo Real X X X X X X

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 8 / 30

Page 9: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Problemas de Gran Desafıo

Alto coste computacional θ (an)Clima Bio Diseno Simul Juego Imagen recetas

G. Desafıo X X XG. Dimension X X X X XTiempo Real X X X X X X

Problemas NP, optimizacion combinatoria:Planificacion, Logıstica,Asignacion de recursos,Estudio de eficiencia de organizacionesBiologıa, Medicina:Busquedas en DNA,Diseno de farmacosDisenoCuando se trata de determinar componentes (ejemplos, filtros desenal, diseno de puentes con restricciones...)Recetas?si varios componentes e intentar combinarlos para satisfacer distintasrestricciones y maximizando algunos aspectos

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 9 / 30

Page 10: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Problemas de Gran Dimension

Coste moderado (θ (np)) pero gran tamanoClima Bio Diseno Simul Juego Imagen recetas

G. Desafıo X X XG. Dimension X X X X XTiempo Real X X X X X X

En algunos casos los problemas de memoria son mayores que los de computacion

Clima:

Simulaciones con mallado muy fino

Tiempo cuadratico (superficie) o cubico (espacio) que aumenta de orden con laevolucion temporal

Bioinformatica:

Problemas de busqueda en cadenas, con bases de datos muy grandes

Diseno y Simulacion:

Puede necesitarse mallado muy fino

El coste aumenta por el numero de simulaciones a realizar

Imagen:

Generacion de imagenes para pelıculas,

muchas imagenes y gran precision

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 10 / 30

Page 11: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Problemas de Tiempo Real

Requieren respuesta en un plazo de tiempo “corto”Clima Bio Diseno Simul Juego Imagen recetas

G. Desafıo X X XG. Dimension X X X X XTiempo Real X X X X X X

Clima:

Si la prediccion es para el dıa siguiente

Medicina:

Asistencia inmediata

Simulacion:

Si se realiza para controlar un sistema, expansion de un incendio...

Juego e Imagen:

Generacion de 24 imagenes por segundo

Recetas:

Si se proporcionan los requerimientos o datos personales en el mismomomento

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 11 / 30

Page 12: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Librerıas

Pero seguramente habra disponible para el problema con el que estamostrabajando librerıas paralelas optimizadas:

Algebra lineal densa: BLAS, LAPACK, MAGMA, PLASMA,ScaLAPACK, CUBLAS, CULA, ATLAS, GotoBLAS, MKL.

Algebra lineal dispersa: ARPACK, SPARSE, SPARSE-BLAS,ITPACK, SVDPACK, SuperLU, Trilinos, PETSc.

Optimizacion: HeO, ParadisEO, MALLBA, GitHub.

Transformada de Fourier: FFTPACK, P3DFFT, FFTW.

Cientıficas: MOOSE, COOLFluid, OpenFVM, PyClaw, PetIGA,ROMS...

Informacion de librerıas enhttp://www.netlib.org/liblist.html

http://www.netlib.org/utk/people/JackDongarra/la-sw.html

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 12 / 30

Page 13: Departamento de Inform atica y Sistemas Grupo de Computaci

Computacion cientıfica y aplicaciones

Librerıas - Ventajas

Facilitan el desarrollo de software

El software obtenido es portable

y su eficiencia se basa en la implementacion eficiente de las rutinasbasicas.

Multiplicacion de matices 1000× 1000 en sistema con 12 nucleos, tiempo en segundos

nucleos: 1 2 4 8 12BLAS 1 11.15 10.66 10.64 10.63 10.63BLAS 2 0.61 0.30 0.17 0.099 0.11BLAS 3 0.14 0.072 0.044 0.030 0.055

de 0.25 Gflops, con uso de librerıa 20 Gflops, con paralelismo implıcito a 100 Gflops

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 13 / 30

Page 14: Departamento de Inform atica y Sistemas Grupo de Computaci

Aplicaciones en el grupo CCPP

Temas a tratar

1 Computacion cientıfica y aplicaciones

2 Aplicaciones en el grupo CCPP

3 Analisis de sedimentos

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 14 / 30

Page 15: Departamento de Inform atica y Sistemas Grupo de Computaci

Aplicaciones en el grupo CCPP

Miembro del grupo CCPP

Grupo de Computacion Cientıfica y Programacion Paralela(http://luna.inf.um.es/grupo investigacion)

Javier Cuenca (DITEC), investigador principal. Optimizacion de rutinas de algebra lineal yaplicaciones en medicina.

Jose Matıas Cutillas (asesor de computacion). Optimizacion de rutinas metaheurısticas yaplicaciones.

Luis Pedro Garcıa (UPCT). Optimizacion de rutinas de algebra lineal y sistemas paralelos.

Domingo Gimenez (DIS). Rutinas de algebra lineal y metaheurısticas y aplicaciones.

Jose Juan Lopez Espın (UMH, modelos econometricos y aplicaciones en medicina)

Colaboraciones y estudiantes:

Gregorio Bernabe (DITEC, tratamiento de imagenes medicas)

Murilo do Carmo Boratto (UNAB, aplicaciones en sistemas multicore+multiGPU)

Jesus Camara (Tesis, optimizacion de rutinas de algebra lineal en sistemas hıbridos)

Jose Carlos Cano (TFM, optimizacion de algoritmos paralelos para analisis cinematico desistemas multicuerpo basado en ecuaciones de grupo)

Francisco Jose Herrera (TFG, optimizacion de rutinas de algebra lineal enmultinucleo+multiGPU)

Baldomero Imbernon (Tesis, UCAM, paralelismo en problemas de docking)

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 15 / 30

Page 16: Departamento de Inform atica y Sistemas Grupo de Computaci

Aplicaciones en el grupo CCPP

Un ejemplo - Tesis de Murilo

Modelos Paralelos para la Resolucion de

Problemas de Ingenierıa Agrıcola, tesis de

Murilo do Carmo Boratto, en la UPV

Tres problemas en la zona del Rio Sao

Francisco, en Brasil

Representacion del relieve

0 1000

2000 3000

4000 5000 0

1000

2000

3000

4000

5000

0

200

400

600

800

1000

1200

z

x

y

z

Interpolacion de variables meteorologicas

Modelado de corrientes de rıos

Modelos

Mınimos cuadrados

Representacion matricial

Ecuaciones diferenciales

Metodos

Algoritmos matriciales

Computacion eficiente en sistemas

heterogeneos multicore+multiGPU

Tecnicas de autooptimizacion de

softwareAplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 16 / 30

Page 17: Departamento de Inform atica y Sistemas Grupo de Computaci

Aplicaciones en el grupo CCPP

Un ejemplo - Analisis envolvente de datos (DEA), UMH

Analisis de eficiencia de varias unidades de decision (DMU)

Cada unidad k varias entradas x y salidas y

Problema de optimizacion para cada unidad

Disponibles metodos exactos, tipo Branch and Bound, y librerıas(CPLEX)

alto coste de ejecucion

necesidad de paralelismo y metodos aproximados (metaheurısticas)

y operaciones matriciales en la evaluacion de las restricciones ycalculo del fitness

Posibilidad de metodos hıbridos: exactos con metaheurısticas

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 17 / 30

Page 18: Departamento de Inform atica y Sistemas Grupo de Computaci

Aplicaciones en el grupo CCPP

Un ejemplo - DEA - Problema de Programacion Lineal

max βk − 1m

∑mi=1

t−ikxik

s.t.

βk + 1s

∑sr=1

t+rk

yrk= 1 (c .1)

−βkxik +∑n

j=1 αjkxij + t−ik = 0 ∀i (c .2)

−βkyrk +∑n

j=1 αjkyrj − t+rk = 0 ∀r (c .3)

−∑m

i=1 νikxij +∑s

r=1 µrkyrj + djk = 0 ∀j (c .4)νik ≥ 1 ∀i (c .5)µrk ≥ 1 ∀r (c .6)

djk ≤ Mbjk ∀j (c .7)αjk ≤ M(1− bjk) ∀j (c .8)

bjk = 0, 1 ∀j (c .9)βk ≥ 0 (c .10)t−ik ≥ 0 ∀i (c .11)t+rk ≥ 0 ∀r (c .12)djk ≥ 0 ∀j (c .13)αjk ≥ 0 ∀j (c .14)

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 18 / 30

Page 19: Departamento de Inform atica y Sistemas Grupo de Computaci

Aplicaciones en el grupo CCPP

Un ejemplo - Metaheurısticas parametrizadas (Tesis JoseMatıas)

El Esquema

Inicializar(S ,ParamIni)mientras (no CondicionDeFin(S ,ParamFin))

SS = Seleccionar(S ,ParamSel)SS1 = Combinar(SS ,ParamCom)SS2 = Mejorar(SS1,ParamMej)S = Incluir(SS2,ParamInc)

Descripcions Facil seleccion de diferentesmetaheurısticas o combinacionescambiando los parametros ParamX .s Adaptacion sencilla de metaheurısticas aproblemas especıficos.sMismo esquema aplicable ahiperheurısticas.

Se puede...

Paralelizar el esquema introduciendo parametros de paralelismo para:s Fijar el numero de hilos de ejecucion (HilosIni, HilosCom, HilosMej, HilosInc) paracada rutina en memoria compartida.s Y el numero de procesos total, el volumen de intercambio de informacion entreellos y su frecuencia (p, NEMPar, NGMPar) en paso de mensajes.

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 19 / 30

Page 20: Departamento de Inform atica y Sistemas Grupo de Computaci

Aplicaciones en el grupo CCPP

Un ejemplo - Metaheurısticas parametrizadas (Tesis JoseMatıas)

El Esquema

Inicializar(S ,ParamIni)mientras (no CondicionDeFin(S ,ParamFin))

SS = Seleccionar(S ,ParamSel)SS1 = Combinar(SS ,ParamCom)SS2 = Mejorar(SS1,ParamMej)S = Incluir(SS2,ParamInc)

Descripcions Facil seleccion de diferentesmetaheurısticas o combinacionescambiando los parametros ParamX .s Adaptacion sencilla de metaheurısticas aproblemas especıficos.sMismo esquema aplicable ahiperheurısticas.

Se puede...

Paralelizar el esquema introduciendo parametros de paralelismo para:s Fijar el numero de hilos de ejecucion (HilosIni, HilosCom, HilosMej, HilosInc) paracada rutina en memoria compartida.s Y el numero de procesos total, el volumen de intercambio de informacion entreellos y su frecuencia (p, NEMPar, NGMPar) en paso de mensajes.

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 19 / 30

Page 21: Departamento de Inform atica y Sistemas Grupo de Computaci

Aplicaciones en el grupo CCPP

Aplicaciones

Numerico Optimizacion

Simulacion climaticaHidrodinamicaElectromagnetismoRepresentacion del terrenoTratamiento de senal acusticaTratamiento de imagenesdocking de moleculasEconometrıaAnalisis envolvente de datosConstantes cineticasConsumo electricidad

Analisis de sedimentos

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 20 / 30

Page 22: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Temas a tratar

1 Computacion cientıfica y aplicaciones

2 Aplicaciones en el grupo CCPP

3 Analisis de sedimentos

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 21 / 30

Page 23: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Problema de determinacion de componentes

Problema del Grupo de Polımeros del Departamento deQuımica-Fısica de la Universidad de Murcia.http://leonardo.inf.um.es/macromol/

Analisis de sedimentacion de una solucion compuesta,a partir de planteamiento deJose Garcıa de la Torre. Analysis of Sedimentation experiments, 2014.

Determinar la concentracion de cada componente en el compuesto.Cada componente dado por su masa, Mk , y coeficiente de friccion, fk .

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 22 / 30

Page 24: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Experimento

Se centrifuga el compuesto. Medidas en distintos instantes de tiempo,tj , 1 ≤ j ≤ nt , de una senal optica en posiciones con distancias ri ,1 ≤ i ≤ nr .

La senal es funcion de la posicion y del tiempo: z(r , t).

En instante inicial, con la solucion en reposo, la senal tiene el mismovalor z0 en todas las posiciones r , z(r , 0) = z0.

Solucion con nk componentes, cuya contribucion a la senal es zk , con1 ≤ k ≤ nk .

La senal z es aditiva en los componentes: z =∑nk

k=1 zk .

Cada zk es de la posicion r y el tiempo t.

Para cada componente tenemos el peso molecular, Mk , y elcoeficiente de friccion, fk

y queremos obtener la concentracion del componente en la solucion,yk .

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 23 / 30

Page 25: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Determinacion de la senal

Se realizan varios experimentos, 1 ≤ l ≤ nexpque dependen de parametros experimentales, el , y entre los que estala velocidad de rotacion, ωl .

La senal de un experimento para una posicion y un tiempodeterminado es zexp,l (ri , tj ; el), o simplificando zexp,l (ri , tj),

y se obtiene de forma aditiva a partir de las senales de loscomponentes:

zexp,l (ri , tj ; el) =

nk∑k=1

zk (ri , tj ;Mk , fk , yk ; el)

y como la contribucion a la senal de cada componente es lineal:

zexp,l (ri , tj ; el) =

nk∑k=1

(yk · zk (ri , tj ;Mk , fk ; el))

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 24 / 30

Page 26: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Simulacion

Se dispone de procedimientos teoricos con los que estimar los valoresde senal para cada experimento, en cada momento de tiempo y encada posicion, zcal ,l (ri , tj ; el).

Obtener los valores de yk con los que la diferencia entre los zexp,l yzcal ,l se minimicen. Problema de mınimos cuadrados:

42(p) =1

nexp

1

nr

1

nt

nexp∑l=1

nr∑i=1

nt∑j=1

(zexp,l (ri , tj ; el)−

nk∑k=1

yk · zk,cal,l (ri , tj ; el)

)2

Sin conocer los zcal ni los zexp, podemos estudiar metodos dedeterminacion de los yk suponiendo valores de zcal ,l determinados yvalores de yk , se generan con ellos los zexp,l que se obtendrıan, seperturban, y se aplica el metodo de resolucion del problema demınimos cuadrados para determinar cuanto de lejos esta la solucionobtenida con la utilizada en la generacion de los datos experimentales.

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 25 / 30

Page 27: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Malla de valores

Se considera una distribucion uniforme de los parametros pesomolecular y coeficiente de friccion.Los M en rango [Mmin,Mmax ], y los de f en [fmin, fmax ].Se discretizan con nM y nf valores:

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 26 / 30

Page 28: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Parametros del problema

Tıpicamente datos de entre 1 y 5 experimentos,

alrededor de 200 posiciones

y 200 instantes de tiempo.

Numero de ecuaciones entre 4 · 104 y 2 · 105.

Si se toman 20 valores de peso molecular y otros 20 para elcoeficiente de friccion, el numero de incognitas es 200.

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 27 / 30

Page 29: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Refinamiento de la malla

Se puede resolver con esos valores y descartar combinaciones conaportaciones al compuesto muy bajas (valores de yk por debajo de unumbral)y resolver nuevos problemas definiendo mallas mas finas en zonas delmallado donde la aportacion sea mayor:

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 28 / 30

Page 30: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Aproximacion metaheurıstica

Se buscan valores de yk para el problema de mınimos cuadrados.

Se generan individuos (valores de los yk con∑k

i=1 yk = 1

la funcion de fitness es la diferencia entre los zexp y los zcal

y se utilizan tecnicas de combinacion y mejora de elementos para irmejorando el conjunto de individuos:Algoritmos Geneticos, Scatter Search, Ascension de colinas, Coloniade hormigas...

Implementacion de metaheurısticas paralelas y/o utilizacion delibrerıas paralelas de optimizacion

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 29 / 30

Page 31: Departamento de Inform atica y Sistemas Grupo de Computaci

Analisis de sedimentos

Solucion numerica

Se forma la matriz A obtenida con la aplicacion de la ecuacion paralos n = nexp · nr · nt experimentos, posiciones en la celda que rota einstantes de tiempo.

El numero de incognitas es m = nM · nf .

Tenemos A ∈ Rn×m,

y se plantea el problema a optimizar miny ||Ay − b||, con b es elvector de senales obtenidas experimentalmente.

El problema tenemos la restriccion de que0 ≤ yk ≤ 1,∀k / 1 ≤ k ≤ nk , y

∑nkk=1 yk = 1.

Es un problema de mınimos cuadrados no negativos, o NNLS(Non-Negative Least Squares), con variables acotadas y con unarestriccion lineal.

En Matlab esta la rutina lsqlin.

Realizacion de rutinas paralelas y/o busqueda de librerıas paralelas

Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 30 / 30