O Transmission Control Protocol (TCP), a espinha dorsal da internet e da computação em nuvem, pode estar com os dias contados, ao menos para as aplicações mais exigentes da era da inteligência artificial. John Ousterhout, professor emérito de ciência da computação na Universidade de Stanford, argumenta que o TCP, apesar de sua longevidade e sucesso, não é mais adequado para os modernos data centers e suas cargas de trabalho intensivas em IA. Para suprir essa lacuna, Ousterhout tem promovido ativamente o Homa, um novo protocolo de rede que ele acredita ser a solução ideal.

O Homa em Detalhes

Desenvolvido inicialmente como parte de uma tese de doutorado em 2019 por Behnam Montazeri, agora engenheiro no Google, o Homa representa uma reengenharia completa da forma como o tráfego de rede é gerenciado. Sua principal diferença em relação ao TCP reside na sua abordagem baseada em mensagens, em contraste com o modelo de fluxo de bytes do TCP. Assim como chamadas de procedimento remoto (RPC), o Homa define explicitamente os comprimentos das mensagens. Crucialmente, a gestão do controle de congestionamento é delegada ao receptor, que, ao receber o primeiro pacote, obtém informações sobre o volume de dados esperado e pode agendar o envio de pacotes subsequentes. Isso permite priorizar mensagens mais curtas sobre as mais longas através de um algoritmo de shortest-remaining-processing-time (SRPT), reduzindo a latência em até uma ordem de magnitude. Ousterhout cita que a latência de 99% (p99) para mensagens curtas com Homa é de 92 microssegundos, comparado a 1.2 milissegundos no TCP em redes de 100 Gbps com 80% de utilização. Mesmo em mensagens longas, o Homa apresenta uma melhoria de duas vezes.

Desafios e Críticas ao Homa

A transição de um protocolo tão fundamental quanto o TCP é uma tarefa monumental. No entanto, Ousterhout afirma que a implementação do Homa é relativamente simples, podendo ser compilado a partir do código-fonte no GitHub e instalado em kernels Linux sem a necessidade de reinicialização. O protocolo opera em conjunto com o TCP, permitindo uma migração gradual de aplicações. Ele também sugere que a presença do Homa pode até acelerar as aplicações TCP remanescentes. Atualmente, Ousterhout está trabalhando na padronização do protocolo junto ao IETF e em sua inclusão no kernel Linux. Ele também colabora com grandes empresas, incluindo uma do setor financeiro, em protótipos. Contudo, a proposta do Homa não é unanimidade. Ivan Pepelnjak, um renomado arquiteto de redes, publicou em 2023 um artigo crítico questionando as caracterizações de desempenho do TCP feitas por Ousterhout e argumentando que o Homa é uma solução em busca de um problema.

A Necessidade de Alternativas ao TCP

A frustração com as limitações do TCP não se restringe apenas ao ecossistema de IA. Comunidades que exigem alta performance, como bancos de dados de alto desempenho, já utilizam o DPDK para contornar o stack TCP. O setor de armazenamento adota NVMe-oF para acelerar o acesso a SSDs. O Google desenvolveu o QUIC (base para HTTP/3) para superar o bloqueio head-of-line do TCP. O mercado de alta frequência e jogos online também sente os efeitos da lentidão do TCP, recorrendo a soluções como RDMA e AWS SRD. Mesmo switches de ponta aprimoraram o gerenciamento de congestionamento. O TCP, criado para trazer ordem a fluxos de dados, opera com um modelo de byte stream contínuo, sem priorização inerente de mensagens. Isso dificulta o gerenciamento de tráfego em cenários onde a latência é crítica, como em cargas de trabalho de IA que dependem do desempenho de GPUs.

Perguntas em Aberto e o Futuro

O principal argumento em favor do Homa reside na sua capacidade de lidar com a latência em aplicações sensíveis, onde mesmo milissegundos podem impactar o desempenho de hardware caro, como GPUs, que podem ficar ociosas. Para Ousterhout, protocolos legados são mal adaptados a esse ambiente. Resta saber se o Homa conseguirá superar o ceticismo e a inércia do ecossistema de redes para se tornar um padrão. Até lá, o TCP, apesar de suas limitações, continua sendo o protocolo dominante.

Com reportagem de Brazil Valley

Source · The Register