O que é RDMA?
Time 2026-04-23

RDMA (Acesso Direto à Memória Remota) é uma tecnologia de comunicação de rede derivada do DMA (Acesso Direto à Memória). Ela permite que os aplicativos do usuário contornem o kernel do sistema operacional (CPU) e interajam diretamente com as placas de interface de rede (NICs) para a transmissão de dados, proporcionando largura de banda ultra-alta e latência ultra-baixa. Inicialmente desenvolvido para computação de alto desempenho (HPC), o RDMA agora é amplamente adotado em data centers.

1. Princípios técnicos do RDMA

O princípio fundamental da RDMA consiste em utilizar hardware especializado em adaptadores de rede (por exemplo, motores RDMA em placas de rede) para contornar o kernel do sistema operacional e realizar transferências diretas de memória abaixo da camada de transporte de rede. Esse mecanismo minimiza a latência e a sobrecarga da CPU, ao mesmo tempo em que aumenta a eficiência da rede


No RDMA, a comunicação entre o remetente e o destinatário é realizada por meio do adaptador RDMA. Primeiro, o remetente registra o buffer de dados a ser enviado na memória do adaptador RDMA e envia seu descritor (contendo o endereço, o tamanho e outras informações dos dados) ao destinatário. O receptor registra o buffer de recepção no adaptador RDMA e informa ao adaptador o endereço do buffer de recepção. Em seguida, o remetente transfere os dados diretamente do buffer de envio para o buffer de recepção por meio do adaptador RDMA, sem a intervenção do sistema operacional. Esse processo é chamado de operação de gravação RDMA. O receptor também pode ler dados diretamente da memória do remetente por meio de uma operação de leitura RDMA.


O RDMA suporta três tipos básicos de operações: operações de gravação, operações de leitura e operações atômicas. As operações de gravação permitem que um nó grave dados diretamente na memória de outro nó. As operações de leitura permitem que um nó leia dados diretamente da memória de outro nó. As operações atômicas são operações especiais que podem realizar algumas operações atômicas em nós remotos, como a comparação e troca (CAS).


O princípio de funcionamento do RDMA consiste principalmente em reduzir o atraso na transmissão de dados e a carga da CPU por meio do acesso direto à memória no nível do hardware. Em comparação com o método tradicional de comunicação TCP/IP, o RDMA não precisa estabelecer uma conexão entre o remetente e o destinatário, nem realizar processamento de protocolo complexo, por isso apresenta maior desempenho e menor latência. Além disso, o RDMA também suporta recursos como zero copy e kernel bypass, que podem melhorar ainda mais a eficiência da transmissão de dados.


Em geral, o princípio técnico do RDMA consiste em utilizar hardware dedicado na placa de rede por meio do acesso direto à memória, contornando o kernel do sistema operacional, para obter uma comunicação de rede eficiente, com baixa latência e baixo consumo de CPU.


2. As características técnicas do RDMA incluem, principalmente, os seguintes aspectos:


* Não requer intervenção da CPU: Uma das principais características da tecnologia RDMA é que ela não requer intervenção da CPU. As aplicações podem acessar diretamente a memória do host remoto sem consumir recursos da CPU nesse host. Isso reduz significativamente o atraso e a ocupação da CPU durante a transmissão de dados e melhora o desempenho geral.


* Contornamento do kernel: O RDMA suporta a tecnologia de contornamento do kernel, ou seja, os aplicativos podem realizar diretamente a transmissão de dados no modo de usuário, sem a necessidade de alternância de contexto entre o modo do kernel e o modo de usuário. Isso reduz ainda mais o atraso na transmissão de dados e melhora a eficiência.


* Zero copy: a tecnologia RDMA possui a característica de “zero copy”, o que evita que a CPU tenha de copiar dados de um armazenamento para outro. Na comunicação TCP/IP, a transmissão de dados entre hosts exige frequentes operações de cópia, e a RDMA reduz essas operações desnecessárias por meio do acesso direto à memória, melhorando assim a eficiência da transmissão de dados.


* Alta largura de banda e baixa latência: como o RDMA contorna a pilha de protocolos fornecida pelo sistema operacional e realiza diretamente a transmissão de dados na camada de transporte da rede, ele apresenta maior utilização da largura de banda e menor latência. Isso torna o RDMA muito adequado para cenários de comunicação em rede que exigem alto desempenho e baixa latência.


* Suporte de hardware: O RDMA requer suporte de hardware específico da placa de rede, que geralmente possui um mecanismo RDMA dedicado para processar a comunicação RDMA. Esse suporte de hardware permite que o RDMA alcance seu alto desempenho e baixa latência.


De modo geral, as características técnicas do RDMA incluem a ausência de intervenção da CPU, o contorno do kernel, a tecnologia zero copy, alta largura de banda e baixa latência, além do suporte de hardware. Essas características tornam o RDMA uma tecnologia de comunicação de rede eficiente e de baixa latência, especialmente adequada para cenários que exigem o processamento de grandes volumes de dados e comunicações de rede de alto desempenho.


3. Cenários de aplicação do RDMA


Os cenários de aplicação da tecnologia RDMA são muito amplos. A seguir, apresentamos alguns dos principais cenários de aplicação:


* Data Center: Em um data center, os servidores precisam transmitir e trocar grandes quantidades de dados com frequência. O alto desempenho e a baixa latência do RDMA tornam essa tecnologia muito adequada para comunicações de rede em data centers, o que pode melhorar a eficiência da transmissão de dados, reduzir a latência e aprimorar o desempenho geral.


* Computação de Alto Desempenho (HPC): O campo da computação de alto desempenho exige o processamento de grandes volumes de dados e a realização de cálculos complexos. O acesso direto à memória (RDMA) e a tecnologia zero copy podem reduzir a sobrecarga de transmissão de dados e melhorar a eficiência computacional. Ao mesmo tempo, o RDMA suporta processamento paralelo em grande escala e é muito adequado para computação paralela com múltiplos nós em ambientes de HPC.


* Sistema de armazenamento distribuído: Em um sistema de armazenamento distribuído, os nós precisam realizar frequentemente operações de leitura e gravação de dados. A transmissão eficiente de dados e as características de acesso direto à memória do RDMA podem aumentar a eficiência da leitura e gravação de dados entre os nós e melhorar o desempenho geral dos sistemas de armazenamento distribuído.


* Computação em nuvem: Em um ambiente de computação em nuvem, a comunicação e a transmissão de dados entre máquinas virtuais (VMs) são requisitos comuns. A RDMA pode ser utilizada para garantir uma comunicação eficiente entre as VMs e melhorar o desempenho geral do ambiente de computação em nuvem.


Em geral, embora o RDMA apresente algumas deficiências e limitações, continua sendo uma tecnologia de comunicação de rede bastante eficaz em muitos cenários que exigem alto desempenho e baixa latência. Ao decidir se deve ou não utilizar o RDMA, é necessário avaliar sua aplicabilidade e desempenho com base nos requisitos específicos da aplicação e nos ambientes envolvidos.

Service
联系我们