16
ALGORITMOS DISTRIBUIDOS DE ASIGNACIÓN DE PROCESADORES 14 de Mayo de 2013

Algoritmos distribuidos de asignación de procesadores

Embed Size (px)

Citation preview

Page 1: Algoritmos distribuidos de asignación de procesadores

ALGORITMOS DISTRIBUIDOS DE ASIGNACIÓN DE PROCESADORES

14 de Mayo de 2013

Page 2: Algoritmos distribuidos de asignación de procesadores

Algoritmos de Asignación de Procesadores

Los principales aspectos son los siguientes:

• Algoritmos deterministas vs. heurísticos.

• Algoritmos centralizados vs. distribuidos.

• Algoritmos óptimos vs. subóptimos.

• Algoritmos locales vs. globales.

• Algoritmos iniciados por el emisor vs. iniciados por el receptor.

Page 3: Algoritmos distribuidos de asignación de procesadores

Algoritmos deterministas

• Son adecuados cuando se sabe anticipadamente todo acerca del comportamiento de los procesos.

• En pocos, si no es que en ninguno de los sistemas, se tiene un conocimiento total de antemano, pero a veces se puede obtener una aproximación razonable.

Page 4: Algoritmos distribuidos de asignación de procesadores

Algoritmos deterministas

• Por ejemplo, aplicaciones o empresas donde el trabajo de un día es similar al del día anterior.

• El objetivo de este algoritmo es minimizar el tráfico en la red, cuando tenemos que asignar varios procesos a un procesador.

Page 5: Algoritmos distribuidos de asignación de procesadores

Algoritmos Heurísticos

(Heurística.- Arte de inventar o descubrir.)

• Sistemas donde la carga es por completo impredecible.

• Las solicitudes de trabajo dependen de quien esté haciendo qué, y puede variar de manera drástica cada hora, e incluso cada minuto.

Page 6: Algoritmos distribuidos de asignación de procesadores

Algoritmos Heurísticos

La asignación de procesadores en tales sistemas no se puede hacer de manera determinista o matemática, sino que por necesidad utiliza técnicas adhoc llamadas heurísticas.

Page 7: Algoritmos distribuidos de asignación de procesadores

Algoritmo centralizado:

Permiten reunir toda la información en un lugar y tomar una mejor decisión; la desventaja es que la máquina central se puede sobrecargar y se pierde robustez ante su posible falla.

Este algoritmo evita maximizar el uso de la CPU, asignando de manera justa la capacidad. A diferencia del algoritmo determinista.

Page 8: Algoritmos distribuidos de asignación de procesadores

Algoritmos óptimos

• Si se conoce toda la información sobre el estado del sistema y sobre los recursos que necesitan los procesos, se puede hacer una asignación óptima.

• Generalmente, este problema es computacionalmente inabordable

Page 9: Algoritmos distribuidos de asignación de procesadores

Algoritmos óptimos

• (la mejor asignación) consumen más recursos que los subóptimos (una asignación aceptable), además, en la mayoría de los sistemas reales se buscan soluciones subóptimas, heurísticas y distribuidas.

Page 10: Algoritmos distribuidos de asignación de procesadores

Algoritmo Jerárquico

• Este algoritmo divide a los procesadores en jerarquías lógicas con distintos niveles. Cada grupo de procesadores tiene una máquina coordinadora, que tiene el registro de las máquinas ocupadas e inactivas.

• Para mantener el flujo de la información controlada, cada procesador se comunica con unos pocos subordinados y uno superior.

Page 11: Algoritmos distribuidos de asignación de procesadores

Algoritmo Distribuido Heurístico iniciado por el emisor (Eager)

• Este algoritmo reparte los procesos en cada máquina hasta alcanzar un cierto valor.

• Envía mensajes a una maquina cualquiera desde la que se origina el proceso, para averiguar si la carga está por debajo de un valor, si es menor se envía el proceso a esa máquina y si no se repite en cada una de las máquinas hasta encontrar una.

Page 12: Algoritmos distribuidos de asignación de procesadores

Algoritmo Distribuido Heurístico iniciado por el emisor (Eager)

• En el caso de que no encontrara ninguna máquina disponible, el proceso se ejecuta en la máquina donde se genero el proceso.

• En estaciones con mucha carga, las pruebas serian constantes y el costo aumentaría

Page 13: Algoritmos distribuidos de asignación de procesadores

Algoritmo Distribuido Heurístico Iniciado por el Receptor

• Este algoritmo es complementario al anterior, solo que este se inicia por un receptor subcargado.

Al terminar un proceso se establece si tiene carga suficiente, sino tiene se solicita trabajo a las otras máquinas, sino encuentra más trabajo vuelve a intentarlo más tarde.

Page 14: Algoritmos distribuidos de asignación de procesadores

Algoritmo Distribuido Heurístico Iniciado por el Receptor

• Las ventajas de este algoritmo es que no sobrecarga el sistema en momentos críticos.

• Podríamos hacer un algoritmo que combinara estos dos últimos, para que cuando el sistema este cargado reparta el trabajo, y lo pida cuando tiene poco.

Page 15: Algoritmos distribuidos de asignación de procesadores

Algoritmo de Remates

• Este algoritmo utiliza en modelo económico creado por Ferguson, con compradores y vendedores, y la ley de la oferta y la demanda. En nuestro caso los compradores serían los procesos, y los vendedores los procesadores.

• El precio de los procesadores viene establecido según sus características y servicios. Estos precios se anuncian en un archivo a los procesos.

Page 16: Algoritmos distribuidos de asignación de procesadores

Algoritmo de Remates

• Cuando el proceso quiere iniciar un proceso hijo, busca los procesadores que ofrezcan el servicio deseado, establece que procesadores están libres, elige el mejor candidato y genera una oferta al procesador elegido.

• El procesador reúne todas las ofertas recibidas y eligen la mejor, comunicándoselo a los procesos. Después actualizan los precios, con la cifra pagada por el último cliente.