Otimizando o Controle de Congestionamento em Data Centers com GraphCC
GraphCC melhora o controle de congestionamento com otimização em tempo real e técnicas de aprendizado de máquina.
― 6 min ler
Índice
O Controle de Congestionamento (CC) é super importante pra gerenciar o tráfego em data centers. Esses data centers precisam lidar com grandes quantidades de dados de forma eficaz. Atualmente, dois protocolos de CC estão em uso: DCTCP e DCQCN. Ambos dependem de um mecanismo chamado Notificação Explícita de Congestionamento (ECN), onde os switches de rede marcam pacotes quando detectam congestionamento. Essa marcação ajuda os dispositivos de envio a ajustarem seu fluxo de dados. No entanto, configurar os parâmetros do ECN da maneira certa para um desempenho ideal pode ser uma tarefa complicada e demorada.
Desafios nos Protocolos de CC Atuais
Os especialistas em rede costumam escolher configurações ECN fixas que funcionam razoavelmente bem em média. No entanto, devido à natureza dinâmica dos data centers modernos, essas configurações podem levar a um desempenho ruim durante picos de tráfego repentinos ou falhas de link. Quando as condições mudam rapidamente, a rede pode não usar sua capacidade de forma eficiente, resultando em transferências de dados mais lentas.
O aprendizado de máquina (ML) surgiu como uma abordagem promissora para melhorar o CC. Alguns métodos existentes baseados em ML tentam otimizar como os dados são enviados pela rede. No entanto, muitos têm limitações, como exigir mudanças na infraestrutura existente da rede ou não desempenhar bem em condições em tempo real.
Apresentando o GraphCC
O GraphCC é uma solução inovadora projetada para otimizar o CC em tempo real sem precisar de mais treinamentos uma vez configurado. Ele usa uma combinação de técnicas de ML, especificamente Aprendizado por Reforço Multi-Agente (MARL) e Redes Neurais Gráficas (GNN). Essa abordagem permite que múltiplos agentes (ou unidades inteligentes) trabalhem juntos, compartilhando informações para melhorar o desempenho geral da rede.
O GraphCC configura agentes distribuídos nos switches de rede. Esses agentes se comunicam com agentes próximos pra otimizar como lidam com congestionamento. Essa colaboração ajuda o sistema a se adaptar rapidamente a novas situações, como mudanças no tráfego ou falhas na rede.
Como o GraphCC Funciona
Comunicação entre Agentes
O primeiro passo para os agentes do GraphCC é coletar informações sobre o estado atual de suas conexões. Eles coletam dados sobre quanto tráfego está sendo enviado, o comprimento das filas e o número de pacotes marcados por congestionamento. Com essas informações, os agentes podem começar a se comunicar com seus vizinhos.
Os agentes trocam mensagens, ajudando uns aos outros a entender melhor as condições locais da rede. Depois, eles usam essas informações compartilhadas para ajustar suas configurações de ECN. Esse processo de tomada de decisão permite que ajam de forma mais eficaz e eficiente.
Adaptando-se a Novas Situações
Um dos grandes benefícios do GraphCC é a sua capacidade de se adaptar a novas situações que não foram especificamente treinadas. Por exemplo, se houver um pico repentino de tráfego ou uma falha em parte da rede, os agentes podem rapidamente ajustar suas configurações com base no que aprendem uns com os outros. Essa adaptabilidade é crucial pra manter um desempenho alto nos ambientes de dados rápidos de hoje.
Vantagens do GraphCC
Maior Desempenho
A avaliação do GraphCC mostra que ele supera significativamente as configurações ECN estáticas tradicionais. Comparado às soluções existentes, ele consegue reduzir o tempo que os dados levam pra completar sua jornada pela rede, conhecido como Tempo de Conclusão do Fluxo (FCT). Essa melhoria é especialmente notável em fluxos de dados mais curtos, que representam a maior parte do tráfego da rede.
Redução do Comprimento das Filas
Outra medida importante de desempenho é quanto tempo os pacotes de dados têm que esperar nas filas antes de serem enviados. O GraphCC se destaca em manter esses comprimentos de fila curtos, variando de 38% a 85% de redução em comparação com outros métodos. Filas curtas levam a transferências de dados mais rápidas e a uma eficiência geral da rede melhorada.
Robustez às Mudanças
O GraphCC continua a entregar um desempenho forte, mesmo sob condições variadas que não foram encontradas durante seu treinamento. Por exemplo, se os padrões de tráfego mudarem ou se a topologia da rede mudar devido à adição de switches ou hosts, os agentes podem rapidamente se adaptar sem precisar ser retrainados.
Avaliando a Eficácia do GraphCC
Pra demonstrar suas capacidades, o GraphCC foi testado em vários cenários do mundo real. Isso incluiu diferentes cargas de trabalho e níveis de congestionamento de tráfego. Os resultados mostraram que o GraphCC consistentemente superou outros métodos, mesmo em circunstâncias nas quais não foi especificamente treinado.
Diferentes Cargas de Trabalho
O GraphCC foi avaliado usando vários conjuntos de dados diferentes, incluindo cargas de trabalho de várias aplicações como armazenamento de dados e busca na web. Ele conseguiu se sair bem em diversos cenários, mantendo FCTs mais baixos e reduzindo filas de forma eficaz.
Altas Cargas de Tráfego
A solução foi testada ainda sob condições de alto tráfego pra ver como ela lida com a demanda aumentada. Mesmo em cargas mais altas, o GraphCC manteve seu desempenho, gerenciando dados de forma eficiente e mantendo os atrasos ao mínimo.
Mudanças de Topologia
Mudanças na topologia da rede são comuns em data centers, seja devido à adição de novos dispositivos ou falhas de link. Testes mostraram que o GraphCC poderia se adaptar a essas mudanças sem perder desempenho. Ele respondeu bem a falhas de link, mantendo um nível de throughput e latência reduzida que superou outras soluções.
Conclusão
O GraphCC é um avanço significativo na gestão de congestionamento em data centers. Ao utilizar uma combinação inovadora de técnicas de aprendizado de máquina, ele permite a otimização eficiente e em tempo real do tráfego da rede. Sua capacidade de se adaptar a novas situações sem retrain, junto com métricas de desempenho melhoradas, torna-o uma solução valiosa para os ambientes modernos de data centers.
À medida que os data centers continuam a crescer e evoluir, soluções como o GraphCC serão cruciais para garantir que operem de forma eficiente e eficaz.
Título: GraphCC: A Practical Graph Learning-based Approach to Congestion Control in Datacenters
Resumo: Congestion Control (CC) plays a fundamental role in optimizing traffic in Data Center Networks (DCN). Currently, DCNs mainly implement two main CC protocols: DCTCP and DCQCN. Both protocols -- and their main variants -- are based on Explicit Congestion Notification (ECN), where intermediate switches mark packets when they detect congestion. The ECN configuration is thus a crucial aspect on the performance of CC protocols. Nowadays, network experts set static ECN parameters carefully selected to optimize the average network performance. However, today's high-speed DCNs experience quick and abrupt changes that severely change the network state (e.g., dynamic traffic workloads, incast events, failures). This leads to under-utilization and sub-optimal performance. This paper presents GraphCC, a novel Machine Learning-based framework for in-network CC optimization. Our distributed solution relies on a novel combination of Multi-agent Reinforcement Learning (MARL) and Graph Neural Networks (GNN), and it is compatible with widely deployed ECN-based CC protocols. GraphCC deploys distributed agents on switches that communicate with their neighbors to cooperate and optimize the global ECN configuration. In our evaluation, we test the performance of GraphCC under a wide variety of scenarios, focusing on the capability of this solution to adapt to new scenarios unseen during training (e.g., new traffic workloads, failures, upgrades). We compare GraphCC with a state-of-the-art MARL-based solution for ECN tuning -- ACC -- and observe that our proposed solution outperforms the state-of-the-art baseline in all of the evaluation scenarios, showing improvements up to $20\%$ in Flow Completion Time as well as significant reductions in buffer occupancy ($38.0-85.7\%$).
Autores: Guillermo Bernárdez, José Suárez-Varela, Xiang Shi, Shihan Xiao, Xiangle Cheng, Pere Barlet-Ros, Albert Cabellos-Aparicio
Última atualização: 2023-08-09 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2308.04905
Fonte PDF: https://arxiv.org/pdf/2308.04905
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.