Look-ahead reinforcement learning : an application for load balancing network trafficc - Possebon, Isadora Pedrini (2021)
Considerando o crescimento de complexidade e escala das redes de computadores e que a principal causa de falhas é o erro humano, há um interesse crescente em minimizar o papel dos humanos nas tarefas de gerenciamento de rede. Nesse contexto, propomos uma abordagem de aprendizado de máquina em duas etapas para balancear automaticamente os fluxos de rede que podem comprometer o desempenho da rede. Em primeiro lugar, contamos com a identificação de fluxos de elefantes, que impactam mais fortemente os recursos da rede. Em segundo lugar, utilizamos um mecanismo de aprendizagem por reforço para determinar a melhor ação a ser realizada na rede, dado o seu estado atual. A intuição para esta abordagem em duas etapas é amortizar os custos computacionais do aprendizado por reforço e aplicá-los apenas aos fluxos que podem causar um alto impacto no desempenho da rede. Para avaliar nosso trabalho, primeiramente fazemos uma avaliação funcional para discutir diferentes funções de recompensa usadas no balanceamento de carga com aprendizagem por reforço. Em segundo lugar, avaliamos a identificação de fluxos elefante, discutindo o impacto de observar esse tipo de fluxo nas estratégias de aprendizagem por reforço. Para o primeiro conjunto de experimentos, os resultados indicam que a abordagem RL é melhor do que a solução de base (controlador sem RL). A função de recompensa com melhores resultados utilizou uma heurística de média harmônica e foi capaz de reduzir o FCT, sendo escalável em relação ao número de switches na topologia. Para o segundo conjunto de experimentos, mostramos a importância de usar uma inteligência de fluxos elefantes: a função de recompensa com esse fator foi capaz de reduzir o FCT em 91 %, considerando uma carga de trabalho de 50/50 (50 % de fluxos ratos e 50 % de fluxos elefantes, com intervalo de 15 segundos entre as conexões). Nossas principais contribuições são (i) modelagem de problemas em função de estados e ações em um sistema que visa balancear o tráfego da rede e (ii) uma arquitetura que usa de forma mais criteriosa a aprendizagem por reforço nos fluxos de interesse para o balanceamento de carga.