alocação de processos a computadores em uma rede em anel lógico utilizando busca tabu

18
Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu Eduardo Magno Lages Figueiredo < [email protected] > Sibele Esteves Ramos < [email protected] > sidade Federal de Ouro Preto uto de Ciências Exatas e Biológicas amento de Computação – Inteligência Computacional

Upload: ayame

Post on 09-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Departamento de Computação COM272 – Inteligência Computacional. Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu. Eduardo Magno Lages Figueiredo < [email protected] > - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Alocação de processos a computadores em uma rede em

anel lógico utilizando Busca Tabu

Eduardo Magno Lages Figueiredo

< [email protected] >

 Sibele Esteves Ramos

< [email protected] >

Universidade Federal de Ouro PretoInstituto de Ciências Exatas e BiológicasDepartamento de ComputaçãoCOM272 – Inteligência Computacional

Page 2: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Introdução

Apresenta-se neste documento um algoritmo que implementa a busca por uma boa solução a problemas combinatórios (np-difíceis).

O problema consiste na alocação de um conjunto de processos a um conjunto de computadores.

Dois requisitos devem ser satisfeitos:

• Não sobrecarregar de nenhum computador com excesso de processos alocados;

• A taxa de utilização da rede deve ser uniformemente distribuída entre todos os computadores

Page 3: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Descrição do Problema

Este problema descreve um sistema computacional composto de computadores (PC) interligados fisicamente através de um barramento comum.

PC1 PC2 PC3 PC4

Como o meio de transmissão é único, apenas um dos computadores poderá enviar ou receber mensagens por vez.

Page 4: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Descrição do Problema

Uma solução para evitar colisão de mensagens enviadas por diferentes computadores é admitir que cada computador tenha seu momento de utilização da rede.

PC1

PC2

PC3

PC4

Desta forma, foi implementada logicamente uma topologia em anel onde cada computador tem um tempo (t) para transmissão.

Page 5: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Descrição do Problema

São consideradas para o problema, as características de cada máquina que compõe o sistema computacional.

Para simplificar o problema, consideraremos apenas o desempenho medido em Milhões de Instruções por Segundo (MIPS), de cada um dos computadores.

90 MIPS 50 MIPS 30 MIPS 10 MIPS

Page 6: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Descrição do Problema

Temos um conjunto de processos (job) que devem ser alocados aos computadores.

Cada um destes processos consome uma quantidade (w) de recursos da máquina a qual for alocado. ( w medido em MIPS )

Os processos possuem ainda uma taxa de utilização da rede (lan) medido em Megabits por segundo (Mb/s)

Quando o processo for alocado a um computador, este terá uma taxa de utilização da rede definida pela lan de processo.

Page 7: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Descrição do Problema

PC1

PC3

PC4

PC2

TX10

Lan0

TX30

Lan0

TX50

Lan0

TX90

Lan0

JobA (10, 7)

JobE (10, 16)

JobB (20, 12)

JobF (30, 5) JobG (30, 20)

JobC (10, 12) JobD (15, 10)

Page 8: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Descrição do Problema

PC1

PC3

PC4

PC2

TX0

Lan7

TX30

Lan0

TX50

Lan0

TX90

Lan0

JobA (10, 7)

JobE (10, 16)

JobB (20, 12)

JobF (30, 5) JobG (30, 20)

JobC (10, 12) JobD (15, 10)

Page 9: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Descrição do Problema

PC1

PC3

PC4

PC2

TX0

Lan7

TX0

Lan24

TX50

Lan0

TX90

Lan0

JobA (10, 7)

JobE (10, 16)

JobB (20, 12)

JobF (30, 5) JobG (30, 20)

JobC (10, 12)

JobD (15, 10)

Page 10: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Descrição do Problema

PC1

PC3

PC4

PC2

TX0

Lan7

TX0

Lan24

TX25

Lan26

TX90

Lan0

JobA (10, 7)

JobE (10, 16)

JobB (20, 12)

JobF (30, 5) JobG (30, 20)

JobC (10, 12)

JobD (15, 10)

Page 11: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Descrição do Problema

PC1

PC3

PC4

PC2

TX0

Lan7

TX0

Lan24

TX25

Lan26

TX30

Lan25

JobA (10, 7)

JobE (10, 16)

JobB (20, 12)

JobF (30, 5)

JobG (30, 20)

JobC (10, 12)

JobD (15, 10)

Será que esta é a melhor solução ???

Page 12: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Redução ao problema da mochila

Cada processo (job) é um objeto;

Cada computador (PC) é uma mochila;

Os objetos possuem um peso (w) que é o consumo de recursos computacionais e um benefício (lan) que é a taxa de utilização da rede.

As mochilas possuem uma capacidade que é o desempenho do computador.

Page 13: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Redução ao problema da mochila

Neste problema, não há apenas uma mochila. ( cada PC é uma );

Todos os objetos (jobs) devem ser alocados a alguma das mochilas;

Neste problema o objetivo não é conseguir o maior benefício possível, e sim distribuir de forma o mais igualitária possível os benefícios entre as mochilas.

Page 14: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Modelagem Matemática

Uma solução é um array de inteiros com n posições, onde n é o numero de processos (job);

Cada posição representa um processo e o conteúdo da posição diz a qual computador este processo está alocado;

Uma solução: s [1 – 2 – 2 – 3 – 3 – 4 – 4];

Um movimento um optimal (1-opt) é alocar um processo a outro computador;

Um vizinho da solução s: s’ [2 – 2 – 2 – 3 – 3 – 4 – 4].

Page 15: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Modelagem MatemáticaO cálculo de f(s) para este problema é dividido em duas partes:

f(s) = f1(m) + f2(s)

0 se soma de pesos <= capacidade PC (w)f1(m) = MEDIAPENAL se w < soma de pesos <= 1,5 * w

MAXPENAL se soma de pesos > 1,5 * w

f2(s) = maxLan – minLan

MAXPENAL e MEDIAPENAL são parâmetros do problema;maxLan é o valor de lan do computador que possui maior acesso à rede e minLan o que possui o menor acesso.

Page 16: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Dados do Algoritmo

  Tamanho Iteração s/ Função Total deLista Tabu Melhora Objetivo Iterações

1 10 20 268 492 50 20 176 523 50 30 161 954 50 200 158 3355 50 1000 133 22066 50 2000 132 42287 30 5000 138 55898 60 5000 120 118329 100 10000 120 16710

Solução Inicial: Função objetivo = 481

Page 17: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Dados do Algoritmo

Função Total de Objetivo Iterações

1 120 11472 122 13423 117 21484 132 31475 118 20496 138 17897 119 16278 124 14579 134 252910 106 2580

Tamanho da lista tabu50

No de iterações s/ melhora1000

Média da Função Objetivo123

Desvio16,04 %

Page 18: Alocação de processos a computadores em uma rede em anel lógico utilizando Busca Tabu

Conclusão

O algoritmo não é muito robusto porque as soluções iniciais são geradas de forma aleatória e a Busca Tabu é fortemente dependente da solução inicial;

Melhorias propostas ao algoritmo:

Utilização de uma lista tabu de tamanho dinâmico;Utilização de um algoritmo para gerar uma melhor solução

inicial;

Fevereiro / 2003