O que é RoCE?

RoCE é conhecido como RDMA sobre Ethernet Convergente. Portanto, é importante reconhecer o RDMA como uma tecnologia antes de compreender o RoCE.

O que é RDMA?

RDMA, Remote Direct Memory Access, pode transmitir dados de um servidor para outro, ou de armazenamento para servidor, com ocupação mínima de CPU. Para enviar dados, os aplicativos tradicionais precisam passar pelo sistema operacional para empacotar o TCP/IP e, em seguida, passar pelo cache principal, o cache NIC, e finalmente serem enviados. Isto leva a duas limitações.

Limitação 1: O processamento da pilha TCP/IP introduz uma latência de várias dezenas de microssegundos. Quando a pilha do protocolo TCP recebe e envia mensagens, o kernel precisa fazer várias trocas de contexto, cada uma das quais consome de 5 a 10 microssegundos. Além disso, pelo menos três cópias de dados e trabalho de protocolo dependem da CPU. Isso significa que apenas o processamento do protocolo trará um atraso fixo de várias dezenas de microssegundos. O atraso da pilha de protocolos torna-se o gargalo mais óbvio.

Limitação 2: O processamento com a pilha de protocolos TCP resulta em uma carga elevada na CPU do servidor. Além do problema de um atraso fixo mais longo, a rede TCP/IP exige que a CPU do host participe da cópia de memória do protocolo diversas vezes. Quanto maior o tamanho da rede e maior a largura de banda da rede, maior será a carga de agendamento da CPU ao enviar e receber dados, levando a uma carga de CPU continuamente alta.

Nos data centers, se o TCP/IP tradicional for usado para interconexão de rede entre recursos de armazenamento de computação distribuídos em escala ultralarga, consumirá uma grande quantidade de recursos de computação do sistema, levando a gargalos de E/S e falhando no atendimento às demandas de rede por maiores rendimento e menor latência.

modo tradicional para modo rdma

RDMA é uma tecnologia de interconexão de rede que offoferece alta largura de banda, baixa latência e baixo consumo de CPU. Essa tecnologia supera muitos dos obstáculos comumente associados às redes TCP/IP tradicionais.

Remote: Refere-se à transferência de dados entre dois nós em uma rede.

direto: Nenhum envolvimento do kernel é necessário. Todo o processamento de transmissão é offcarregado no hardware NIC (placa de interface de rede).

Memória: os dados são transferidos diretamente entre a memória virtual dos aplicativos em ambos os nós, sem a necessidade de cópia e armazenamento em cache adicionais.

Acesso a: As operações de acesso incluem envio/recebimento, leitura/gravação, etc.

Comparado com TCP/IP, RDM reduz o uso de recursos de computação e aumenta a velocidade de transmissão de dados.

O mecanismo de bypass do kernel do RDMA permite leitura/gravação direta de dados entre o aplicativo e a NIC, reduzindo a latência de transferência de dados dentro do servidor para quase 1 microssegundo. Além disso, o mecanismo de cópia zero do RDMA permite que a extremidade receptora leia diretamente os dados da memória do remetente, reduzindo significativamente a carga na CPU e melhorando a utilização da CPU.

Os benefícios de usar RDMA incluem:

  • Cópia zero: os aplicativos RDMA podem ignorar a pilha de rede do kernel e transferir dados diretamente, eliminando a necessidade de copiar dados da memória do espaço do usuário do aplicativo para o espaço de memória da pilha da rede do kernel.
  • Desvio de kernel: os aplicativos RDMA podem iniciar a transmissão de dados diretamente do modo de usuário, evitando a necessidade de alternância de contexto entre o modo kernel e o modo de usuário.
  • CPU offcarga: o RDMA pode acessar diretamente a memória de um host remoto sem consumir nenhum recurso da CPU no host remoto. A CPU do host remoto pode então se concentrar em suas prerrogativas, evitar perturbações no cache e evitar um excesso de dados de acesso à memória em grande escala.

O que é RoCE?

