ArmazenamentoReview.com

SmartNICs mudarão radicalmente o data center

Empreendimento  ◇  Networking

De todas as tecnologias no datacenter, nenhuma está evoluindo mais rapidamente do que a conectividade de rede. Há 20 anos, a rede 1GbE era considerada exótica e a infraestrutura necessária para suportá-la (por exemplo, NICs, switches e cabos) era cara e rara. Três anos atrás, as redes 10GbE eram o que havia de mais moderno, mas agora 20, 40 e até mesmo as redes 100GbE se tornaram padrão em data centers. A rede não apenas ficou mais ampla, como também se tornou mais sofisticada com a adição de elementos como virtualização, rede definida por software (SDN), redes de sobreposição e outras tecnologias que nem sequer haviam sido previstas dez anos atrás, mas agora são comuns e estão sobrecarregando os recursos nos servidores do datacenter.

**Saiba mais sobre SmartNICs e o data center componível no Xilinx Adapt .**

Ao lidar com redes acima de 10GbE, começamos a observar gargalos na CPU dos servidores, à medida que os pacotes de rede são encaminhados para a CPU para processamento. Com redes de 25GbE, uma porcentagem considerável do tempo da CPU é gasta no processamento de pacotes de rede. Para lidar com esse problema, desenvolvemos técnicas para transferir algumas funções de rede da CPU para a placa de rede (NIC). Chamamos os dispositivos capazes de realizar esse descarregamento de SmartNICs.

Neste artigo, explicaremos o que é um SmartNIC, o valor que eles agregam ao data center e por que você deve começar a investigá-los e investi-los. Finalmente, veremos um SmartNIC particularmente inovador, o Xilinx SN1000.

Xilinx SN1000

O que é um SmartNIC?

A transferência de operações de rede da CPU para uma placa de rede (NIC) tem sido o foco dos principais provedores de nuvem, que estão sempre buscando maior eficiência no data center. Não existe uma regra rígida sobre o que é necessário para classificar uma NIC como "inteligente" ; no entanto, no mínimo, ela deve ser capaz de lidar com algumas das funções do plano de controle encontradas em switches virtuais e com algumas das funcionalidades de virtualização de funções de rede (NFV), como firewall, detecção e prevenção de intrusões, inspeção de hosts e criptografia, bem como tarefas do plano de dados, como qualidade de serviço (QoS) de rede e monitoramento e relatórios de fluxo.

O que está impulsionando a adoção de SmartNICs?

Nuvens públicas e hyperscalers impulsionaram a inovação do data center na última década e continuarão a fazê-lo no futuro previsível. A tecnologia que eles usam acaba sendo transferida para os data centers corporativos e o mesmo se aplica aos SmartNICs. Em retrospectiva, os SmartNICs simplesmente colocam as funções de rede onde deveriam estar: de volta à NIC, em vez de desperdiçar largura de banda da CPU e da placa-mãe.

É fácil imaginar quanto tráfego de rede é descartado ou bloqueado na rede sem agregar qualquer valor ao sistema/CPU que é forçado a lidar com eles - simplesmente porque NFVs e outras funções são implementadas usando a CPU de um servidor tradicional em vez de do que no nível da NIC. Cada ciclo de CPU que pode ser descarregado da CPU o libera e permite que o servidor faça um trabalho produtivo.

Para ilustrar como um SmartNIC pode ser benéfico, podemos pegar algo tão simples quanto um ataque distribuído de negação de serviço (DDoS). Embora um DDoS seja raro em um data center moderno, ter um SmartNIC lidando com um DDoS permitiria que a CPU do sistema continuasse com um trabalho produtivo em vez de classificar, classificar e descartar pacotes. Um exemplo mais moderno seria ter um SmartNIC lidando com o encapsulamento de pacotes de rede que são usados ​​por redes de sobreposição em vez da CPU do sistema.

Por que a Xilinx é líder em tecnologia SmartNIC

Com todas as tecnologias emergentes, existem empresas que se posicionam na vanguarda da tecnologia. Essas empresas tendem a ser apaixonadas e focadas em tecnologia. Eles dedicam suas energias ao objetivo de superar a miríade de obstáculos que impediriam a entrada da nova tecnologia no mercado. A Xilinx é uma dessas empresas.

