Balance de Carga Adaptable bajo Cómputo Paralelo en Clusters Miguel A. Castro García Directores Jorge Buenabad Chávez (CINVESTAV) Graciela Román Alonso (UAMI)
Seminario de Doctorado 2003 Sección Computación Contenido Antecedentes Planteamiento del problema Objetivo Soluciones reportadas por otros autores Soluciones propuestas en la investigación Resultados Publicaciones Trabajo futuro y conclusiones 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Antecedentes (1) Demanda de cómputo Predicción del clima Evolución de galaxias 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Antecedentes (2) Cómputo paralelo 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Antecedentes (3) Taxonomía de Flynn SIMD (Single Instruction Multiple Data) Aplicaciones específicas Arreglos de procesadores específicos Una unidad de control Costo Alto MIMD (Multiple Instruction Multiple Data) Aplicaciones generales Hardware de comunicación específico Altamente Costosas Varias unidades de control Alguien se debe encargar de la asignación de carga 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Antecedentes (4) Arquitecturas MIMD Shared Memory Multiprocessor System Pentium “quad pack”, Cray T3E Message-Passing Multicomputer Intel Paragon, IBM SP-2 Distributed Shared Memory AP3000 Fujitsu Modelos de programación Memoria compartida Intercambio de mensajes 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Clusters Arquitectura Características Precio menor Componentes de propósito general Escalables 2 pacífico2 8 pacífico8 9 pacífico9 bus Linux 1 pacífico1 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Pregunta ¿Basta con tener un cluster para hacer cómputo paralelo? 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Problema de la Asignación de Carga aplicación divide N procesos M procesadores 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Problema de la Asignación de Carga Conjunto de datos de la aplicación divide N datos M procesadores 1 proceso por procesador 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Tipos de Asignación (1) Características de la aplicación Características de la arquitectura Ej. Suma de matrices Asignación Estática 1 1 1 2 2 2 4 4 4 6 6 6 + = 5 5 5 8 8 8 1 1 1 2 2 2 4 4 4 6 6 6 + = 5 5 5 8 8 8 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Tipos de Asignación (2) Uso del procesador de manera no determinista Cluster heterogéneo Multiusuario Asignación Dinámica 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Ejemplo de una aplicación paralela Se tiene un conjunto de datos Se dividen los datos equitativamente entre los nodos Repite { Hacer cálculos sobre los datos Se comunican todos en un punto } Pero…… La cantidad de datos aumenta o disminuye El tiempo de procesamiento de cada dato es diferente 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Balance de carga (1) Definición Redistribución de tareas balanceando la carga de los nodos para lograr un mejor rendimiento 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Balance de carga (2) Elemento de información Elemento de control tipo de elementos tipo de algoritmo global parcial centralizado distribuido 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Balance de carga (3) Métricas Frecuencia de colecta de información 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Balance de carga (4) Métricas Fronteras de carga F1 F F2 descargado sobrecargado % uso del procesador recibir carga transferir carga descargado carga normal sobrecargado % uso del procesador recibir carga transferir carga 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Balance de carga (5) Algoritmo adaptable Automático Tiempo de ejecución descargado carga normal sobre cargado F1 F1 F2 descargado carga normal sobrecargado % uso del procesador 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Parámetros Frecuencia de colecta de información Fronteras de carga 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Objetivo Desarrollo de un servicio de balance de datos adaptable en clusters para aplicaciones irregulares: Adaptive Load Balancing Service (ALBS) 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Soluciones reportadas por otros autores Herramientas que hacen balance Nivel Tipo de carga Tipo de algoritmo Info Control Adaptable Prog. Paralela MOSIX S.O procesos parcial distribuido √ X PVM aplicación centralizado MPI ATHAPASCAN hilos global ZOLTAN datos varios POOGAL 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Propuesta (1) Creación de un mecanismo de balance de datos de fácil uso para aplicaciones irregulares Se tiene un conjunto de datos Se dividen los datos equitativamente entre los nodos Repite { Hacer cálculos sobre los datos Se comunican todos en un punto BALANCEAR DATOS() } 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Propuesta de Interfaz entre el balance y la aplicación dinámica (2) Se tiene un conjunto de datos Se dividen los datos equitativamente entre los nodos Repite { Hacer cálculos sobre los datos Enviar conjunto de datos a balancear(mínimo-máximo) Se comunican todos en un punto Recibir conjunto de datos balanceados() } 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Propuesta del mecanismo de balance Aplicación Distribuidor Contabilizador Administrador Estado de carga local Nodo descargado Datos Nodo A Nodo B Estados de carga remota 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Plataforma de comparación MPI Balance de procesos Athapascan Balance de hilos Sincronización ALBS (Adaptive Load Balancing Service) Balance datos 1 proceso por procesador Paso de Mensajes 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Resultados (1) Algoritmo evolutivo paralelo 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Resultados (2) Algoritmo evolutivo paralelo 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Publicaciones Servicio de balance de carga, LAFMI, Primera Escuela Franco-Mexicana de Sistemas Distribuidos, Jalapa Ver. (2002) Integration of a Load Balancing Mechanism into a Parallel Evolutionary Algorithm(ISSADS 2004), Guadalajara Jal. (consideración) Load Balancing for Image Processing Applications (PDCS 2004), San Francisco Cal.(proceso) 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
¿Qué esta hecho y qué hace falta? Estudio y Evaluación de las herramientas Zoltan, Athapascan, etc. así como el tipo de aplicaciones que se ejecutan en estas Diseño del servicio de asignación y balance de carga Construcción del servicio Construcción del ambiente de comparación Evaluación del desempeño del servicio Elaboración de reportes y escritura de la Tesis Revisión y Corrección de Tesis 1 Cuat. 2003 2 Cuat. 2003 3 Cuat. 2003 1 Cuat. 2004 2 Cuat. 2004 3 Cuat. 2004 1 Cuat. 2005 1, 2 2, 3 3, 4 4, 5 5, 6 5, 6, 7 6, 7 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación
Seminario de Doctorado 2003 Sección Computación Conclusiones Se presentó una propuesta de balance de datos para aplicaciones irregulares Es conveniente tener un servicio adaptable de balance de carga El servicio se puede extender a otro tipo de aplicaciones Se consideró una plataforma de comparación en base a balance de procesos, hilos y datos para aplicaciones irregulares 22/02/2019 07:24 p.m. Seminario de Doctorado 2003 Sección Computación