Tesis Doctorado
Balance de carga dinámico para objetos activos móviles en grillas de computadores
Autor
Bustos-Jiménez, Javier Alejandro
Institución
Resumen
Esta tesis apunta a entregar las bases para el desarrollo de los algoritmos de balance de carga para el
modelo de objetos activos definido por ProA ctive en el contexto de las redes a gran escala (grillas).
ProActive es un middleware implementado en lenguaje Java, de código abierto, para la programación
concurrente, paralela, distribuida, y móvil; basado en el modelo de objeto-activo. En
ProActive, cada objeto activo tiene su propio hilo de control y puede decidir independientemente
en qué orden servir los métodos invocados, las cuales se almacenan automáticamente en una cola
de peticiones pendientes. Para agregar eficacia al paradigma de objetos activos, ProActive proporciona
un mecanismo del migración, obteniendo localización automática y transparencia mediante
el uso deforwarders. La migración viene con un costo de comunicación: un objeto activo debe
emigrar con su estado completo, que consiste en sus peticiones pendientes (llamadas de método),
objetos futuros, y sus objetos pasivos. Por lo tanto, las aplicaciones implementadas con ProActive
son sensibles a la latencia.
Cuando varios objetos activos con funcionalidad idéntica se despliegan, un algoritmo de balance
de carga se utiliza para mejorar el funcionamiento de la aplicación utilizando esa funcionalidad.
La carga de trabajo puede ser equilibrada, ya sea enviando objetos activos de un procesador
altamente cargado a uno menos cargado, o bien robando objetos activos a un procesador altamente
cargado. El ambiente donde normalmente se ejecutan las aplicaciones implementadas usando el
modelo de objetos activos se compone generalmente de grupos múltiples de recursos, por ejemplo,
un sistema de máquinas interconectadas por una red local de alta velocidad.
Dado lo anterior, se ha estudiado y desarrollado un algoritmo de balance de carga para objetos
activos que pertenecen a una aplicación paralela, fijando las bases para el desarrollo de los
algoritmos de balance de carga para el middleware ProActive. Este primer acercamiento se llama
algoritmo Robin-Hood + Nottingham Sher(fl Este algoritmo fue validado en el contexto de redes
de alta escala (sobre 1.000 nodos) mediante simulaciones, utilizando nuestros modelo de grillas de
computadores, los cuales están basados en la observación y la medición de lo que consideramos
las características dominantes para el balance de objetos activos: capacidad de procesamiento y
latencia entre recursos.
Finalmente, presentamos los contratos de acoplamiento para el despliegue de aplicaciones paralelas,
así como su forma de utilización en el contexto de balance de carga. A modo de ejemplo,
mostramos su uso en la elección del balanceador a utilizar (cluster local v/s nuestro algoritmo). PFCHA-Becas Doctor en Ciencias Mención Computación 172 p. PFCHA-Becas TERMINADA