Xilinx KCU116: a plataforma de desenvolvimento FPGA de rede e armazenamento de 100 Gbps com boa relação custo-benefício

By Thanaporn Sangpaithoon

A família Kintex® UltraScale+™ é considerada o melhor equilíbrio entre preço/desempenho/watts do dispositivo FPGA construído com a tecnologia FinFET TSMC de 16 nm da Xilinx®. Combinando a nova UltraRAM e a nova tecnologia de otimização de interconexão (SmartConnect), este dispositivo oferece a solução mais econômica para aplicações que requerem transceptores de alta qualidade para núcleos de conectividade de 100 Gbps. Esta família é projetada especificamente para aplicações de rede e armazenamento, tais como processamento de pacotes de rede e tecnologia MIMO sem fio, redes com fio de 100 Gbps, aceleração de rede industrial e de data center e aceleração de armazenamento SSD (unidade de estado sólido) NVMe. Este artigo demonstra a solução de 100 Gbps da rede com tecnologia TOE (TCP Offload Engine) e a implementação do SSD NVMe no Kit de Avaliação KCU116 da Xilinx usando o Núcleo TOE100G-IP da Design Gateway que é para soluções de CPU com interface de transmissão TCP de 12 GB/s acima de 100 GbE e Núcleo NVMeG4-IP, capaz de alcançar um desempenho incrivelmente rápido de aproximadamente 4 GB/s por SSD.

Introdução ao kit de avaliação KCU116 Kintex® UltraScale+

O KCU116 é ideal para avaliar as principais características do Kintex UltraScale+, mais notadamente o desempenho do transceptor de 28 Gbps. Este kit é bem adequado para prototipagem rápida baseada em um dispositivo FPGA XCKU5P-2FFVB676E.

Incluídos na placa estão uma DDR4-2666 de 1 GB e 32 bits, portas de expansão FMC para 1 x SSD M.2 NVMe, e PCIe ger. 4 x8 pistas para até 2 x interface SSD M.2 NVMe. Os transceptores GTY de 16 x 28 Gbps estão disponíveis tanto para implementação de interface PCIe ger. 4 como de 100 GbE e apresentam uma variedade de interfaces periféricas e lógica FPGA para projetos personalizados pelo usuário.

Imagem do kit de avaliação Xilinx KCU116 (clique para ampliar)Figura 1: kit de avaliação KCU116. (Fonte da imagem: Xilinx Inc.)

Junto com os Núcleos IP da Design Gateway, o KCU116 fornece tudo o que é necessário para desenvolver soluções do estado da arte em rede e armazenamento de 100 Gbps sem precisar do suporte MPSoC.

Implementação de soluções de rede e armazenamento a 100Gbps

Diagrama da solução de rede e armazenamento a 100 Gbps no KCU116Figura 2: Solução de rede e armazenamento de 100 Gbps no KCU116. (Fonte da imagem: Design Gateway)

Embora os dispositivos Kintex UltraScale+ não apresentem tecnologia MPSoC como Zynq UltraScale+, a rede e o processamento do protocolo de armazenamento NVMe é possível de ser implementado sem a necessidade de Processadores e SO, alavancando as soluções de Núcleos IP da Design Gateway:

  1. TOE100G-IP: Núcleo IP da pilha de protocolo TCP de 100 GbE sem a necessidade de uma CPU
  2. NVMeG4-IP: Controlador host NVMe autônomo com PCIe ger. 4 de IP flexível incorporado

Tanto TOE100G-IP quanto NVMeG4-IP podem operar sem a necessidade de CPU/SO/Driver. A lógica do usuário para controle e caminho de dados com ambos os IPs pode ser implementada por pura lógica de hardware ou SO bare-metal por Microblaze, permitindo o desenvolvimento de aplicações e algoritmos de alto nível mais rápido e fácil sem a necessidade de se preocupar com protocolos complicados de rede e NVMe. Isto abre novas oportunidades para soluções avançadas a nível de sistema, tais como captura de dados de sensores, computação na placa e dispositivos de computação na borda baseados em AI.

TOE100G-IP da Design Gateway para dispositivo UltraScale+

Imagem dos sistemas TOE100G-IPFigura 3: Sistemas TOE100G-IP. (Fonte da imagem: Design Gateway)

