OpenURMA: A Clean-Room Open Implementation of the Unified Bus Protocol
Este artigo apresenta o OpenURMA, a primeira implementação de código aberto em sala limpa do protocolo de Barramento Unificado da Huawei, que demonstra, por meio de simulações RTL, SystemC e gem5, que o desacoplamento do estado por aplicação do estado de transporte reduz a latência de busca remota de 64 bytes em 4,37 vezes e aumenta a taxa de transferência em 2,80 vezes em comparação com as linhas de base tradicionais RoCEv2.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
O Grande Problema: O Gargalo do "Periférico"
Imagine um datacenter moderno como um enorme prédio de escritórios onde milhares de funcionários (aplicações) precisam conversar entre si instantaneamente.
Atualmente, a maneira padrão de eles conversarem é assim:
- O Problema do Periférico: A placa de rede (NIC) é tratada como um dispositivo periférico, semelhante a uma impressora ou um mouse conectados a um computador. Ela fica "fora" do cérebro principal (a CPU).
- O Sistema de Filas: Para enviar uma mensagem, um funcionário precisa escrever uma nota (um "Work Request"), levá-la até o correio da placa de rede (o "Doorbell") e esperar. A placa de rede então a pega, processa e escreve uma nota "Concluído" de volta ao correio.
- O Engarrafamento: Como a placa de rede está "fora", cada nota individual precisa atravessar uma rodovia movimentada (o barramento PCIe) quatro vezes apenas para ser enviada e confirmada.
- A Crise de Memória: A placa de rede precisa manter uma pasta de arquivo pessoal para cada par individual de funcionários conversando entre si. Se você tiver 1.000 funcionários conversando com 1.000 outros, a placa precisa de 1 milhão de pastas. Ela fica sem espaço na mesa (memória on-chip) e precisa começar a correr até o arquivo no porão (memória RAM do host) para pegar arquivos. Isso deixa tudo extremamente lento.
O Resultado: Mesmo que os cabos de internet (o "fio") sejam incrivelmente rápidos, todo o sistema fica preso no trânsito devido à forma como a placa de rede está conectada e organizada.
A Solução: O Barramento Unificado (UB) da Huawei
A Huawei propôs um novo design chamado Barramento Unificado (UB) (em seu chip Ascend 950) para corrigir isso. Eles não apenas consertaram o sistema antigo; mudaram as regras da estrada.
1. Movendo o Escritório para Dentro do Prédio
Em vez de a placa de rede ser um periférico fora do prédio, o UB coloca o controlador de rede dentro do prédio no corredor principal (o barramento on-chip).
- Analogia: Em vez de caminhar até o saguão para enviar uma carta, agora você pode apenas entregá-la a um colega parado ao lado da sua mesa. Você não precisa atravessar a rodovia quatro vezes; basta dar um passo.
2. Dividindo o Sistema de Arquivos
O sistema antigo mantinha uma pasta gigante para cada par de pessoas conversando. O UB divide isso:
- Jetty: Um pequeno cartão para o lado sua da conversa.
- Canal TP: Um cartão compartilhado para o lado da outra pessoa.
- Analogia: Em vez de precisar de uma pasta exclusiva para cada par de pessoas (o que explode em tamanho), você só precisa de um cartão para si mesmo e um cartão compartilhado para a pessoa com quem está falando. O número total de pastas cresce lentamente (aditivamente) em vez de explodir (multiplicativamente). Isso impede que o espaço na mesa da placa de rede transborde.
3. O Atalho "Load/Store" (Carregar/Armazenar)
Como o controlador agora está dentro do prédio, a CPU pode conversar com ele diretamente usando instruções padrão (como LOAD ou STORE), assim como ler uma variável em um programa.
- Analogia: Você não precisa preencher um formulário, caminhar até o correio e esperar por um recibo. Você apenas pega os dados de que precisa instantaneamente.
4. Regras Opcionais (Ordenação por Otimização)
O sistema antigo forçava regras estritas: "Você deve receber mensagens na ordem exata em que foram enviadas, não importa o quê." Isso é lento e desnecessário para muitas tarefas.
- Analogia: O UB diz: "Podemos entregar mensagens o mais rápido possível. Se você realmente precisar delas em ordem, apenas levante a mão e nós desaceleraremos para organizá-las. Se você não se importa, apenas as despejaremos na sua caixa de entrada conforme chegarem." Isso economiza tempo para todos que não precisam de ordem estrita.
O Que o OpenURMA Fez
O chip da Huawei existe, mas é uma "caixa preta". Ninguém pode ver como funciona por dentro, medi-lo ou construí-lo sobre ele.
O OpenURMA é a primeira implementação de código aberto e clean-room deste novo sistema.
- "Clean-room" significa que eles o construíram do zero usando apenas o livro de regras público (a especificação), sem olhar para o código secreto da Huawei.
- Eles construíram três versões para testá-lo:
- RTL: O projeto real para chips de hardware (testado em uma placa FPGA).
- SystemC: Uma simulação de computador super detalhada da rede.
- gem5: Uma simulação completa de computador executando um sistema operacional real.
Eles compararam seu novo sistema (OpenURMA) com o padrão antigo (RoCEv2) usando exatamente as mesmas ferramentas para garantir uma disputa justa.
Os Resultados: Quão Mais Rápido?
O artigo afirma melhorias massivas, especificamente para operações pequenas e rápidas (como buscar um pequeno pedaço de dados):
- Velocidade: O novo sistema é 4,37 vezes mais rápido (cerca de 500 nanossegundos) do que o sistema antigo (cerca de 2.186 nanossegundos) para uma busca de dados padrão.
- Taxa de Transferência: Pode lidar com 2,8 vezes mais dados por segundo.
- Eficiência: Usa muito pouco espaço no chip (apenas cerca de 14% do espaço disponível em uma placa de teste).
- Escalabilidade: À medida que você adiciona mais usuários (de 1 a 1.024), o sistema antigo desacelera drasticamente porque fica sem espaço na mesa. O novo sistema permanece rápido e estável porque seu sistema de arquivos é eficiente.
Por Que Isso Importa (Segundo o Artigo)
O artigo argumenta que a maneira atual de conectarmos computadores em datacenters (tratando a placa de rede como um periférico) está fundamentalmente quebrada para cargas de trabalho modernas de IA e grandes volumes de dados.
- A Alternativa "Coerente": Existem outras tecnologias (como CXL ou NVLink) que tentam fazer a memória parecer "compartilhada" e "coerente". No entanto, o artigo argumenta que essas tecnologias falham quando você tenta escalá-las para grandes clusters (muitos racks de servidores) porque exigem muito rastreamento de estado e não conseguem lidar bem com erros de rede.
- A Vantagem do UB: O UB aceita que a rede não é perfeita e não tenta forçar uma "coerência perfeita" em todo o prédio. Em vez disso, fornece à aplicação as ferramentas para gerenciar a ordem apenas quando necessário, permitindo que ela escale para milhares de servidores sem o colapso de desempenho visto em outros sistemas.
Resumo
Pense no sistema antigo como um correio onde você precisa caminhar até o balcão, preencher um formulário, esperar na fila e obter um recibo para cada carta individual.
Pense no novo sistema OpenURMA como um mensageiro particular que senta ao seu lado, sabe exatamente com quem você está falando e pode entregar uma carta em sua mão instantaneamente sem nenhuma papelada, a menos que você peça especificamente um recibo.
O artigo prova que essa nova maneira de organizar a rede não é apenas uma teoria, mas um design aberto e funcional que é significativamente mais rápido e escalável do que o que usamos hoje.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.