A partir de 2010, o RDMA chamou cada vez mais atenção quando o IBTA lançou a primeira especificação para executar RDMA sobre Ethernet Convergente (RoCE). No entanto, a especificação inicial limitou a implantação do RoCE a um único domínio da Camada 2 porque os quadros encapsulados do RoCE não tinham capacidade de roteamento. Em 2014, a IBTA lançou o RoCEv2, que atualizou a especificação inicial do RoCE para suportar roteamento em redes de Camada 3, tornando-o mais adequado para redes de data centers de grande escala e data centers corporativos.

RoCE

Os protocolos RDMA incluem Infiniband (IB), Internet Wide Area RDMA Protocol (iWARP) e RDMA over Converged Ethernet (RoCE):

  • InfiniBand: Projetado com RDMA em mente, ele redesenhou a camada de link físico, a camada de rede e a camada de transporte, para garantir uma transmissão confiável no nível do hardware e fornecer maior largura de banda e menor latência. Mas é caro e requer placas de rede e switches IB.
  • iWARP: Rede RDMA baseada em TCP, usando TCP para obter transmissão confiável. Comparado ao RoCE, no caso de redes em grande escala, o grande número de conexões TCP do iWARP consumirá muitos recursos de memória e exigirá especificações de sistema mais altas. Ele pode usar switches Ethernet comuns, mas requer placas de rede que suportem iWARP.
  • RoCE: RDMA é baseado em Ethernet, a versão RoCEv1 é baseada na camada de enlace de rede, não pode cruzar segmentos de rede e basicamente não tem aplicação. RoCEv2 é baseado em UDP, pode cruzar segmentos de rede, tem boa escalabilidade e pode atingir bom rendimento e desempenho de latência, por isso é a solução adotada em larga escala. RoCE consome menos recursos que o iWARP e oferece suporte a mais recursos que o iWARP. Ele pode usar switches Ethernet comuns, mas requer placas de rede com suporte para RoCE.
aplicativo rdma

Por que o RoCE é o protocolo RDMA convencional?

Primeiro, vamos falar sobre iWARP. A pilha de protocolos iWARP é mais complexa que as outras duas e, devido às limitações do TCP, só pode suportar transmissão confiável. Portanto, o desenvolvimento do iWARP não é tão bom quanto o RoCE e o Infiniband.

O próprio protocolo Infiniband define um novo conjunto de arquitetura hierárquica, desde a camada de enlace até a camada de transporte, que é incompatível com os dispositivos Ethernet existentes. Por exemplo, se um data center quiser mudar de Ethernet para banda infinita tecnologia devido a gargalos de desempenho, ela deve adquirir um conjunto completo de dispositivos Infiniband, incluindo placas de rede, cabos, switches, roteadores, etc., o que é muito caro.

A vantagem do protocolo RoCE é muito óbvia aqui. Os usuários só precisam comprar placas de rede que suportem RoCE para mudar de Ethernet para RoCE, e outros dispositivos de rede são compatíveis. Portanto, a principal vantagem do RoCE sobre o Infiniband é o seu custo mais baixo.

A vantagem do protocolo RoCE

RoCEv1

Em abril de 2010, o IBTA lançou o RoCE, que foi publicado como um adendo à especificação de arquitetura Infiniband, por isso também é chamado de IBoE (InfiniBand over Ethernet). Neste momento, o padrão RoCE usava a camada de rede IB em vez da camada de rede TCP/IP no topo da camada de link Ethernet, portanto, não suportava a função de roteamento IP. O protocolo RoCE V1 possui um typeID de 0x8915 na camada Ethernet.

No RoCE, o cabeçalho do protocolo da camada de link Infiniband é removido e o GUID usado para indicar o endereço é convertido em Ethernet MAC. A Infiniband depende da transmissão física sem perdas, e o RoCE também depende da transmissão Ethernet sem perdas, o que traz custos e sobrecarga de gerenciamento para a implantação da Ethernet.