O núcleo IP TOE100G implementa a pilha TCP/IP (em lógica de hardware) conectada com o módulo do Subsistema Ethernet de 100 Gb da Xilinx para o hardware da camada mais baixa. A interface de usuário do IP TOE100G consiste em uma interface de Registrador para sinais de controle e uma interface FIFO para sinais de dados. O IP TOE100G é projetado para se conectar com o subsistema Ethernet de 100 Gb que usa um AXI4-ST de 512 bits para se conectar à interface do usuário. O subsistema Ethernet, fornecido pela Xilinx, inclui as funções EMAC, PCS e PMA. A frequência de clock da interface do usuário do subsistema Ethernet de 100 Gb é igual a 322,265625 MHz.

Características do TOE100G-IP

  • Implementação completa da pilha TCP/IP
  • Suporta uma sessão por um IP TOE100G (Multisessões podem ser implementadas usando vários IPs TOE100G))
  • Suporte tanto no modo Servidor quanto no modo Cliente (Passivo/Ativo aberto e fechado)
  • Suporte Jumbo frame
  • Interface de dados simples pela interface FIFO padrão
  • Interface de controle simples por interface de porta única da RAM

As utilizações de recursos FPGA no dispositivo FPGA XCKU5P-2FFVB676E são mostradas na Tabela 1 abaixo.

Família Exemplo de dispositivo Fmax (MHz) Reg. CLB LUTs CLB CLB IOB BRAMTile URAM GTY Ferramentas de projeto
Kintex-Ultrascale+ XCKU5P-FFVB676-2E 350 12883 17535 3208 - 53 - 4 Vivado2019.1

Tabela 1: Exemplo de estatísticas de implementação para o dispositivo Kintex Ultrascale+

Mais detalhes do TOE100G-IP estão descritos na ficha técnica que pode ser baixada do site da Design Gateway.

Controlador host NVMe PCIe ger. 4 da Design Gateway para Transceptores GTY

O Kintex UltraScale+ apresenta um transceptor GTY capaz de suportar uma interface PCIe ger. 4, mas não está disponível um bloco integrado PCIe ger. 4 nem processador ARM.

A Design Gateway resolveu este problema desenvolvendo o núcleo NVMeG4-IP que é capaz de funcionar como um controlador host NVMe autônomo com lógica de ponte embutida na PCIe e IP flexível de PCIe dentro de um único núcleo. A ativação do acesso SSD NVMe PCIe ger. 4 simplifica a interface do usuário e permite que recursos padrões sejam projetados para facilitar o uso sem a necessidade de conhecimento do protocolo NVMe.

Imagem do diagrama de blocos NVMeG4-IPFigura 4: Diagrama de blocos NVMeG4-IP. (Fonte da imagem: Design Gateway)

Características do NVMeG4-IP

  • Capaz de implementar camada de aplicação, camada de transação, camada de link de dados e algumas partes da camada física para acessar o SSD NVMe sem uma CPU ou memória DDR externa
  • Funciona com o Xilinx PCIe PHY IP configurado como uma PCIe ger. 4 de 4 pistas (interface de barramento de 256 bits)
  • Inclui buffer de dados RAM de 256 Kbytes
  • Suporta seis comandos, ou seja, Identify, Shutdown, Write, Read, SMART e Flush (suporte de comando adicional opcional disponível)
  • A frequência de clock do usuário deve ser maior ou igual ao clock da PCIe (250 MHz para ger. 4)

As utilizações de recursos FPGA no dispositivo FPGA XCKU5P-2FFVB676E são mostradas na Tabela 2 abaixo.

Família Exemplo de dispositivo Fmax (MHz) Reg. CLB LUTs CLB CLB IOB BRAMTile URAM GTY Ferramentas de projeto
Kintex-Ultrascale+ XCKU5P-FFVB676-2E 300 19214 21960 4382 - 12 8 4 Vivado2019.1

Tabela 2: Exemplo de estatísticas de implementação do dispositivo Kintex Ultrascale+.

Mais detalhes do NVMeG4-IP estão descritos na ficha técnica que pode ser baixada do site da Design Gateway.

Exemplo de implementação TOE100G-IP e resultado de desempenho no KCU116

A Figura 5 mostra a visão geral do projeto de referência baseado no KCU116 para demonstrar a implementação do TOE100G-IP. O sistema de demonstração inclui sistemas Microblaze de SO bare-metal, lógica de usuário e subsistemas Ethernet de 100 Gb da Xilinx.

Imagem do diagrama de blocos dos sistemas de demonstração do TOE100G-IPFigura 5: Diagrama de blocos dos sistemas de demonstração do TOE100G-IP. (Fonte da imagem: Design Gateway)

