• Nenhum resultado encontrado

Algoritmos evolutivos multiobjetivo baseados em tabelas para escalonamento de tarefas em

N/A
N/A
Protected

Academic year: 2023

Share "Algoritmos evolutivos multiobjetivo baseados em tabelas para escalonamento de tarefas em"

Copied!
113
0
0

Texto

Dedico à minha mãe Maria Aparecida Diniz e ao meu irmão Leandro Ferreira Santos por estarem presentes quando precisei. Agradeço a minha mãe por todos os ensinamentos que me deu, meu pai que me orientou sobre o valor do trabalho;.

Resumo

Abstract

Lista de tabelas

Lista de siglas

NSGA-II Classificação Não Dominada Algoritmo Genético II. Algoritmo Genético Estimado Vetorial VEGA W Tempo de Espera.

Sumário

Introdução

Esse algoritmo mantém uma subpopulação de soluções não dominadas, exigindo uma melhor exploração do espaço de busca (LAFETÁ et al., 2018). Como base de comparação, foi utilizado o NSGA-II (DEB et al., 2002), um algoritmo evolutivo multiobjetivo amplamente utilizado na literatura.

Algoritmos Evolutivos para Otimização Multiobjetivo

Algoritmos Evolutivos

  • Representação e Avaliação do Indivíduo
    • Método da Roleta
    • Método do Torneio
  • Reinserção

O método de seleção da roleta é um dos métodos de seleção mais utilizados (GOLDBERG, 1989). Reinserção ordenada: a população total (pais e filhos) é ordenada e os 𝑛 melhores indivíduos serão selecionados, sendo 𝑛 o tamanho da população definido para o problema.

Otimização Multiobjetivo

Após a criação de todos os filhos, via operadores de reprodução, é preciso decidir quais farão parte de uma nova população para iniciar uma nova geração de AG. Pode não ser considerada uma boa escolha, pois muito material genético é perdido, inclusive indivíduos bons que podem não ser gerados novamente, piorando assim o resultado do AG. A seleção desses melhores indivíduos é realizada por meio de qualquer um dos métodos de seleção mencionados neste trabalho (roda, torneio, etc.) não há garantia de sua sobrevivência.

Uma preocupação desse método é que ele causa perda de diversidade, pois os melhores indivíduos são sempre selecionados e os piores descartados. É um método amplamente utilizado na literatura, pois garante a troca constante do material genético dos indivíduos, pois mescla a seleção entre pais e filhos, sem descartar os melhores indivíduos da população anterior.

Algoritmo Evolutivo Multiobjetivo

  • O Non-Dominated Sorting Genetic Algorithm II
  • Otimização de Muitos Objetivos
  • Multi-Objective Evolutionary Algorithm with Many Ta- bles
  • Multi-Objective Evolutionary Algorithm based on Non- dominated Decomposed Sets

Eles se baseiam no conceito de dominância entre as soluções, ou seja, na primeira fronteira estão os indivíduos não dominados, na segunda fronteira os indivíduos dominados apenas pelos da primeira fronteira, na terceira fronteira os indivíduos dominados apenas pelos da primeira fronteira. a primeira e a segunda bordas, e assim por diante até que a divisão de toda a população seja concluída. Se o limite de tamanho da população 𝑛 for excedido, os indivíduos com a menor distância de deslocamento da última frente selecionada deverão ser eliminados. Esse filho gerado passará pelo mesmo processo que os indivíduos da população original: será comparado com os piores indivíduos de cada uma das tabelas para determinar se ocupará ou não seu lugar naquela tabela.

Como as tabelas não são de tamanho fixo, o número de indivíduos na população inicial é gerado aleatoriamente (pode ser uma configuração AG). Uma vez que ele entra, todos os indivíduos dominados por ele são removidos. Esse filho gerado passa pelo mesmo processo dos indivíduos da população inicial: é comparado com todos os indivíduos de cada uma das tabelas e só entra se não for dominado por nenhum deles.

Após a execução de todas as gerações, o AG completou sua execução e o resultado é o conjunto da tabela que considera todos os indivíduos no cálculo.

Escalonamento de Tarefas em Sistemas Multiprocessados

DeĄnições