A Xilinx tem uma longa história de inovação em tecnologias emergentes. Por exemplo, eles inventaram o field-programmable gate array (FPGA) e são considerados líderes nesta tecnologia. Trazer uma nova tecnologia, como um SmartNIC, para o mercado não é uma proposta barata e, com receitas de mais de US$ 3 bilhões em 2020, eles têm recursos financeiros para isso. Mas também requer conhecimento sério de engenharia e gerenciamento – novamente, a Xilinx tem ambos.

Em abril de 2019, a Xilinx firmou um acordo para adquirir a Solarflare Communications, desenvolvedora anterior de rede de latência ultrabaixa e aceleração de aplicativos e líder em tecnologia SmartNIC. Mais tarde naquele ano, a Xilinx demonstrou um 100G SmartNIC baseado em FPGA de chip único baseado nas tecnologias Solarflare e Xilinx. Este SmartNIC combinou Xilinx FPGA, sistema em um chip (SoC) e plataforma de aceleração de computação adaptativa (ACAP) com a tecnologia da Solarflare para criar uma nova solução SmartNIC convergente, que se tornou o Xilinx SN1000.

O Xilinx ALVEO SN1000

O Xilinx SN1000 é um NIC FHHL PCIe x16 físico (Gen 4 x8 ou Gen 3 x16 elétrico) com duas portas ópticas ou de cobre de 100 GbE. Ele tem um processador Cortex-A16 de 72 núcleos e um FPGA com mais de um milhão de tabelas de consulta (LUTs). Uma LUT é basicamente como o FPGA constrói sua lógica; quanto mais LUTs um FPGA tiver, mais poderoso e flexível ele será. A placa tem um total de 12 GB de RAM DDR4, sendo 4 GB dedicados ao processador Arm e 8 GB ao FPGA. Esse esquema de hardware se traduz na capacidade do SN1000 de descarregar 4 milhões de conexões com estado e processar 100 milhões de pacotes por segundo (PPS).

Diagrama de blocos Xilinx SN1000

Circuitos integrados específicos de aplicativos (ASICs), FPGAs e SoCs podem ser usados ​​para fazer SmartNICs. ASICs podem ter alto desempenho; no entanto, eles têm flexibilidade limitada e é difícil adicionar funcionalidade adicional a eles. E embora os SoCs sejam extremamente flexíveis, eles não têm a velocidade dos ASICs e FPGAs.

Para fornecer flexibilidade e desempenho em seu SmartNIC SN1000, a Xilinx usa um poderoso SoC para funções de plano de controle devido à sua flexibilidade inerente e o combina com um FPGA para funções de plano de dados por motivos de desempenho. A principal vantagem de usar um FPGA sobre um ASIC é que um FPGA pode ser reprogramado quando uma nova funcionalidade é desenvolvida e/ou necessária, ao passo que pode levar um ano ou mais para obter um novo ASIC no campo.

Desenvolver código para um FPGA não é uma questão trivial, e a Xilinx possui algumas ferramentas excelentes para atender a essa necessidade. Usando o conjunto de ferramentas de desenvolvimento e programação da Xilinx, os clientes da Xilinx podem escrever seus próprios aplicativos FPGA em uma linguagem de programação de alto nível com a qual os desenvolvedores de software estão acostumados, em vez do código de hardware tradicionalmente usado para o desenvolvimento de aplicativos FPGA.

A Xilinx também desenvolveu um mercado de aplicativos onde podem ser obtidas soluções desenvolvidas pela Xilinx e por terceiros. Essa abordagem permite que os compradores do SN1000 obtenham um retorno sobre o investimento (TTV) mais rápido, evitando o ciclo de desenvolvimento. A loja de aplicativos oferece soluções para NFV, segurança de rede, processamento de imagens, aprendizado de máquina (ML) e outras funções que podem e devem ser executadas no nível do SmartNIC.

Os aplicativos Xilinx são empacotados como contêineres docker. Eles podem ser avaliados para uso gratuitamente e, em seguida, comprados diretamente na loja por meio de cartão de crédito.

Loja de aplicativos Xilinx SN1000

