Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding

Detalhes bibliográficos
Autor(a) principal: Rodrigues, Pablo Felipe Rosa
Data de Publicação: 2024
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/274043
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 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.
id UFRGS-2_68651a4b928dc307088143a5d0f5545c
oai_identifier_str oai:www.lume.ufrgs.br:10183/274043
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Rodrigues, Pablo Felipe RosaAzambuja, José Rodrigo Furlanetto deCordeiro, Weverton Luis da Costa2024-03-22T05:06:02Z2024http://hdl.handle.net/10183/274043001198634Novas 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.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.application/pdfporRedes de computadoresPlanos de dados programáveisC++Síntese de alto nívelField-Programmable Gate ArrayNetFPGA ArchitectureP4Enabling programmable data planes with C++ and high-level synthesis for custom packet forwardinginfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2024Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001198634.pdf.txt001198634.pdf.txtExtracted Texttext/plain68760http://www.lume.ufrgs.br/bitstream/10183/274043/2/001198634.pdf.txtf728490afedf022ea66966ecbe315295MD52ORIGINAL001198634.pdfTexto completo (inglês)application/pdf1670676http://www.lume.ufrgs.br/bitstream/10183/274043/1/001198634.pdfb7e74b5d506f60a5456a60f6899bc1f2MD5110183/2740432024-03-23 05:00:17.257037oai:www.lume.ufrgs.br:10183/274043Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2024-03-23T08:00:17Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding
title Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding
spellingShingle Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding
Rodrigues, Pablo Felipe Rosa
Redes de computadores
Planos de dados programáveis
C++
Síntese de alto nível
Field-Programmable Gate Array
NetFPGA Architecture
P4
title_short Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding
title_full Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding
title_fullStr Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding
title_full_unstemmed Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding
title_sort Enabling programmable data planes with C++ and high-level synthesis for custom packet forwarding
author Rodrigues, Pablo Felipe Rosa
author_facet Rodrigues, Pablo Felipe Rosa
author_role author
dc.contributor.author.fl_str_mv Rodrigues, Pablo Felipe Rosa
dc.contributor.advisor1.fl_str_mv Azambuja, José Rodrigo Furlanetto de
dc.contributor.advisor-co1.fl_str_mv Cordeiro, Weverton Luis da Costa
contributor_str_mv Azambuja, José Rodrigo Furlanetto de
Cordeiro, Weverton Luis da Costa
dc.subject.por.fl_str_mv Redes de computadores
Planos de dados programáveis
C++
Síntese de alto nível
topic Redes de computadores
Planos de dados programáveis
C++
Síntese de alto nível
Field-Programmable Gate Array
NetFPGA Architecture
P4
dc.subject.eng.fl_str_mv Field-Programmable Gate Array
NetFPGA Architecture
P4
description 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.
publishDate 2024
dc.date.accessioned.fl_str_mv 2024-03-22T05:06:02Z
dc.date.issued.fl_str_mv 2024
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/274043
dc.identifier.nrb.pt_BR.fl_str_mv 001198634
url http://hdl.handle.net/10183/274043
identifier_str_mv 001198634
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/274043/2/001198634.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/274043/1/001198634.pdf
bitstream.checksum.fl_str_mv f728490afedf022ea66966ecbe315295
b7e74b5d506f60a5456a60f6899bc1f2
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1815447362939650048