balance de carga dinamico, robusto, no …users.dcc.uchile.cl/~jbustos/pub/presudec.pdf · balance...

29
BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y ÚTIL Javier Bustos Jim ´ enez Departamento de Ciencias de la Computaci ´ on (DCC) Universidad de Chile. [email protected] BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y ´ UTIL – p.1/29

Upload: tranmien

Post on 16-Mar-2018

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

BALANCE DE CARGADINAMICO, ROBUSTO, NO

CENTRALIZADO, EFICIENTE... Y ÚTILJavier Bustos Jimenez

Departamento de Ciencias de la Computacion (DCC)

Universidad de Chile.

[email protected]

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.1/29

Page 2: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Menú

� Sistemas Distribuídos (el presente) y GridComputing (el futuro)

� Balance de Carga

� Sistemas de Balance de Carga Dinámico

� Robin Hood

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.2/29

Page 3: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

¿Qué es un Sistema Distribuído?... (Imaginarse un Sistema Distribuído)

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.3/29

Page 4: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

¿Qué es un Sistema Distribuído?

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.4/29

Page 5: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

¿Qué es un Sistema Distribuído?

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.5/29

Page 6: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Sistemas Distribuídos: Defini-ción

� Conjunto de procesadores

� Un usuario puede ingresar a cualquier nodo

� Acceso a un nodo Acceso a todos los recursosdel nodo

� El usuario está conciente de las capacidades delnodo.

� El nodo pertenece a un solo dominio deaplicación.

� Comúnmente entre 10-100 nodos, estáticos.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.6/29

Page 7: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Grid: Definición

� Conjunto de recursos

� Un usuario puede acceder al conjunto, pero no alos nodos

� Un usuario tiene un mínimo conocimiento sobrecómo funciona el recurso

� Los recursos pueden pertencer a varios dominios(abstracciones) de aplicación.

� Comúnmente posee mas de 100 elementos,dinámicos.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.7/29

Page 8: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Comparación

NIVEL ABSTRACTO

NIVEL FISICO

Sistemas distribuídos Grid¿Objetos?

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.8/29

Page 9: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de Carga: Definición“Balance de carga es una técnica que acrecenta los

recursos, explotando el paralelismo, y acortando el

tiempo de respuesta mediante una distribución apropi-

ada de la aplicación” (“History-driven dynamic load

balancing for recurring applications on network of

workstations”, M. Bozyigita).

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.9/29

Page 10: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de Carga: MotivaciónEl universo tomó miles de millones de años enencontrar una configuración que optimice su energía...

... y aún así se sigue expandiendo

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.10/29

Page 11: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de Carga: Feedback... (piensen en alguna forma de realizar un balance de

10 procesos en n nodos, ¿qué información necesitan?)

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.11/29

Page 12: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de Carga: ComplejidadTeóricamente se ha demostrado que una distribución

de trabajos óptima en balance de carga es un problema

de complejidad NP-completo, y de complejidad poli-

nomial para un esquema dinámico.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.12/29

Page 13: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de Carga: EsquemasExisten dos líneas de investigación sobre balance decarga: Estatico y Dinamico

� El balance de carga estático se caracteriza por unconocimiento previo de la aplicación, lascaracterísticas del sistema y las cargas de trabajototal que se desea paralelizar.

� El balance de carga dinámico se puede adaptar alos cambios que se presenten en el sistema,acorde a un protocolo propuesto para detectar yenfrentar esos cambios.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.13/29

Page 14: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de Carga: EsquemasExisten dos líneas de investigación sobre balance decarga: Estatico y Dinamico

� El balance de carga estático es de bastanteutilidad en problemas de computación paralela(como la multiplexión de ecuacionesdiferenciales en una cierta cantidad deprocesadores) y de técnicas de rutas de paquetes.

� El balance de carga dinámico es requerido en unavariedad de problemas de las ciencias de lacomputación, como sistemas operativos,problemas de optimización combinatorial y engeneral problemas de paralelismo en que no seconoce a priori la naturaleza de los trabajos aparalelizar.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.14/29

Page 15: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de Carga: Compara-ción

CharactericsAbstractor

UnitLoaderApplication

