DYNAMIC LOAD BALANCING FOR ACTIVE OBJECTS ON COMPUTER GRIDS - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2006

DYNAMIC LOAD BALANCING FOR ACTIVE OBJECTS ON COMPUTER GRIDS

ÉQUILIBRAGE DE CHARGE DYNAMIQUE POUR
DES OBJETS ACTIFS DANS LES GRILLES DE CALCUL

Résumé

This thesis aims to set the foundations for the development of load-balancing algorithms for the
active objects model defined by ProActive in the context of large-scale networks (Grids).
ProActive is an open-source Java middleware which achieves seamless programming for concurrent,
parallel, distributed, and mobile computing, implementing the active-object paradigm. In
ProActive, each active object has its own control thread and can independently decide in which
order to serve incoming method calls. Incoming method calls are automatically stored in a queue
of pending requests (called a service queue). To add efficiency to the active objects paradigm,
ProActive provides a migration mechanism, having automatic location and transparency through
the use of forwarders. The migration operation comes with a communication penalty: an active
object must migrate with its complete state, consisting of its pending requests (method calls), futures,
and passive (mandatory non-shared) objects. Therefore, ProActive applications are sensitive
to latency.
When several active objects with identical functionality are deployed, a load-balancing algorithm
can be used to improve the performance of an application using that functionality. We call
workload the total work units required by an application to finish. To use some active object's functionality,
an application puts a work unit into the service queue of that active object. The workload
can be balanced across several active objects either by sending active objects from a highly loaded
processor to a less loaded one, or by stealing active objects from a highly loaded processor by a
less loaded one. The environment where the active objects run is usually composed of multiple
clusters of resources, such as sets of machines interconnected by a high-speed local network.
In this thesis, a load-balancing algorithm for active objects which belong to a parallel application
was developed and studied, setting the foundations for development of load-balancing
algorithms for the middleware ProActive. This first approach is called the Robin-Hood + Nottingham
Sheriff load-balancing algorithm. This algorithm was validated in the context of a large-scale
network (over 1,000 nodes) through simulations. Therefore, we presented our model of Grids
based on observation and measurement of what we consider key characteristics for active-objects
load-balancing: processing capacity and inter-resource communication latency.
Finally, we present coupling contracts for deployment of parallel applications, showing how to
use them in the context of load balancing by now choosing between a local scheduler (for clusters)
and ProActive's load balancer.
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óon 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 de forwarders. 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 Sheriff. 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).
Fichier principal
Vignette du fichier
tesis.pdf (1.71 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00164582 , version 1 (20-07-2007)

Identifiants

  • HAL Id : tel-00164582 , version 1

Citer

Javier Bustos-Jiménez. DYNAMIC LOAD BALANCING FOR ACTIVE OBJECTS ON COMPUTER GRIDS. Networking and Internet Architecture [cs.NI]. Université Nice Sophia Antipolis, 2006. English. ⟨NNT : ⟩. ⟨tel-00164582⟩
250 Consultations
555 Téléchargements

Partager

Gmail Facebook X LinkedIn More