Algoritmos Evolutivos Multiobjetivo Para Despacho De Tareas En Redes Heterogéneas
Total Page:16
File Type:pdf, Size:1020Kb
Instituto de Computación – Facultad de Ingeniería Universidad de la República Montevideo, Uruguay Proyecto de Grado Algoritmos evolutivos multiobjetivo para despacho de tareas en redes heterogéneas Darío De León 2008 Supervisor: Sergio Nesmachnow Contenido Capítulo 1. Introducción....................................................................................7 Capítulo 2. Computación heterogénea...............................................................9 2.1 Conceptos de computación heterogénea..................................................9 2.1.1 Ventajas de los sistemas heterogéneos.............................................11 2.1.2 Tipos de sistemas heterogéneos ........................................................13 2.1.3 Perfiles de tareas ...............................................................................13 2.1.4 Técnicas de predicción......................................................................15 2.1.5 Mapeo................................................................................................16 2.1.6 Entornos de programación ................................................................18 2.1.7 Evaluación de desempeño .................................................................19 2.1.8 Algunas medidas de performance .....................................................20 2.1.9 Algunas heurísticas propuestas .........................................................23 2.2 Aplicaciones de la computación heterogénea........................................28 2.2.1 Berkeley Open Infrastructure for Network Computing (BOINC) ....28 2.2.2 World Community Grid (WCG) .......................................................31 2.3 Modelo ETC ..........................................................................................32 2.4 Trabajos relacionados............................................................................33 2.4.1 Estimating the Execution Time Distribution for a Task Graph in a Heterogeneous Computing System.................................................................33 2.4.2 A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems .....34 2.4.3 The Relative Performance of Various Algorithms is Independent of Sizable Variances in Run-time Predictions.....................................................36 2.4.4 A Taxonomy for describing Matching and Scheduling Heuristics for Mixed-Machine Heterogeneous Computing Systems.....................................36 2.4.5 Efficient Batch Job Scheduling in Grids using Cellular Memetic Algorithms ......................................................................................................37 2.5 Conclusiones..........................................................................................38 Capítulo 3. Computación evolutiva.................................................................39 3.1 Técnicas de computación evolutiva.......................................................39 3.2 Algoritmos genéticos.............................................................................41 3.2.1 Representación de soluciones............................................................42 3.2.2 Función de fitness .............................................................................42 3.2.3 Operadores evolutivos.......................................................................43 3.3 Modelos de evolución............................................................................44 3.3.1 Modelo de estado estacionario ..........................................................44 3.3.2 Otros modelos de evolución..............................................................45 3.4 Algoritmos evolutivos multiobjetivos ...................................................46 3.4.1 Problemas de optimización multiobjetivo.........................................46 3.4.2 AE para optimización multiobjetivo (MOEA)..................................47 • Non Pareto based MOEAs ................................................................48 • Pareto based MOEAs ........................................................................48 3.4.3 MOEAs de primera generación.........................................................49 • VEGA - Vector Evaluated Genetic Algorithms................................49 • NSGA - Non-dominated Sorting Genetic Algorithm........................49 • NPGA - Niched Pareto Genetic Algorithm.......................................50 • MOGA - MultiObjective Genetic Algorithm....................................51 3.4.4 MOEAs de segunda generación ........................................................52 • SPEA - Strength Pareto Evolutionary Algorithm..............................52 • SPEA-2..............................................................................................53 • PAES - Pareto Archived Evolution Strategy.....................................54 3 4 CONTENIDO • NSGA-II............................................................................................55 • NPGA-2.............................................................................................56 • MICRO GA.......................................................................................57 3.4.5 Métricas de evaluación de MOEAs...................................................57 • Número de Puntos no Dominados.....................................................58 • Tasa de Error.....................................................................................58 • Distancia Generacional .....................................................................58 • Spacing..............................................................................................58 • Spread................................................................................................59 3.5 Algoritmos evolutivos paralelos............................................................59 3.5.1 Modelo maestro-esclavo ...................................................................60 3.5.2 Modelo de subpoblaciones distribuidas ............................................61 3.5.3 Modelo celular ..................................................................................62 Capítulo 4. MOEAs para planificación en entornos HC .................................65 4.1 Descripción del problema......................................................................65 4.2 Trabajo previo. Despacho de tareas en redes heterogéneas: enfoque multiobjetivo.......................................................................................................67 4.3 Diseño del algoritmo .............................................................................68 4.3.1 Codificación ......................................................................................69 4.3.2 Inicialización de la población............................................................69 4.3.3 Selección ...........................................................................................70 4.3.4 Cruzamiento ......................................................................................70 4.3.5 Migración ..........................................................................................71 4.3.6 Mutación ...........................................................................................71 4.4 Frameworks utilizados...........................................................................72 4.4.1 MOE Framework ..............................................................................73 4.4.2 JMetal................................................................................................76 4.4.3 Sparrow .............................................................................................78 4.5 Detalles de la implementación...............................................................80 4.5.1 NSGAII .............................................................................................80 4.5.2 SPEA-2..............................................................................................81 Capítulo 5. Evaluación experimental...............................................................85 5.1 Casos de prueba.....................................................................................85 5.2 Plataforma computacional .....................................................................85 5.3 Parámetros de Ejecución .......................................................................86 5.4 Análisis de resultados experimentales...................................................86 5.5 Evolución de los frentes de Pareto ........................................................88 5.6 Frentes de Pareto obtenidos...................................................................92 5.7 Análisis de métricas de calidad .............................................................95 5.8 Análisis de la eficiencia computacional ................................................95 Capítulo 6. Conclusiones y trabajo futuro .......................................................99 Lista de Algoritmos Algoritmo 1 – Algoritmo Evolutivo Genérico........................................................40 Algoritmo 2 – Esquema de un Algoritmo Genético................................................41 Algoritmo 3 – Esquema de un MOEA....................................................................47 Algoritmo 4 – Esquema del NSGA.........................................................................50 Algoritmo 5 – Esquema de NPGA..........................................................................51