Embora os SmartNICs Xilinx sejam um produto de ponta, isso não quer dizer que eles estão tão à frente da curva que estão impedindo a adoção e o uso. Pelo contrário, os Xilinx SmartNICs já estão sendo implantados para atender a casos de uso específicos em nuvens públicas, hiperescaladores e datacenters modernos. Alguns exemplos de como eles estão sendo usados ​​incluem; Encapsulamento de túnel VXLAN e NVGRE, Open Virtual Switch (OVS), Intel DPDK e Virtio-net I/O.

Outro caso de uso interessante para SmartNICs é que eles estão sendo usados ​​para descarregar funções de armazenamento, como o cliente de armazenamento de objetos Ceph, e o NVMe-oF está ganhando popularidade. Além disso, para negociação de alta velocidade, a Xilinx afirmou que seu SmartNIC pode atingir latência de nanossegundos para negociação algorítmica “tick to trade”.

A análise de vídeo é outro setor em que os SmartNICs se destacam. Devido ao volume de dados envolvidos com o vídeo, é inviável passá-lo de volta para um repositório central. Como solução, os SmartNICs estão sendo usados ​​em dispositivos de borda para lidar com funções de interpretação de vídeo, como detecção de máscara, contagem e rastreamento de pessoas, bem como cercas virtuais, pois exigem a inferência de IA que o FPGA pode lidar com rapidez e eficiência.

Por que você precisa de SmartNICs

Com o aumento das redes de banda larga, estamos exigindo cada vez mais dos servidores em nossos datacenters. Estamos chegando a um ponto em que, devido ao número de pacotes de rede que precisam ser processados ​​com mais largura de banda de rede, os servidores têm menos ciclos para fazer um trabalho lucrativo. Alguns estudos mostraram que mais de 20% dos ciclos de CPU de um servidor podem ser usados ​​para processamento de pacotes em datacenters tradicionais que possuem redes de alta largura de banda. Por exemplo, com uma CPU de 3 GHz, um processador tem aproximadamente 300 ciclos para processar um pacote de 1500B para acompanhar a taxa de linha.

Para liberar as CPUs para o trabalho de alto valor para o qual foram projetadas, precisamos descarregar funções desnecessárias em outros dispositivos, aqueles que estão mais próximos de sua origem. Neste caso, o dispositivo certo para lidar com redes é um SmartNIC.

Embora os SmartNICs não sejam apenas da competência da Xilinx, eles estão posicionados na vanguarda dessa tecnologia emergente. Ao usar um SoC combinado com FPGA, eles conseguem a facilidade de uso e a flexibilidade de uma solução definida por software com o desempenho de uma solução implementada por hardware. A Xilinx sabe que os aplicativos são necessários para explorar SmartNICs, então eles criaram um ambiente de programação que permite aos programadores de computador, em vez de engenheiros de hardware, desenvolver os aplicativos executados em seus SmartNICs. Para os usuários que procuram uma proposta de TTV mais rápida, a Xilinx possui uma loja de aplicativos para permitir a compra de aplicativos de terceiros.

Para que um datacenter moderno seja competitivo, ele precisa liberar seus servidores de tantas tarefas desnecessárias quanto possível. Essas tarefas incluem firewalls dinâmicos, balanceamento de carga, IPsec, TLS, NVMe-over-TCP, acesso ao armazenamento Virtio.blk, compactação de dados ou inúmeras outras funções que são melhor gerenciadas com um SmartNIC.

Saiba mais em Xilinx Adapt

O Xilinx Adapt é um evento digital que acontecerá nos dias 24 e 25 de março de 2021 e abordará a relevância das SmartNICs em data centers, além de tópicos importantes como computação em nuvem, armazenamento computacional e data centers componíveis. A entrada é gratuita e as gravações ficarão disponíveis posteriormente.

Saiba mais

Envolva-se com a StorageReview

Newsletter | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Feed RSS

Tom Fenton

Tom Fenton tem uma vasta experiência prática em TI adquirida ao longo dos últimos 27 anos em uma variedade de tecnologias, com os últimos 20 anos focando em virtualização e armazenamento. Anteriormente, ele trabalhou na VMware como desenvolvedor sênior de cursos, engenheiro de soluções e no grupo de marketing competitivo. Ele também trabalhou como Engenheiro de Validação Sênior no The Taneja Group, onde chefiou o Validation Service Lab e foi fundamental para iniciar sua prática de vSphere Virtual Volumes. Ele está no Twitter @vDoppler