13.07.2015 Views

ALGORITMOS DE BALANCE DE CARGA CON MANEJO DE ...

ALGORITMOS DE BALANCE DE CARGA CON MANEJO DE ...

ALGORITMOS DE BALANCE DE CARGA CON MANEJO DE ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.4. Programación con listas de datos en DLMLEl mensaje de respuesta puede tener dos posibilidades: transferencia de los datos solicitadospor el Balanceador y solicitud de terminación. La primera posibilidad se presentadespués de que el Balanceador ha ejecutado el balance y ha podido obtener datos. En estecaso, el Balanceador envía los datos obtenidos al proceso Aplicación. La segunda posibilidadse presenta después de ejecutar el balance y no obtener datos (esto indica que las listasde las otras aplicaciones también están vacías), ante esta situación es necesario definir unaestrategia de terminación.Cuando un proceso Balanceador recibe una solicitud de transferencia de carga, modificael valor de una variable booleana compartida con su proceso Aplicación (1 indica quehay peticiones de transferencia de carga ), de esta forma el proceso Aplicación detiene elprocesamiento de los datos y transfiere los datos al Balanceador. Posteriormente el procesoBalanceador regresa los datos que no se hayan transferido al proceso Aplicación y cambia elvalor de la variable compartida a 0.La estrategia de terminación se ejecuta cuando se ha descubierto que las listas remotasno tienen más elementos, bajo esta condición, el Balanceador envía un mensaje a su procesoAplicación indicándole que finalice su ejecución. En esta parte es necesario recolectar losresultados parciales que se encuentran distribuidos en cada procesador, con la finalidad deconocer el resultado global. Para ello uno de los procesos Balanceador es el encargado derecolectar estos resultados, el resto únicamente le envían su resultado parcial y posteriormentefinalizan su ejecución. Cuando el proceso Balanceador encargado de recolectar los resultadosparciales conoce el resultado global, también finaliza su ejecución.A continuación se describe la forma en que se realiza la programación de una aplicacióncon listas de datos en DLML.3.4. Programación con listas de datos en DLMLLa programación de una aplicación paralela con listas de datos en DLML es similar ala programación secuencial. El código que se muestra a continuación es un programa simpleque representa el modelo de programación básico de DLML. DLML sigue el modelo de pro-32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!