Autooptimizacin en esquemas paralelos iterativos Autor Juan Pedro
- Slides: 59
Autooptimización en esquemas paralelos iterativos Autor: Juan Pedro Martínez Gallar Directores: Domingo Giménez Cánovas Universidad de Murcia Francisco Almeida Rodríguez Universidad La Laguna 1
ÍNDICE 1 - Introducción. Situación histórica. Objetivos. Motivación. Optimización. Autooptimización. El problema del mapeo. Metodologías: Tesis, Modelos. Esquemas iterativos, paralelos, homogéneos y heterogéneos. 2. - Autooptimización en sistemas homogéneos. 3. - Autooptimización en sistemas heterogéneos. 4. - Metaheurísticas en la autooptimización. 5. - Conclusiones y trabajos futuros. 2
INTRODUCCIÓN 3
Situación histórica. Objetivos. Motivación. Evolución de los sistemas informáticos Mayor complejidad Desarrollo de técnicas para garantizar uso eficiente de recursos Software diseñado, implementado y optimizado sobre sistemas concretos Necesidad de disponer de técnicas que aseguren el uso en sistemas para los que no se diseñaron originalmente sin intervención humana (autotuning): ATLAS, LFC, FFTW. . . Metodología para adaptación a sistemas homogéneos, heterogéneos 4
Situación histórica. Objetivos. Motivación. Objetivo Tesis: ”Adaptación automática del software iterativo paralelo en sistemas para los que no fue propuesto inicialmente” Objetivos Parciales: Desarrollo metodologías en sistemas homo y heterogéneos Uso de técnicas metaheurísticas en sist. heterogéneos Desarrollo metodología para otros esquemas computacionales Reutilización Mejora del ciclo vida del software 5
Optimización: necesario para lograr uso eficiente de recursos Optimización Código Uso del código Diseño Diferentes niveles de optimización: Código fuente Compilación Tº Ejecución. . . 6
Optimización uso de código Trabajo adicional usuario final, puede no experto a nuevos sistemas Desarrollar técnicas para lograr la adaptación del software a la arquitectura de destino para reducir tiempos de ejecución de forma automática Autooptimización Liberar al usuario final 7
Autooptimización Sistemas Homogéneos Mayor Complejidad Sistemas Heterogéneos Necesidad de lograr la optimización automática del software: autooptimización Posibilidades a) Reescribir el código b) Crear metodología adaptación Estudio e implementación de técnicas de autooptimización en esquemas paralelos iterativos: objetivo final Beneficio a) Evitar intervención humana b) Reducir costes tº y $ 8
Autooptimización Optimización basada en la modelización del tiempo de ejecución: t(s, AP, SP) s: Tamaño del problema AP: Parámetros algorítmicos (tamaño bloque, nº procesos, nº procesadores, procesos/procesadores. . . ) SP: Parámetros del sistema (dependen de la arquitectura y el tipo de sistema: homogéneo / heterogéneo) tc: tiempo de operación básica computación ts: tiempo de inicio de comunicaciones tw: tiempo de envío de un dato básico 9
El problema de Optimización Objetivo: min t(s, vap, SP) vap Є AP Asignación de procesadores a las necesidades software Técnicas: Grafos de precedencia Optimización analítica Árboles de asignación Estrategias heterogéneas (Ho. He, He. Ho) Metaheurísticas …… 10
El problema de Optimización Cuestiones relevantes: Particionado de datos Análisis de dependencias Asignación de recursos Equilibrado de carga Hipótesis: Construcc. sotfware Modelado tº ejecución Autooptimización Necesidad de establecer una metodología de trabajo 11
Metodología Tesis Etapas de la tesis Construir modelo tº ejecución algoritmos iterativos 12
Metodología Tesis Etapas de la tesis Construir modelo tº ejecución algoritmos iterativos Aplicaciones en esquemas paralelos iterativos 13
Metodología Tesis Etapas de la tesis Construir modelo tº ejecución algoritmos iterativos Aplicaciones en esquemas paralelos iterativos Desarrollo metodologías autoopt. sist. homogéneos 14
Metodología Tesis Etapas de la tesis Construir modelo tº ejecución algoritmos iterativos Aplicaciones en esquemas paralelos iterativos Desarrollo metodologías autoopt. sist. homogéneos Desarrollo metodologías autoopt. sist. heterogéneos 15
Metodología Tesis Etapas de la tesis Construir modelo tº ejecución algoritmos iterativos Aplicaciones en esquemas paralelos iterativos Desarrollo metodologías autoopt. sist. homogéneos Desarrollo metodologías autoopt. sist. heterogéneos Estrategias heterogéneas (Ho. He, He. Ho) 16
Metodología Tesis Etapas de la tesis Construir modelo tº ejecución algoritmos iterativos Aplicaciones en esquemas paralelos iterativos Desarrollo metodologías autoopt. sist. homogéneos Desarrollo metodologías autoopt. sist. heterogéneos Estrategias heterogéneas (Ho. He, He. Ho) Metaheurísticas 17
Metodología de autooptimización 18
Construcción modelo tº ejecución 19
Esquemas iterativos Esquema iterativos usados en multitud de problemas: Progr. Dinámica, Dinámica Dijkstra, genéticos, sist. ecuaciones. . . Ejecución de un conjunto de instrucciones de forma iterativa hasta la condición de fin Tipos Secuenciales Homogéneos Paralelos Heterogéneos Caso Prueba (Programación dinámica) Diferentes Esquemas Diferentes formas de calcular los datos: por filas, columnas, diagonales 20
Programación dinámica Por filas 21
Programación dinámica Por filas Por columnas 22
Programación dinámica Por filas Por columnas Por diagonales 23
Programación dinámica Usados como ejemplos: Problema monedas, monedas Mochila Definición N: cantidad a devolver n: número tipos de monedas vi: valor de la moneda de tipo i, vi>0 qi: cantidad de monedas de tipo i, qi>0 c[i, j]= mínimo número de monedas para devolver cantidad j usando hasta los i tipos de monedas Ecuación c[i, j] = min { c[i-1, j-k*vi]+k}, 1<=i<=n, 1<=j<=N, k=0, . . , j/vi Objetivo: c[n, N] 24
Programación dinámica FILAS Esquema Secuencial COLUMNAS for i=1 to numero_de_decisiones for j=1 to tamaño_problema obtener la solución óptima con i decisiones y tamaño de problema j endfor 25
Esquemas iterativos Esquema Paralelo (dependencia de datos) for i=1 to numero_de_decisiones En Paralelo: for j=1 to tamaño_problema obtener la solución óptima con i decisiones y tamaño de problema j endfor Comunicaciones entre procesos end. En. Paralelo endfor 26
AUTOOPTIMIZACIÓN EN SISTEMAS HOMOGÉNEOS 27
Autooptimización en sistemas homogéneos Homogéneos: características similares no exactamente iguales Relativa facilidad construir modelo tiempo ejecución Determinar número procesos (p) = procesadores (P) Pruebas realizadas sobre diferentes sistemas: SOLARIS/SUN (SUNEt) (Un. Murcia) Pen. FE (Un. Murcia) ORIGIN 2000 (Un. Polit. Cat. ) HPC 160 (Inter e intranodo) (Un. Polit. Cart. ) KIPLING TORC (Univ. Polit. Val. ) (Univ. Tennessee) HOMOGÉNEOS HETEROGÉNEOS 28
Autooptimización en sistemas homogéneos DEPENDENCIA DE DATOS (VERSIONES A y B) 29
Autooptimización en sistemas homogéneos Cociente de tiempos de ejecución entre versiones A y B en SUNEt Tamaño 10. 000 Tamaño 50. 000 Complejidad Número procesadores Tamaño 100. 000 Tamaño 500. 000 Complejidad Número procesadores 30
Autooptimización en sistemas homogéneos Modelo teórico: Ttotal = Tcomputación + Tcomunicación Coste secuencial: Coste computacional paralelo (qi grande): Coste comunicaciones: Proceso Pp-1 Parámetro de complejidad o granularidad para aumentar comput. Los SP son tc , ts y tw El único AP es p 31
Autooptimización en sistemas homogéneos Diferentes posibilidades estimar parámetros sistema Diferencias en speed-up de sistemas Utilidad autooptimización 32
Autooptimización en sistemas homogéneos Tiempos de comunicaciones en SUNEt (izq) y HPC 160 (der) Ratios de tiempos de comunicaciones en SUNEt (izq) y HPC 160 (der) 33
Autooptimización en sistemas homogéneos Comparativa entre el número de procesos con los que se obtiene mejor tiempo de ejecución El sistema debe decidir cómo ejecutar el algoritmo 34
Autooptimización en sistemas homogéneos Media de los speedups máximos variando tamaño y granularidad Speedup variando procesadores, granularidad y tamaño 35
Autooptimización en sistemas homogéneos Estimación de SP aritméticos: resolviendo un problema reducido Comparativa del número de procesadores seleccionados con diferentes métodos con respecto al tmb Estimación de SP de comunicac: • Ping-pong (CP 1) • Solución de problema reducido variando el número de procesadores (CP 2) • Solución de problema reducido variando el número de procesadores y el tamaño del problema (CP 3) 36
Autooptimización en sistemas homogéneos Cocientes entre tiempos de ejecución obtenido con los diferentes métodos con respecto al tmb 37
Autooptimización en sistemas homogéneos Comparación con usuarios: • Voraz (UV): usa todos los procesadores disponibles • Conservador (UC): usa la mitad de los procesadores disponibles • Experto (UE): usa un número de procesadores en función del tamaño del problema Cocientes entre tiempos de ejecución obtenido con los diferentes usuarios con respecto al tmb 38
Autooptimización en sistemas homogéneos Cocientes entre tiempos de ejecución obtenidos con los diferentes usuarios y métodos con respecto al tmb 39
AUTOOPTIMIZACIÓN EN SISTEMAS HETEROGÉNEOS 40
Autooptimización en sistemas heterogéneos Heterogéneos: agrupar elementos del sistema según características similares no exactamente iguales. Mayor dificultad construir modelo tiempo ejecución. Buscar parámetros algorítmicos / min tº ejec t(s, AP, SP) AP= d, p d=(d 0, d 1, . . . , d. P-1) SP= Más complejos Construir algoritmos heterogéneos Diferentes posibilidades Desarrollo métodos (exactos y/o aproximados de mapeo (asignar procesos a procesadores)) 41
Autooptimización en sistemas heterogéneos Distribución del trabajo y asignación de procesos a procesadores en un esquema de programación dinámica, en algoritmos heterogéneos (He. Ho) (a) y homogéneos(Ho. He) (b) 42
Autooptimización en sistemas heterogéneos Posibilidades de representación del árbol de asignación: 43
Autooptimización en sistemas heterogéneos Árbol de asignación con 2 tipos de procesadores y p procesos Necesidad de limitar la altura del mismo Cada nodo lleva asociada 3 cotas: EET, LET, GET. Uso de técnicas de búsqueda en árboles para optimizar el modelo de tº ejecución 44
Autooptimización en sistemas heterogéneos Desviación con respecto al tmb obtenido experimentalmente, de los tiempos obtenidos con diferentes métodos y usuarios en una combinación de TORC 1 17 P 4 + 1 Ath + 1 SPIII + 8 DPIII (a) y 1 Ath + 1 SPIII + 8 DPIII (b) a) b) 45
Autooptimización en sistemas heterogéneos Resultados de simulaciones diversas 46
METAHEURÍSTICAS EN LA AUTOOPIMIZACIÓN 47
Metaheurísticas en la autooptimización OBJETIVO FINAL min tº ejec Minimización analítica Minimización numérica Métodos exhaustivos Métodos aproximados Métodos heurísticos 48
Metaheurísticas en la autooptimización Esquema General de las Metaheurísticas Inicializar(S) while no se cumple Condicionde. Fin(S) do SS = Obtener. Subconjunto(S); if |SS|>1 then SS 1= Combinar(SS); else SS 1=SS; end SS 2 = Mejorar(SS 1); S = Incluir. Soluciones(SS 2) end 49
Metaheurísticas en la autooptimización Esquema de la tećnica de Búsqueda Dispersa (particularización) Crear. Conjunto. Inicial S; Generar. Conjunto. Referencia RS; while Convergencia no alcanzada do Seleccionar elementos a combinar; Combinar elementos seleccionados; Mejorar elementos combinados; Actualizar. Conjunto. Referencia RS con los elementos más prometedores y los más dispersos end 50
Metaheurísticas en la autooptimización Mapeo como un problema de optimización Representación y codificación soluciones: (do, d 1, . . . , d. P-1) di = nº procesos asignados al procesador i Gran cantidad de alternativas a la hora de instanciar el algoritmo: 51
Metaheurísticas en la autooptimización Comparación entre las posibilidades de opciones de selección e inclusión. Porcentaje en que mejora la búsqueda dispersa respecto al backtracking con poda Tiempos e iteraciones para diferentes métodos de selección e inclusión en el conjunto de referencia 52
Metaheurísticas en la autooptimización Simulaciones para comparar Búsqueda dispersa y backtracking con poda 53
Metaheurísticas en la autooptimización Pruebas en Kipling 54
Metaheurísticas en la autooptimización Relación entre tiempos de decisión y modelado en una simulación concreta 55
CONCLUSIONES Y TRABAJOS FUTUROS 56
Conclusiones y Trabajos Futuros Optimización Autooptimización Hipótesis investigación tº = f(s, AP, SP) + Búsqueda óptimo Métodos exactos (Búsqueda exhaustiva) Alternativas Métodos aproximados Métodos metaheurísticos 57
Conclusiones y Trabajos Futuros Resultados generales en sistemas homogéneos(a), heterogéneos (b) y con el uso de metaheurísticas(c) b) a) a) b) c) 58
Conclusiones y Trabajos Futuros Aportaciones Trabajos futuros Vec. Par 04. Sistemas homogéneos. Mejorar el modelado el tiempo de ejecución, sobre todo en sistemas heterogéneos Hetero. Par 04, Parallel Computing 04. Sistemas heterogéneos. Para 06, Maeb 07. Metaheurísticas. Aplicación en diferentes esquemas algorítmicos (divide & conquer, master - slave, backtracking. . . ) Metaheurísticas diversas (tabú, temple simulado, géneticos. . . Cluster 07. ICCS 08. Journal of Supercomping 09. Construcción de un entorno para la prueba y evaluación de metaheurísticas. 59
- Metodos iterativos
- Metodos iterativos
- "autor, a.a., & autor, b."
- Cita indirecta ejemplo
- Pedro y juan son arrestados
- Lo.que dice juan de pedro
- Juan pedro serrano
- Juan juan studio melina
- Que son los textos paralelos
- Paralelos
- Aga frba
- Globo terráqueo con paralelos y meridianos
- Vetores antiparalelos
- Linealmente independiente
- Figuras não polígonos
- Algoritmos paralelos
- Casca cilindrica
- Reta estritamente paralela ao plano
- Localización geográfica de los mexicas
- Cortes paralelos
- Escrita de sinais
- Produto vetorial propriedades
- No paralelos
- Metodologia pcam
- Principales paralelos y zonas climaticas
- Producto escalar de dos vectores
- Lenguajes paralelos
- Inércia exemplos
- Puertos seriales y paralelos
- Todos los paralelos
- Escs uma abelha comum
- Ondenote
- Principales paralelos
- Teorema dos eixos paralelos
- Espejo convexo
- Esquema de la revelacion de dios
- Colores contraste
- Concepto romanticismo
- Causas de la segunda guerra mundial
- Esquemas de sintaxis
- Colenquima
- Esquemas textuales
- Esquemas desde fuera del escritorio
- Esquemas motivados
- Que son los generos literarios
- Zona pelucida
- Morfologia vegetal
- Forum supermercado dueños
- Preguntas sugerentes
- Mision de la iglesia
- Esquemas
- Esquema de los textos expositivos
- Tabla de verdad disyuncion
- Generos literarios definicion de cada uno
- Esquemas motivados
- Esquemas novedosos
- Limitaciones humanas
- Insulina nph esquema
- Comutador de escada esquemas
- Esquemas de los generos literarios