A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos de Escalonamento Prof. Dr. Norian Marranghello

Apresentações semelhantes


Apresentação em tema: "Algoritmos de Escalonamento Prof. Dr. Norian Marranghello"— Transcrição da apresentação:

1 Algoritmos de Escalonamento Prof. Dr. Norian Marranghello
Grupo 9 Luiz Otávio Duarte Marcelo Carvalho Sacchetin

2 Algoritmos de Escalonamento
Introdução; Algoritmos Genéticos; Algoritmos de Busca Tabu; Algoritmos de Programação Linear.

3 Introdução Um bom escalonamento precisa: Ter Justiça; Ter Eficiência;
Ter Tempo de resposta; Ter Turnaround; Ter Throughput; Solucionar difíceis problemas de otimização;

4 Escalonamento de Tarefas de Multiprocessadores Usando Algoritmo Genético
O sistema de multiprocessadores. Minimizar o tempo de execução. Algoritmos genéticos e métodos heurísticos.

5 Sistema de Multiprocessadores
Cada processador tem sua própria memória. A comunicação entre eles é feita através de uma rede. Programas paralelos compostos por tarefas de comunicações com restrições de precedência. A comunicação entre tarefas diminue a velocidade de execução.

6 Sistema de Multiprocessadores
Diferentes escalonamentos de cada tarefa geram diferentes tempos de execução do programa paralelo Leitura exaustiva é impraticável, o que levou a muitos estudos de métodos heurísticos. O algoritmos genético é um método meta-heurístico.

7 Escalonamento de Multiprocessadores
Um sistema de multiprocessador homogêneo é composto por: P={p1,...,pm} conjunto de m processadores idênticos. Rede de comunicação completa com links idênticos. Não é permitida a preempção. Programas paralelos, que são descritos por D=(T,A), onde T={t1,...,tn} conjunto de n tarefas respeitando as restrições de precedência.

8 Escalonamento de Multiprocessadores
Um escalonamento é composto por: Um vetor S={s1,...,sn} , onde sj={ti1,...tin} é o conjunto das nj tarefas escalonadas para o processador pj. l é o grau de alocação em pj. p(ti,s) : processador. r(ti,s) : grau de ti no processador Makespan é o rendimento do tempo de execução por uma alocação.

9 Escalonamento de Multiprocessadores
Exemplo: D é composto por 5 tarefas, existem 3 processadores interconectados, di indica custo de ti e c(i1,i2) é o tempo de comunicação.

10 Escalonamento de Multiprocessadores
Representação de uma alocação s das tarefas de D no sistema multiprocessador mostrado:

11 Escalonamento para Sistemas de Processadores Paralelos
O escalonamento de tarefas é essencial para o funcionamento desses sistemas. Usando-se métodos heurísticos é necessário se aplicar restrições para cada problema específico. É mais um problema que pode ser abordado com o uso de algoritmos genéticos.

12 Algoritmos Genéticos Baseado na idéia da seleção natural, onde os mais aptos sobrevivem. Algoritmo eficaz quando buscas exaustivas são inviáveis.

13 Introdução: Na natureza os processos seletivos ocorrem quando são satisfeitas as seguintes condições: Há uma população de indivíduos capazes de se reproduzir. Existe alguma diversidade entre os indivíduos Diferenças na habilidade de sobrevivência no ambiente A diversidade é garantida pela troca de cromossomos. Os mais aptos sobrevivem, garantindo a evolução.

14 O Algoritmo Os indivíduos da população inicial são os processos.
Os processos são representados por identificadores (pid). Obtém se uma nova população apartir da inicial aplicando se os operadores, que são: Crossover ou cruzamento. Mutação. Também é necessário um operador de seleção para favorecer os mais aptos. Principais componentes além dos operadores: Representação genética da solução do problema. Forma de criar uma população inicial. Função de avaliação.

