Balance de carga dinámico para objetos activos móviles en grillas de computadores
Professor Advisor
dc.contributor.advisor
Piquer Gardner, José
es_CL
Author
dc.contributor.author
Bustos Jiménez, Javier
es_CL
Staff editor
dc.contributor.editor
Facultad de Ciencias Físicas y Matemáticas
es_CL
Staff editor
dc.contributor.editor
Departamento de Ciencias de la Computación
es_CL
Associate professor
dc.contributor.other
Navarro Badino, Gonzalo
Associate professor
dc.contributor.other
Marín Caihuan, Juan Mauricio
Associate professor
dc.contributor.other
Cointe, Pierre
Admission date
dc.date.accessioned
2012-09-12T18:12:12Z
Available date
dc.date.available
2012-09-12T18:12:12Z
Publication date
dc.date.issued
2006
es_CL
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/102810
General note
dc.description
Doctor en Ciencias, Mención Computación
Abstract
dc.description.abstract
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 ProActive 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, en paralelo, distribuido, y emóvil, poniendo el paradigma de objeto-activo en ejecución. En ProActive, cada objeto activo tiene su propio hilo de control y puede decidir independientemente en qué orden servir los métodos entrantes, 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 de forwarders. La migración viene con un costo de comunicación: un objeto activo debe emigrar con su estado completo, consistiendo en sus peticiones pendientes (llamadas de método), 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 puede ser utilizado para mejorar el funcionamiento de la aplicación utilizando esa funcionalidad. La carga de trabajo puede ser equilibrada a través de varios objetos activos enviando objetos activos de un procesador altamente cargado a uno menos cargado, o bien robando objetos activos de un procesador altamente cargado por uno menos cargado. El ambiente donde funcionan 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.
Por lo tanto, un algoritmo de balance de carga para objetos activos que pertenecen a una aplicación paralela fue desarrollado y estudiado, fijando las bases para el desarrollo de los algoritmos de balance de carga para el middleware ProActive. Este primer acercamiento se llama el algoritmo Robin-Hood + Nottingham Sheriff. Este algoritmo fue validado en el contexto de una red de alta escala (sobre 1.000 nodos) mediante simulaciones, utilizando nuestro modelo de las grillas 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, su forma de utilización en el contexto de balance de carga, por ejemplo, elegir entre un planificador local y el balanceador de carga de ProActive.