O sistema de demonstração é projetado para avaliar o funcionamento do TOE100G-IP tanto no modo Cliente quanto no modo Servidor. A lógica de teste permite enviar e receber dados com um padrão de teste para a maior velocidade de dados possível no lado da interface do usuário.  Para uma interface de 100 GbE com KCU116, são necessários quatro transceptores SFP+ (25GBASE-R) e cabo de fibra, como mostrado na Figura 6.

Imagem do ambiente de demonstração do TOE100G-IP montado no KCU116Figura 6: Ambiente de demonstração do TOE100G-IP montado no KCU116. (Fonte da imagem: Design Gateway)

O resultado do exemplo de teste ao comparar 100G com outros (1G/10G/25G/40G) é mostrado na Figura 7.

Gráfico de comparação de desempenho do TOE100G-IP com 1G/10G/25G/40G no KCU116Figura 7: Comparação do desempenho do TOE100G-IP com 1G/10G/25G/40G no KCU116. (Fonte da imagem: Design Gateway)

O resultado do teste demonstra que o TOE100G-IP é capaz de atingir uma velocidade de transmissão TCP de aproximadamente 12 GB/s.

Exemplo de implementação NVMeG4-IP e resultado de desempenho no KCU116

A Figura 8 mostra a visão geral do projeto de referência baseado no KCU116 para demonstrar a implementação do NVMeG4-IP de 1CH. É possível implementar múltiplas instâncias do NVMeG4-IP para conseguir maior desempenho de armazenamento se os recursos da FPGA estiverem disponíveis a partir do projeto personalizado do usuário.

Para mais detalhes do projeto de referência NVMeG4-IP, consulte o documento do projeto de referência NVMeG4-IP fornecido no site da Design Gateway.

Diagrama da visão geral do projeto de referência NVMeG4-IPFigura 8: Visão geral do projeto de referência NVMeG4-IP. (Fonte da imagem: Design Gateway)

O sistema de demonstração é projetado para escrever/verificar dados com o SSD NVMe no KCU116. O usuário controla a operação de teste através de um console Serial. Para que o SSD NVMe faça interface com o KCU116, é necessária uma placa adaptadora AB18-PCIeX16, como mostrado na Figura 9.

Imagem do ambiente de demonstração NVMeG4-IP montado no KCU116 (clique para ampliar)Figura 9: Ambiente de demonstração NVMeG4-IP montado no KCU116. (Fonte da imagem: Design Gateway)

O resultado do exemplo de teste ao executar o sistema de demonstração no KCU116, usando o Samsung 970 Pro de 512 GB, é mostrado na Figura 10.

Gráfico de desempenho de leitura/escrita do SSD NVMe no KCU116 usando Samsung 970 PRO SFigura 10: Desempenho de leitura/escrita do SSD NVMe no KCU116, usando Samsung 970 PRO S. (Fonte da imagem: Design Gateway)

Conclusão

Tanto o Núcleo TOE100G-IP quanto o NVMeG4-IP fornecem a solução para utilizar a capacidade de conectividade de 100 Gbps na placa KCU116 para implementação de aplicações de rede e armazenamento NVMe. Um TOE100G-IP é capaz de transmitir aproximadamente 12 GB via TCP acima de 100 GbE. O NVMeG4-IP pode fornecer armazenamento de altíssimo desempenho com NVMe PCIe ger. 4 a aproximadamente 4 GB/s por SSD. Múltiplas instâncias de NVMeG4-IP podem ser usadas para formar um Controlador RAID0 e podem aumentar o desempenho de armazenamento para corresponder à velocidade de transmissão de 100 GbE.

O kit de avaliação KCU116 e as soluções IP de rede e armazenamento da Design Gateway permitem alcançar o objetivo do maior desempenho possível com o menor uso possível de recursos FPGA para uma solução ou produto muito econômico baseado no dispositivo Xilinx® Kintex UltraScale+®.

Para mais detalhes sobre o TOE100G-IP e NVMeG4-IP, a ficha técnica, o projeto de referência disponível e a configuração do ambiente de demonstração podem ser consultadas no site da Design Gateway em:

https://dgway.com/TOE100G-IP_X_E.html

https://dgway.com/NVMeG4-IP_X_E.html

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of Digi-Key Electronics or official policies of Digi-Key Electronics.

About this author

Thanaporn Sangpaithoon

Thanaporn Sangpaithoon has been working at Design Gateway Co., Ltd. since 2001. He has been involved in FPGA design projects and successfully developed Serial ATA IP Core on Xilinx Virtex-4 in 2006. Now he is General Manager, responsible for sales and business development.