15 O Algoritmo Algoritmo desenvolvido por John Holland em 1975, baseado na teoria de Darwin: Algoritmo genético(){ Gerar população inicial; Avaliar população; Enquanto critério de parada não satisfeito{ Selecionar processos para a próxima população; Aplicar mutação e crossing over; }

16 Crossover Combinação de dois processos gerando outro dois.
Os filhos herdam características dos pais. Garante a manutenção das boas características ao longos das gerações.

17 Exemplo de Crossover Marcadores de tarefa: (RRANDS)
Passo 1: Encontrar os pontos de cross.

18 Exemplo de Crossover Passo 2: Checar as tarefas pelo sistema RRANS
Passo 3: Transferência (crossing).

19 Exemplo de Crossover Passo 4: Depois do crossing, executa - se o passo 2 na próxima string assumindo que ela exista. Passo 5: Executa -se as tarefas de Repalce e Release para evitar violações das pré-condições.

20 Mutação Produz um cremoso filho através da alteração de um gene(bit).
Possibilita a diversificações dos processos. É aplicado com baixa probabilidade (entre 0,1% e 1,0%)

21 Algoritmo Genérico e Outras Técnicas de Procura
Um algoritmo genético supera as outras formas de procura ao apresentar as seguintes características: Conjunto de codificação de parâmetros. Procura apartir de uma população.] Playoff (função objetiva). Regras de transições probabilísticas. Codificação.

22 Algoritmos de Busca Tabu
Uma breve introdução; O uso de memória na Busca Tabu; Intensificação e Diversificação; Exemplo Árvore-K; Utilização de Busca Tabu em Escalonamento.

23 Breve Introdução a BT Baseada em Conceitos de IA e Otimização;
Desenvolvida por Fred Grovler; Utilização de processos move; Utilização de Memória Adaptativa; Ênfase em exploração de resposta.

24 Utilização de memória Baseada em quatro dimensões principais;
Qualidade Novidade ESTRUTURAS DE MEMÓRIA Influência Freqüência

25 Dimensões de Memória (1)
Dimensão de Qualidade Habilidade para diferenciar o valor das soluções. Dimensão de Influência Impacto das soluções tomadas.

26 Dimensões de Memória (2)
Dimensão de Novidade Observa os atributos recentemente modificados. Previne a vizinhança de soluções passadas. Previne revisita a soluções anteriores. Dimensão de Freqüência Complementa a memória de novidade. Utiliza o conceito de moves preferidos.

27 Intensificação e Diversificação
Soluções não visitadas Vizinhança de uma elite de soluções

28 Problema Árvore-K (1) Minimizar a Árvore-K 26 6 23 2 3 5 12
2 3 5 12 1 4 6 9 11 7 8 10 Passo Candidatos Selecionado Peso Tot. (1,2) (1,2) (2,3),(1,4) (1,4) (2,3),(3,4),(4,6),(4,7) (4,7) (2,3),(3,4),(4,6),(6,7),(7,8) (6,7)

29 Problema Árvore-K (2) 2 3 5 12 1 4 6 9 11 7 8 10 Iteração Add Drop Peso Tot. (4,6) (4,7) (6,8) (6,7) (8,9) (1,2)

30 Problema Árvore-K (3) 2 3 5 12 1 4 6 9 11 7 8 10 Iteração Add Drop Peso Tot. (10,11) (6,9)

31 Utilização de Busca Tabu em Escalonamento
Minimizar o tempo de comunicação em sistemas de multiprocessadores. Escalonamento tarefas de Multiprocessadores com Programas paralelos. Escalonamento de tarefas em Multiprocessadores usando Busca Tabu paralela.

32 Programação Linear Uma outra forma alternativa de se escalonar processos é através da programação linear (P.L.). A programação linear e o Método Simplex foram desenvolvidos por Dantzig em 1947, com o apoio do serviço militar dos EUA. A P.L. é usada como parte de vários esquemas para solucionar: problemas de programação não-linear, problemas discretos, problemas combinatórios, problemas de controle de otimalidade, programação sob incerteza.

33 Programação Linear Um problema de P.L. é um problema de minimização ou maximização de uma função linear na presença de restrições lineares de uma inequação e/ou equação. No nosso estudo estaremos interessados em maximizar o rendimento do tempo de execução (makespan), restrito a uma alocação de processos. max C1 X1 + C2 X Cn Xn = z sujeito a a11 X1 + a12 X a1n Xn >= b1 a21 X1 + a22 X a2n Xn >= b2 . . . am1 X1 + m12 X m1n Xn >= bm X1, X2, ..., Xn >=0 O Método simplex é usado para solucionar o problema descrito acima.


Carregar ppt "Algoritmos de Escalonamento Prof. Dr. Norian Marranghello"

Apresentações semelhantes


Anúncios Google