A transmissão sem perdas da Ethernet deve contar com suporte L2 QoS, como PFC (Priority Flow Control). Quando o buffer pool excede o limite, o receptor envia um quadro de pausa ao remetente. Depois de receber o quadro de pausa, a camada MAC do remetente reduz automaticamente a taxa de transmissão. Este requisito significa que todos os nós em todo o enlace de transmissão, incluindo a extremidade, o switch e o roteador, devem suportar QoS L2, caso contrário o PFC no enlace não poderá desempenhar um papel efetivo em ambas as extremidades.

RoCEv2

Como o quadro de dados do RoCEv1 não possui um cabeçalho IP, ele só pode se comunicar dentro da sub-rede L2. Para resolver este problema, a IBTA propôs o RoCE V2 em 2014, que estendeu o RoCEv1, substituindo o GRH (Global Routing Header) por cabeçalho UDP + cabeçalho IP. A estrutura do quadro estendido é mostrada na figura a seguir. Para RoCE v1 e RoCE v2, vale a pena observar os dois pontos a seguir:

  • RoCE v1 (camada 2) opera na camada de link Ethernet (camada 2), portanto, Ethertype 0x8915, portanto, o tamanho normal do quadro é 1500 bytes e o quadro Jumbo é 9000 bytes.
  • RoCE v2 (Camada 3) opera em UDP/IPv4 ou UDP/IPv6 (Camada 3) e usa a porta UDP 4791 para transmissão. Como o pacote RoCE v2 pode ser roteado na camada 3, às vezes ele é chamado de RoCE roteável ou simplesmente RRoCE.
RoCE v1 (camada 2) opera na camada de link Ethernet (camada 2)

Como o RDMA requer uma rede sem perdas de pacotes para evitar a degradação drástica do desempenho, a tecnologia RoCE precisa transformar a rede Ethernet tradicional em uma rede Ethernet sem perdas usando tecnologias PFC, ECN e DCQCN, para garantir perda zero de pacotes.

a rede sem perdas para roce

PFC: Controle de fluxo baseado em prioridade. O PFC fornece controle de fluxo baseado em prioridade por salto para vários tipos de tráfego.

Ao encaminhar pacotes, o dispositivo atribui pacotes a filas para agendamento e encaminhamento, consultando a prioridade dos pacotes na tabela de mapeamento de prioridades. Quando a taxa de envio de pacotes com prioridade 802.1p excede a taxa de recebimento e o espaço do buffer de dados no receptor é insuficiente, o receptor envia um quadro de pausa PFC ao remetente. Quando o remetente recebe o quadro de pausa PFC, ele para de enviar pacotes com a prioridade 802.1p especificada até que o remetente receba um quadro PFC XON ou o tempo limite de envelhecimento expire. Ao configurar o PFC, o congestionamento de um tipo específico de pacote não afeta o encaminhamento normal de outros tipos de pacotes.

ECN: Notificação Explícita de Congestionamento. ECN define um mecanismo de controle de tráfego e notificação de congestionamento ponta a ponta baseado na camada IP e na camada de transporte. Quando o dispositivo está congestionado, o ECN marca o campo ECN no cabeçalho IP do pacote. O receptor envia um pacote de notificação de congestionamento (CNP) para notificar o remetente para diminuir a velocidade de envio. A ECN implementa gestão de congestionamento de ponta a ponta, reduzindo a propagação e o agravamento do congestionamento.

PFC ECN

DCQCN (Data Center Quantized Congestion Notification): Atualmente o algoritmo de controle de congestionamento mais utilizado em redes RoCEv2. Ele mescla algoritmos QCN e DCTCP e requer switches de data center para oferecer suporte a WRED e ECN. DCQCN pode fornecer melhor justiça, alcançar uma alta taxa de utilização de largura de banda, garantir uma baixa taxa de ocupação do buffer de fila e menos jitter do buffer de fila.

Atualmente, muitos fabricantes possuem suas próprias soluções de rede sem perdas.

Huawei

