Balance de carga dinámico para objetos activos móviles en grillas de computadores

Doctor en Ciencias, Mención Computación === 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 leng...

Full description

Bibliographic Details
Main Author: Bustos Jiménez, Javier
Other Authors: Piquer Gardner, José
Language:es
Published: Universidad de Chile 2012
Subjects:
Online Access:http://www.repositorio.uchile.cl/handle/2250/102810
Description
Summary:Doctor en Ciencias, Mención Computación === 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 progra­mació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 indepen­dientemente 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 trans­parencia 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 (lla­madas 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 bal­ance 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 apli­cació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 basa­dos 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 par­alelas, 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.