Assim, o custo de comunicação de borda (𝑡𝑖, 𝑡𝑗) é associado quando as tarefas são atribuídas a diferentes processadores. Em contrapartida, quando as tarefas são atribuídas ao mesmo processador, o custo de comunicação é zero (OMARA; . ARAFA, 2010). Desta forma, uma minimização do custo de comunicação significa a redução da espera de tarefas que precisam de dados de suas tarefas predecessoras.

Tempo de espera (𝑊): Embora não esteja diretamente descrito na obra de Silva (2020), o tempo de espera é outro critério que tem se mostrado importante. Em geral, é considerado o tempo total de espera, ou seja, a soma dos tempos de espera individuais calculados para cada tarefa. A tarefa 𝑡6 foi atribuída ao processador 𝑝2, o que implicou custos de comunicação; portanto, seu tempo de espera após a conclusão de 𝑡3 é de 2 unidades de tempo.

A complexidade do problema de escalonamento de tarefas pode ser analisada por meio de uma relação entre processadores, tempo de processamento da tarefa e restrições de prioridade (GOLUB; KASAPOVIC, 2002).

Abordagens de Escalonamento de Tarefas

Desenvolvimento

  • Representação do Indivíduo
  • Operadores de Reprodução
    • Recombinação
    • Mutação
  • Reinserção
  • Funções de Aptidão

Os valores à esquerda do ponto de corte são mantidos para ambos os pais e os valores à direita são trocados para gerar dois novos descendentes. Nesse caso, um ponto de corte é sorteado aleatoriamente levando em consideração o tamanho total das tarefas do DIA. Assim, o procedimento mostrado na Equação (5) foi utilizado para calcular os valores de fitness relativos a cada métrica.

Para calcular as médias é importante normalizar os dados, pois os valores das métricas utilizadas pelo AEMO possuem grandes diferenças nos intervalos quando comparados entre si. Por este motivo, é necessário obter valores extremos (limites inferior e superior) para cada uma das métricas. Após encontrar os valores extremos, o valor 𝑛𝑜𝑟𝑚 de Ątness 𝑓 foi calculado conforme mostrado na Equação (6), onde 𝑉𝑖max e 𝑉𝑖min são os valores máximo e mínimo de Ątness para alvos 𝑖=¶1, respectivamente.

Após normalizar todos os valores para todas as medidas, é possível calcular as médias utilizadas neste trabalho.

Resultados e Discussão

Ambiente de Experimentos

Esses gráficos fazem parte do repositório Standard Task Graph (STG), uma referência para avaliação de algoritmos de agendamento de tarefas1. Sendo esta uma das métricas a trabalhar, foi necessário implementar um algoritmo capaz de gerar estes valores e atribuí-los às arestas do DAG. A estratégia para gerar o custo de comunicação foi ler todos os pontos e identificar a maior e a menor carga de trabalho entre esses pontos.

Com esses limites definidos, um valor entre o mínimo e o máximo (aleatório e uniformemente distribuído) foi desenhado e atribuído a cada uma das arestas. Finalmente, há uma última variação de como o AEMO é executado: o número de processadores executando as tarefas mapeadas.

Método de Avaliação

Vale ressaltar que a faixa de valores obtidos não se altera com o número de alvos processados, pois o objetivo dessa análise é encontrar o melhor e o pior valor para a métrica. A Tabela 1 fornece valores de intervalo para todos os alvos, para tarefas DAG 50. Os valores em negrito representam o melhor e o pior valor da métrica dado o número especificado de processadores definidos.

Observa-se na tabela que conforme aumenta o número de processadores, o melhor valor de Makespan (𝑀) diminui, exceto no cenário com 16 processadores, que gerou um valor um pouco maior que a execução com 8 processadores. Por outro lado, algo diferente acontece com o balanceamento de carga, 𝐿, que aumentou junto com o aumento do número de processadores. Além disso, outro comportamento observado através da análise da Tabela 1 é que a diferença entre o melhor e o pior valor de 𝐹 diminuiu com o aumento do número de processos.

Os custos de comunicação (Custo de comunicação, 𝐶) apresentaram muitas semelhanças com os resultados de 𝐿: quanto maior o número de processadores, maior (e, portanto, pior) o valor de 𝐶.

Experimentos e Avaliação dos Resultados

  • Melhores indivíduos encontrados pelos AEMOs
    • Média Simples

