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.
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 centro de dados combinável em Xilinx Adaptar***
Ao lidar com redes acima de 10 GbE, começamos a ver gargalos de CPU nos servidores conforme os pacotes de rede são passados para a CPU para processamento. Com redes de 25 GbE, uma porcentagem mensurá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 o controlador de interface de rede (NIC). Chamamos os dispositivos que podem lidar com esse descarregamento Placas de rede inteligentes.
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.
O que é um SmartNIC?
Descarregar as operações de rede da CPU para uma NIC tem sido o foco dos principais provedores de nuvem, pois eles estão sempre buscando eficiência no data center. Não há uma regra rígida e rápida sobre o que é necessário para rotular uma NIC como Gestão Inteligente; no entanto, no mínimo, eles devem ser capazes de lidar com algumas das funções do plano de controle encontradas em comutadores virtuais e alguns dos recursos encontrados nas funções de virtualização de função de rede (NFV), como firewall, detecção e prevenção de intrusão, inspeção de host , e criptografia, bem como tarefas de plano de dados, como qualidade de serviço (QoS) de rede e relatórios e monitoramento 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).
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 terceiros. Essa abordagem permite que os compradores do SN1000 obtenham um tempo de valorização (TTV) mais rápido, ignorando o ciclo de desenvolvimento. A loja de aplicativos possui 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 feitas no nível 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.
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
Xilinx Adaptar é um evento digital de 24 a 25 de março de 2021 que abordará a relevância dos SmartNICs no datacenter, juntamente com tópicos importantes como computação em nuvem, armazenamento computacional e data center combinável. A entrada é gratuita e os replays serão disponibilizados posteriormente.
Envolva-se com a StorageReview
Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS feed