Facebook testa novo algoritmo de controle de congestionamento COPA contra BBR e CUBIC

Facebook опубликовал resultados de experimentos com um novo algoritmo de controle de congestionamento - COPA, otimizado para transmissão de conteúdo de vídeo. O algoritmo foi proposto por pesquisadores do Instituto de Tecnologia de Massachusetts. O protótipo COPA proposto para teste é escrito em C++, está aberto licenciado pelo MIT e incluído em mvfst — uma implementação do protocolo QUIC em desenvolvimento no Facebook.

O algoritmo COPA está focado em resolver problemas que surgem durante a transmissão de vídeo em uma rede. Dependendo do tipo de vídeo, requisitos quase opostos são impostos aos algoritmos de controle de congestionamento - para vídeo interativo, é necessário garantir atrasos mínimos, mesmo em detrimento da qualidade, e ao transmitir vídeo pré-preparado de alta qualidade, é dada prioridade para manter a qualidade. Anteriormente, os desenvolvedores de aplicativos estavam limitados à capacidade de aplicar algoritmos diferentes dependendo dos requisitos de qualidade ou latência. Os pesquisadores que desenvolveram o COPA tentaram criar um algoritmo universal para gerenciar o congestionamento de vídeo TCP que pudesse ser personalizado com base nos requisitos de vídeo.

O trabalho do algoritmo de controle de congestionamento é determinar o equilíbrio ideal ao enviar pacotes - o envio de muitos pacotes pode levar à perda de pacotes e à degradação do desempenho devido à necessidade de reenviá-los, e o envio muito lento leva a atrasos, o que também afeta negativamente o desempenho . O protocolo QUIC foi escolhido para os experimentos, pois permite a implementação de algoritmos de controle de congestionamento no espaço do usuário sem interferir no kernel.

Para evitar o congestionamento do canal de comunicação, o COPA utiliza modelagem das características do canal com base na análise de mudanças nos atrasos durante a entrega de pacotes (COPA reduz o tamanho da janela de congestionamento à medida que os atrasos aumentam, manipulando o fato de que os atrasos começam a aumentar mesmo no estágio anterior ao pacote ocorre perda). O equilíbrio entre atrasos e rendimento é ajustado usando um parâmetro delta especial. Aumentar o delta aumenta a sensibilidade a atrasos, mas reduz o rendimento, enquanto diminuir o delta permite um rendimento mais alto ao custo de maior latência. Delta=0.04 é definido como o equilíbrio ideal entre qualidade e latência.

Facebook testa novo algoritmo de controle de congestionamento COPA contra BBR e CUBIC

Baseado no serviço de streaming Facebook Live, o COPA foi testado em comparação com os populares algoritmos CUBIC e BBR. O algoritmo CUBIC padrão no Linux é aumentar gradualmente o tamanho da janela de congestionamento até que ocorra a perda de pacotes, após o que o tamanho da janela é revertido para o valor anterior ao início da perda.

CUBIC deixa muito a desejar no buffer de pacotes em equipamentos de rede modernos, o que retarda a queda de pacotes. O algoritmo de controle de congestionamento não tem conhecimento do buffer e continua a aumentar a velocidade mesmo que o canal já esteja fisicamente congestionado. Os pacotes não enviados são armazenados em buffer em vez de descartados, e o algoritmo de controle de congestionamento do TCP só entra em ação quando o buffer está cheio e não consegue equilibrar a taxa de fluxo com a velocidade do link físico. Para resolver esse problema, o Google propôs um algoritmo BBR aprimorado que prevê a largura de banda disponível por meio de verificações sequenciais e estimativa do tempo de ida e volta (RTT).

Com delta=0.04, os indicadores COPA ficaram próximos de CUBIC e BBR. Em testes realizados em uma conexão de rede de alta velocidade com baixos atrasos na transmissão de pacotes, o COPA obteve menor latência (479 ms) em comparação ao CUBIC (499 ms), mas ficou um pouco atrás do BBR (462 ms). Quando a qualidade da conexão diminuiu, o COPA apresentou os melhores resultados - os atrasos foram 27% menores do que quando se utiliza CUBIC e BBR.

Facebook testa novo algoritmo de controle de congestionamento COPA contra BBR e CUBIC

Facebook testa novo algoritmo de controle de congestionamento COPA contra BBR e CUBIC

Ao mesmo tempo, num canal de comunicação deficiente, COPA e BBR permitiram alcançar um rendimento significativamente maior em comparação com CUBIC. O ganho do BBR, em relação ao CUBIC, foi de 4.8% e 5.5%, e da COPA - 6.2% e 16.3%.

Facebook testa novo algoritmo de controle de congestionamento COPA contra BBR e CUBIC

Fonte: opennet.ru

Adicionar um comentário