O AEMMD obteve o melhor resultado em 60% dos cenários, seguido do AEMMT1 com 35%, depois o AEMMT2 com 25% e por último, com o pior resultado, o NSGA-II em apenas 5% (ou seja, um único cenário e todos os outros algoritmos alcançaram o melhor resultado neste cenário). A Tabela 5 deixa claro que o NSGA-II ainda não gerou bons indivíduos e seu melhor desempenho foi com 2golas e 2processadores, com valor final do indivíduo um pouco menor em relação ao seu melhor indivíduo com o DAG de 50 tarefas. Outro detalhe importante observado nesta performance é que o valor obtido pelo AEMMT1 é em média 12% melhor que o AEMMD e 60% melhor que o NSGA-II.

Nos grupos DAG de 50 e 100 tarefas, esses valores foram semelhantes entre si: um aumento de aproximadamente 7% no AEMMD para AEMMT1 e um aumento de 39% no NSGA-II para AEMMT1. Como AEMMT1, AEMMD produziu um aumento no valor individual apenas na implementação de 2 processadores. O NSGA-II manteve o padrão obtido no DAG de 50 tarefas apenas quando rodando em 2 processadores, nos demais aumentou em 4 processadores, teve queda em 3 e aumentou novamente em 2, onde na maioria dos casos é seu melhor desempenho.

Mais uma vez, NSGA-II manteve o padrão e produziu seu melhor indivíduo na configuração de 2 processadores de 2 objetivos. Esse ambiente fez com que o NSGA-II produzisse os piores resultados de todas as avaliações. Consequentemente, há evidências de que o AEMMT supera tanto o AEMMD quanto o NSGA-II, e que o AEMMD supera o NSGA-II.

Conclusões e Trabalhos Futuros

Para omakespan, tanto a média simples AEMMT quanto a média harmônica AEMMT produziram a maioria dos indivíduos no intervalo de melhores valores para esta métrica, especialmente quando executados em 5 e 4 alvos. Para Flowtime, ambas as versões do AEMMT se destacaram entre os demais algoritmos: a versão de média simples dominou o intervalo de melhores soluções para 5 e 4 alvos, e a versão de média harmônica dominou para 3 alvos. O AEMMD superou a implementação de 5 objetivos e empatou com o AEMMT de média harmônica na implementação de 4 objetivos.

A versão de média simples dominou as execuções de 8 e 16 processadores e a versão de média harmônica dominou as execuções de 2 e 4. O AEMMD conseguiu confrontar o AEMMT apenas na execução de 3 alvos, com cada um tendo o melhor resultado em 2 cenários. O NSGA-II não conseguiu competir com os demais, mas como a média regular, conseguiu seus melhores resultados com 2 alvos.

Por fim, ao realizar o DAG de 300 tarefas, o resultado obtido com a média harmônica foi o mesmo obtido com a média simples: o AEMMT produziu os melhores indivíduos em todos os cenários.

Comparison of Evolutionary Computational Algorithms for Solving Bi-Objective Task Scheduling Problem on Heterogeneous Distributed Computing Systems. Sadhana, Springer Science and Business Media LLC, v. Genetic Algorithm Parameters Optimization for Bi-Criteria Multiprocessor Task Scheduling Using Design of Experiments. International Journal of Computer, Electrical, Automation, Control and Information Engineering, World Academy of Science, Engineering and Technology, v. -depth encoding and multiobjective evolutionary algorithm applied to large-scale distribution system reconĄguration.IEEE Transactions on Power Systems, Institute of Electrical and Electronics Engineers ( IEEE), v. Multiple objective optimization with vector evaluated genetic algorithms.

Challenges and considerations in the development and architecture of large-scale distributed systems. International Journal of Internet and Distributed Systems, ScientiĄc Research Publishing, Inc., v. International Journal of Computer Science and Information Technology, Academy and Industry Research Collaboration Center (AIRCC), v. Task matching and scheduling in heterogeneous computing environments using a genetic-algorithm-based approach.Journal of Parallel and Distributed Computing, Elsevier, v.

Apêndices

APÊNDICE A

Links do Projeto no GitHub

Resultados para o DAG de 100 Tarefas

Resultados para o DAG de 300 Tarefas

Referências

Documentos relacionados

Como devo por as arestas para que s´o exista um tal clique caso haja uma atribui¸c˜ ao que satisfa¸ca todas as cl´