Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding
Fecha
2024Co-director
Nivel académico
Grado
Tipo
Materia
Abstract
New networking technologies for accelerating packet processing with programmable hard ware have enabled great innovation in the networking field, from domain-specific lan guages to programmable forwarding planes. Despite the research efforts, current ap proaches to describe forwarding devices behavior provide limited expressiveness and in most cases a lower supportive, mature, and transparent workflow to translate these de scriptions to a suitable format for running in a hardware platform. In t ...
New networking technologies for accelerating packet processing with programmable hard ware have enabled great innovation in the networking field, from domain-specific lan guages to programmable forwarding planes. Despite the research efforts, current ap proaches to describe forwarding devices behavior provide limited expressiveness and in most cases a lower supportive, mature, and transparent workflow to translate these de scriptions to a suitable format for running in a hardware platform. In this work, we present a proof-of-concept for enabling high flexibility and programmability at the network for warding plane. The programming methodology and the workflow proposed in this work allow describing the behavior of a network forwarding device using the C++ language and submitting the code to a high-level synthesis process in order to obtain a synthetiz able RTL description suitable for running in a FPGA board. We measure performance, resource utilization, and perform a behavioral analysis to validate the proposal. The re sults show that it is feasible to describe forwarding devices using the proposed workflow with no impact on resource utilization at the same time it can achieve around 14% more throughput than the P4-NetFPGA canonical reference design. ...
Resumo
Novas tecnologias para acelerar o processamento de pacotes utilizando hardware pro gramáveis tem possibilitado grande inovação na área de redes de computadores, desde linguagens de domínio específico até plano de dados programáveis. Apesar dos esforços, as soluções atuais para descrever o comportamento de um dispositivo de encaminhamento fornecem limitada expressividade e, na maioria dos casos, um baixo suporte, uma baixa maturidade, e um processo pouco transaparente para transformar essas desc ...
Novas tecnologias para acelerar o processamento de pacotes utilizando hardware pro gramáveis tem possibilitado grande inovação na área de redes de computadores, desde linguagens de domínio específico até plano de dados programáveis. Apesar dos esforços, as soluções atuais para descrever o comportamento de um dispositivo de encaminhamento fornecem limitada expressividade e, na maioria dos casos, um baixo suporte, uma baixa maturidade, e um processo pouco transaparente para transformar essas descrições em um formato adequado para ser executado em uma plataforma de hardware. Neste trabalho, nós apresentamos uma prova de conceito para fornecer alta flexibilidade e programabili dade no plano de encaminhamento de redes. A metodologia de programação e o processo proposto neste trabalho permitem descrever o comportamento de um dispositivo de enca minhamento usando a linguagem de programação C++ e submeter o código escrito a um processo de síntese de alto nível para gerar uma descrição em hardware adequada para executar em uma placa FPGA. Nós medimos desempenho, utilização de recursos e reali zamos uma análise comportamental para validar a proposta. Os resultados mostram que é possível realizar a descrição de dispositivos de encaminhamento utilizando o processo proposto sem causar impactos na utilização de recursos, ao mesmo tempo que a solução pode fornecer uma largura de banda de até 14% a mais do que a arquitetura canônica de referência P4-NetFPGA. ...
Institución
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Curso de Ciência da Computação: Ênfase em Ciência da Computação: Bacharelado.
Colecciones
-
Tesinas de Curso de Grado (37364)
Este ítem está licenciado en la Creative Commons License