Pesquisadores descobriram uma maneira de transformar placas de interface de rede RDMA em processadores
Crédito:NSLAB no KTH Royal Institute of Technology
Com a lei de Moore chegando ao fim, os sistemas de armazenamento estão se voltando para aceleradores de hardware, como FPGAs, para descarregar tarefas de computação intensiva da CPU. No entanto, o provisionamento desses aceleradores vem com um preço alto.
Pesquisadores do KTH Royal Institute of Technology e três outras universidades descobriram que existe uma maneira alternativa de descarregar a computação sem fazer tais investimentos. Como se vê, as placas de interface de rede (NICs) comuns que suportam RDMA – um recurso que permite a leitura/gravação direta da memória do servidor – são Turing completas. Isso significa que eles são poderosos o suficiente para realizar quaisquer cálculos arbitrários em vez de simplesmente enviar e receber pacotes. Em outras palavras, essas NICs podem ser efetivamente convertidas em processadores menores para descarregar tarefas de computação, reduzindo a carga nas CPUs do servidor. Além disso, isso também pode reduzir o consumo de energia, pois as NICs empregam chips de baixa potência.
De acordo com o artigo, que foi publicado na NSDI 2022 na primavera, essas descargas podem ser feitas sem nenhuma modificação de hardware nessas placas de rede. Para isso, os autores criaram um framework chamado RedN que combina operações RDMA (que realizam leituras/gravações de memória) para expressar construções mais sofisticadas, como instruções condicionais e até loops.
"O legal dessa descoberta é que as placas de rede RDMA são commodities, portanto, são muito mais acessíveis para descargas", diz Waleed Reda, principal autor deste artigo e pesquisador da KTH. "Assim, o potencial de impacto é muito maior, pois existem milhões desses dispositivos já implantados nos datacenters de hoje."
Evoluindo o padrão RDMA "A RedN deve tornar mais fácil para os pesquisadores experimentarem as descargas de NIC e ajudar a acelerar a inovação nessa área", diz Waleed. “Além disso, dependendo de como as pessoas usam o RedN, acredito que nossa estrutura pode criar tração suficiente para impulsionar mudanças no próprio padrão RDMA, para talvez adicionar operações RDMA mais avançadas que melhorem a eficiência de descarregamento”.
O documento avaliou os benefícios do RedN mostrando que ele pode descarregar totalmente as operações GET para um armazenamento de chave-valor popular chamado Memcached - reduzindo os ciclos de CPU e melhorando a latência em até 2,6x e 35x em configurações de carga leve e pesada, respectivamente.
O que vem a seguir? "Este trabalho abre muitas oportunidades para pesquisas de acompanhamento. Nosso artigo se concentrou principalmente em descarregar tarefas comuns de armazenamento, como acessar tabelas de hash remotas para Memcached. No entanto, existem muitos outros aplicativos em potencial que podem ser direcionados, incluindo transações de banco de dados, aprendizado de máquina distribuído , e muitos outros", diz Waleed.
"Além disso, também estamos procurando automatizar a geração de código RDMA para facilitar o uso do RedN pelos desenvolvedores", acrescenta. "No futuro, podemos optar por criar um compilador que converta a linguagem C em código RDMA executável para reduzir ainda mais o tempo de desenvolvimento".
O projeto RedN foi disponibilizado como código aberto para facilitar mais pesquisas e experimentações usando esta estrutura. A RedN foi parcialmente apoiada pelo projeto ERC ULTRA.
+ Explorar mais A tecnologia de desagregação de memória baseada em CXL abre uma nova direção para estruturas de soluções de big data