Pre−knowledgeBase

CharactericsAbstractor

UnitLoaderApplication

Pre−knowledgeBase

Dynamic Application Information

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.15/29

Page 16: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de Carga... ¿estático?“preemptive scheduling in distribuited systems was

rare, if not non-existent” (“Preemptive Scheduling for

Distribuited Systems”, Donald McLaughlin)

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.16/29

Page 17: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de Carga... ¿estático?“preemptive scheduling in distribuited systems wasrare, if not non-existent” (“Preemptive Scheduling forDistribuited Systems”, Donald McLaughlin)

No contaba con los Objetos Activos: Objetos con un

thread asociado y la capacidad de migrar de un nodo

a otro durante su ejecución.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.17/29

Page 18: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Balance de carga DINÁMICO

� CONDOR

� PLRM

� CAPE

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.18/29

Page 19: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

CondorScheduler centralizado para sistemas distribuídos queposee:

� Un buscador de recursos

� Una cola de trabajos

� Un scheduler

� Un checkpoint/restart (en caso de error)

� Migración de procesos

� llamadas a procesos remotos

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.19/29

Page 20: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Condor

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.20/29

Page 21: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

PLRMPeriodical Load Rebalancing Model

� Utiliza un monitor para ver las cargas en elambiente

� Utiliza un distribuidor de tareas (centralizado)

� Usa RMI y serialización para enviar las tareas deuna JVM a otra.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.21/29

Page 22: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

PLRM

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.22/29

Page 23: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

CAPECommunicating Autonomous Programs Enviroment.Librería de Java para procesamiento paralelo.

� Sincronización Peer to Peer usando ObjetosActivos

� Utiliza Mensajes Asíncronos

� Un objeto activo por nodo realiza un broadcast desu carga al resto de los objetos activos

� Cada nodo sabe la carga de TODOS los demás

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.23/29

Page 24: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

¿Problemas?Principales problemas de los esquemas existentes:

� Arquitectura centralizada: cuello de botella.

� Broadcast de cargas: saturación de la red.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.24/29

Page 25: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Robin Hood: Presentación

� Robin Hood: An Active Objects Load BalancingMechanism for Intranet (Por aparecer en VIIWorkshop de Sistemas Distribuidos)

� Trabajo conjunto entre DCC, Universidad deChile e INRIA, Sophia-Antipolis (Francia).

� Basado en dos principios:1. Cada nodo conoce sólo su propia carga2. Procesos en un nodo con alta carga (ricos)

migrarán a nodos con baja carga (pobres).

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.25/29

Page 26: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Robin Hood: AlgoritmoSe utiliza un canal Multicast para la comunicaciónentre nodos, el algoritmo es:

� Si un nodo está con carga baja, envía un mensajeal canal indicando su dirección (o referencia).

� Si un nodo está con carga alta, escucha desde elcanal buscando algún nodo con carga baja, de serasí migra sus procesos hacia esos nodos.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.26/29

Page 27: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Robin Hood: EsquemaA B

C D

load=70%

load=70% load=70%

load=70%

a)A B

C D

load=50% load=70%

load=70% load=70%

"A"

"poor" node

b)

A B

C D

load=50% load=70%

load=70%

"A"

"poor" node

load=95%

"rich" node

"A"

"A"

c)A B

C D

load=70%

load=70%

load=75%

load=70%

d)

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.27/29

Page 28: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

Robin Hood: Resultados Esper-ados

Se pretende lograr una mejora en cuanto a tolerancia a

fallas y asignación de recursos si se utiliza el algoritmo

Robin Hood para el balance de carga dinámico.

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.28/29

Page 29: BALANCE DE CARGA DINAMICO, ROBUSTO, NO …users.dcc.uchile.cl/~jbustos/Pub/presudec.pdf · Balance de Carga: Esquemas Existen dos líneas de investigación sobre balance de carga:

FIN

� Preguntas.

� URL a visitar:

� http://www.google.com

� http://www.inria.fr

� http://www.conicyt.cl/becas

BALANCE DE CARGA DINAMICO, ROBUSTO, NO CENTRALIZADO, EFICIENTE ... Y UTIL – p.29/29