IX ELAVIO FABIANA SIMÕES E SILVA ORIENTADORA: VITÓRIA PUREZA DEPTO. DE ENGENHARIA DE PRODUÇÃO UNIVERSIDADE FEDERAL DE SÃO CARLOS SÃO CARLOS - SP- BRASIL * APOIO PARCIAL: FAPESP
DESIGNAÇÃO DE TAREFAS EM APLICAÇÕES DE MULTIPROCESSADORES DE PROCESSAMENTO DE SINAL DIGITAL UTILIZANDO ALGORITMOS GENÉTICOS
O PROBLEMA DE DESIGNAÇÃO DE TAREFAS EM AMBIENTES PARALELOS A melhor designação de tarefas depende da aplicação. Objetivo: Obter a designação com o menor atraso total. Atraso Total: Tempo transcorrido entre o surgimento do sinal na porta de entrada e a produção de um sinal processado na porta de saída. O cálculo do atraso total requer a escolha de uma arquitetura de multiprocessadores.
ARQUITETURA RDAD O envio de sinal é sincronizado. INPUT OUTPUT Processador Mestre (0) Processador 1 2 N O envio de sinal é sincronizado. Tempos de comunicação interprocessadores: 0 ciclo: Proc(suc)=Proc(pred). 1 ciclo: Proc(suc)=Proc(pred) + 1 ou Proc(suc)=0 ou Proc(pred)=0. 2 ciclos: outros.
DIAGRAMA DE TAREFAS 4 70, 50, 50 1 50, 50, 50 9 10, 20, 20 2 70, 80, 40 8 50, 50, 40 5 40, 30, 50 3 20, 30, 10 10 7 20, 10, 10 6 30, 10, 10 INPUT OUTPUT
CÁLCULO DO ATRASO 2 4 2 4 1 4 3 5 2 2 8 3 4 1 1 2 5 6 ciclos I 1 1 1 10 2 6 O 1 1 1 1 3 2 9 2 1 7 2 Dada uma designação de tarefas, há um caminho crítico (atraso) obter a designação com o caminho crítico mais curto.
ALGORITMO DE CHINNECK et. al. (2003) Constrói uma lista dinâmica de programação de tarefas baseada em estimativas de caminhos críticos e revisada a cada designação. Utiliza o conhecimento das características de comunicação interprocessadores da arquitetura RDAD e as propriedades do processador mestre. Heurística construtiva. Investigar métodos iterativos como busca local e meta- heurísticas
ALGORITMOS GENÉTICOS (AG) Técnicas de busca heurística baseadas nas teorias da evolução. Uma solução particular de um problema é chamada de cromossoma ou indíviduo. As variáveis de decisão estão associadas aos genes do cromossoma. A busca heurística é realizada em uma população de soluções e não de solução em solução como em outras meta-heurísticas (Busca Tabu, Simulated Annealing) Busca Multi-direcional.
REPRESENTAÇÃO DO CROMOSSOMA Vetor v de números inteiros com n posições , onde n é o número de tarefas do diagrama. Em v(i) é armazenado o número do processador para o qual a tarefa i foi designada. tarefas 0 2 3 1 3 3 4 4 2 0 1 2 3 4 5 6 7 8 9 10 processadores Tarefa 3 designada ao processador 3.
FUNÇÃO DE APTIDÃO (FIT) fit(i): aptidão do cromossoma i. atraso_máximo: atraso máximo de um cromossoma da população. atraso(i): atraso do cromossoma i. n: tamanho da população.
MUTAÇÃO: Introdução da diversidade genética da população. OPERADORES GENÉTICOS MUTAÇÃO: Introdução da diversidade genética da população. 1 2 3 4 5 6 7 8 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0 1 Cromossoma antes da mutação Cromossoma depois da mutação genes aos quais será aplicada mutação genes aos quais foi aplicada mutação Escolha aleatória de uma tarefa e sua designação para um novo processador Tarefa a ser aplicada a mutação Tarefa 4 designada ao processador 1 1 2 3 4 5 6 7 8 9 10 0 1 0 2 3 3 1 2 3 0 1 2 3 4 5 6 7 8 9 10 0 1 0 2 3 3 1 2 3 0 1 2
Se o cruzamento produzir filhos infactíveis OPERADORES GENÉTICOS Cruzamento: 1 ponto. 1 2 3 0 3 2 0 4 0 1 1 2 3 4 5 6 7 8 9 10 0 1 0 2 3 0 2 3 1 4 Ponto de cruzamento 0 1 0 2 3 0 0 4 0 1 1 2 3 0 3 2 2 3 1 4 PAIS FILHOS Se o cruzamento produzir filhos infactíveis REPARAÇÃO
BUSCA COM ALGORITMO GENÉTICO Gere uma população inicial com m indivíduos. Enquanto (geração corrente maxger) ou (população não homogênea) repita: Calcule a aptidão de cada individuo; Selecione os indivíduos para nova população; Aplique cruzamento com probabilidade pc e “Reparação”; Aplique mutação com probabilidade pm e “Reparação”; Ao longo de todo o processo, armazene a melhor solução obtida. Implementações: Algoritmos Puro, Inteligente 1, Inteligente 2
ALGORITMO PURO - Escolhas aleatórias na seleção da tarefa e processador na REPARAÇÃO CRUZAMENTO PROCESSADOR 2: capacidade violada Tarefas: 2, 6 e 7 1 2 3 0 3 2 2 3 1 4 1 2 3 4 5 6 7 8 9 10 Pode ser designada ao processador 1 ou 4. Tarefa escolhida:6 1 2 3 0 3 4 2 3 1 4 1 2 3 4 5 6 7 8 9 10 Processador 4 escolhido MUTAÇÃO 2 1 0 4 3 3 0 2 3 4 1 2 3 4 5 6 7 8 9 10 Tarefa 4: Pode ser designada ao processador 0 ou 1. 2 1 0 1 3 3 0 2 3 4 1 2 3 4 5 6 7 8 9 10 Processador 1 escolhido
INTELIGENTE 1- Escolhas determinísticas na seleção do processador na REPARAÇÃO CRUZAMENTO Tarefa 6: Pode ser designada ao processador 1 ou 4. 1 2 3 0 3 2 2 3 1 4 1 2 3 4 5 6 7 8 9 10 Processador 1 => atraso de 7 ciclos. Processador 4 => atraso de 8 ciclos. 1 2 3 0 3 1 2 3 1 4 1 2 3 4 5 6 7 8 9 10 Processador 1 escolhido MUTAÇÃO 2 1 0 1 3 3 0 2 3 4 1 2 3 4 5 6 7 8 9 10 Tarefa 4: Pode ser designada ao processador 0 ou ao 4. 2 1 0 0 3 3 0 2 3 4 1 2 3 4 5 6 7 8 9 10 Processador 0 => atraso de 6 Processador 4 => atraso de 7
INTELIGENTE 2- Escolhas determinísticas na seleção da tarefa e processador na REPARAÇÃO CRUZAMENTO PROCESSADOR 2: capacidade violada Tarefas: 2, 6 e 7 1 2 3 0 3 2 2 3 1 4 1 2 3 4 5 6 7 8 9 10 Analisa-se todas as tarefas: tarefa 2: só cabe no processador 4 Processador 4 => Atraso 7 => Melhor processador: 4 tarefa 6: cabe no processador 1 e no 4 Processador 1 => Atraso 6 Processador 4 => Atraso 8 => Melhor processador: 1 tarefa 7: Não cabe em nenhum processador existente. Processador 5 => Atraso 10 => Melhor processador: 5
INTELIGENTE 2 Tarefa escolhida:6 Processador 1 escolhido MUTAÇÃO 1 2 3 0 3 1 2 3 1 4 1 2 3 4 5 6 7 8 9 10 Processador 1 escolhido Tarefa escolhida:6 MUTAÇÃO Igual a Inteligente 1: escolhe-se o melhor processador para designar a tarefa que sofrerá a mutação.
PARÂMETROS UTILIZADOS Tamanho da População: 20 indivíduos. Probabilidade de Cruzamento (pc): análise. Probabilidade de Mutação (pm): análise. Critérios de Parada: Obtenção da solução ótima. Número limite de gerações (Maxger= 2000). Geração de população homogênea.
EXPERIMENTOS COMPUTACIONAIS Experimentos iniciais: 10 problemas-teste (5 a 96 tarefas), obtidos em Chinneck et. al (2003) e através de um gerador aleatório de grafos de tarefas (Lavoie,1999). Para todos os três algoritmos, pequeníssimas probabilidades de mutação resultam nas melhores performances. Quanto maior o número de tarefas menor deve ser o valor de pm. O algoritmo Genético Inteligente 2 tem vantagem em termos de qualidade de solução em relação aos dois primeiros algoritmos, mas utiliza um tempo de execução maior. Selecionado pm = 0,01 para os 3 algoritmos nos experimentos posteriores. Selecionados pc= 0,4 (algoritmo puro), 0,3 (inteligente 1) e 0,8 (inteligente 2) nos experimentos posteriores.
RESULTADOS COMPUTACIONAIS 24 diagramas (5 a 96 tarefas). QUALIDADE DA SOLUÇÃO
RESULTADOS COMPUTACIONAIS TEMPOS DE EXECUÇÃO
CONCLUSÕES E PERSPECTIVAS Elaboradas três implementações de algoritmos genéticos preliminares. A melhor implementação proposta (Inteligente 2) melhorou em 25% de casos, as soluções da heurística de Chinneck et. al. Quanto maior o número de tarefas, pior é desempenho dos algoritmos. Cruzamento de um ponto. Incorporação de maior informação sobre o problema: Utilização de operadores de cruzamento de 2 ou mais pontos Desenvolvimento de operadores de cruzamento mais específicos. Aplicação de buscas locais após um número de gerações especificado.