A solução de algoritmo inteligente sem perdas iLossless da Huawei é um algoritmo de IA que utiliza inteligência artificial para conseguir agendamento de congestionamento de rede e auto-otimização da rede. É centrado em ECN automático e introduz Deep Reinforcement Learning (DRL) em switches de data center de altíssima velocidade. Com base no algoritmo inteligente sem perdas iLossless, a Huawei lançou a solução de rede de data center superconvergente CloudFabric 3.0, liderando a era inteligente sem perdas em 1.0.

Em 2022, a rede hiperconvergente de data center da Huawei propôs tecnologia inteligente de integração de cálculo web sem perdas e arquitetura inovadora de topologia de conexão direta, que pode realizar uma rede de hub computacional em grande escala de 270k. O atraso pode ser reduzido ainda mais em 25% com base no 1.0 inteligente sem perdas.

O Huawei Intelligent Lossless 2.0 é baseado em computação em rede e computação com reconhecimento de topologia para obter sinergia de rede e computação. A rede participa da coleta e sincronização de informações computacionais, reduzindo o número de vezes de sincronização de informações computacionais. Simultaneamente, garante a conclusão de tarefas de computação próximas aos nós de computação por meio de agendamento, reduzindo saltos de comunicação e reduzindo ainda mais a latência do aplicativo.

H3C

O algoritmo inteligente sem perdas AI ECN da H3C, que se baseia no modelo de tráfego de rede (valores Incast, profundidade máxima da fila, proporção de fluxos grandes e pequenos, entre outras características de tráfego no modelo N-para-1), utiliza algoritmos de aprendizagem por reforço para treinar o IA com o modelo de tráfego. A IA pode detectar e prever tendências de tráfego de rede em tempo real e ajustar automaticamente o limite ECN ideal para agendamento preciso de filas. Ao fazer isso, ele equilibra a transmissão de pequenos fluxos sensíveis à latência e fluxos maiores sensíveis à taxa de transferência para garantir o desempenho ideal da rede, evitando ao mesmo tempo o acionamento do controle de congestionamento do PFC da rede.

A solução de rede sem perdas AD-DC SeerFabric da H3C é baseada em uma arquitetura colaborativa de IA de nuvem de ponta. Ao inovar e otimizar o algoritmo de ajuste AI ECN do setor e combinar a capacidade local AI Inside do switch de data center da H3C, esta solução aumenta o rendimento e diminui a latência, ao mesmo tempo que garante perda zero de pacotes. Ele garante qualidade e encaminhamento precisos do serviço de rede. Além disso, por meio de operações e manutenção inteligentes refinadas, ele visualiza a experiência de serviço das redes RoCE.

Inspur

Em abril de 2022, a Inspur Networks lançou sua típica solução Ethernet sem perdas, centrada em switches Ethernet de data center que suportam a tecnologia RoCE. A solução offoferece as seguintes vantagens:

1. Integração perfeita de computação, armazenamento, rede e AIStation. Ele suporta tecnologias de gerenciamento de congestionamento, como PFC e ECN, permitindo o estabelecimento de redes RDMA de ponta a ponta, sem perdas e de baixa latência. A excelente vantagem de buffer do switch pode absorver o tráfego burst sem problemas, lidando efetivamente com o TCP em cenários de conversão.

2. Descoberta proativa de falhas e failover automático. As redes RoCE-SAN podem colaborar com operações de armazenamento para detecção rápida de falhas. O switch pode detectar rapidamente estados de falha e notificar os servidores que assinam mensagens de notificação dentro do domínio comercial relevante, permitindo uma mudança rápida para caminhos redundantes e reduzindo os impactos nos negócios. Para ambientes Ethernet sem perdas e de grande escala que enfrentam problemas de deadlock de PFC, a solução fornece um mecanismo de prevenção de deadlock de PFC em nível de chip para detecção e recuperação automática de deadlock.

3. Armazenamento plug-and-play. As redes RoCE-SAN podem detectar automaticamente a incorporação de servidores de dispositivos e dispositivos de armazenamento, notificando os servidores para estabelecer conexões automaticamente com os dispositivos de armazenamento.

Deixe um comentário

Voltar ao Topo