departamento de inform atica y sistemas grupo de computaci
TRANSCRIPT
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
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
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
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
Computacion cientıfica y aplicaciones
Aplicaciones
Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 5 / 30
Computacion cientıfica y aplicaciones
... y tambien
Aplicaciones cientıficas de la computacion paralela Prog. Paralela y Computacion de Altas Prestaciones 6 / 30
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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