In-network computing : overcoming constraints, failures, and configuration challenges
dc.contributor.advisor | Schaeffer Filho, Alberto Egon | pt_BR |
dc.contributor.author | Parizotto, Ricardo | pt_BR |
dc.date.accessioned | 2024-09-11T06:15:08Z | pt_BR |
dc.date.issued | 2024 | pt_BR |
dc.identifier.uri | http://hdl.handle.net/10183/278745 | pt_BR |
dc.description.abstract | Programmable switches are networking forwarding devices that allow customized, stateful functionalities to run at line rate. Unlike fixed-functionality switches, programmable switches offer higher versatility and innovation potential. The advantages of programmable switches have led researchers to move functionality previously performed on servers to the network itself, resulting in the concept of In-Network Computing (INC). However, offloading functionalities to the data plane is subject to several distinctions compared to how computation is traditionally performed on servers. This thesis investigates the in-network computing paradigm under three different aspects that set it apart from traditional computation. Firstly, we study the constraints imposed by the data plane, which can impact the offloading of application functionality to the switch hardware. We propose a terminology and taxonomy of design considerations to be used when offloading a functionality. We then present a system called NetGVT that employs the considerations to build a customized design that offloads virtual time synchronization to switches. Furthermore, we show that NetGVT can accelerate distributed simulations and outperform a traditional server-only solution. However, once we move the computation to the data plane, INC failures can disrupt the system and make it unavailable. Therefore, the second aspect we investigate is the impact of failures and the necessary consistency requirements for existing INCs for correctness after failure. In response, we propose RESIST, a system that applies lightweight techniques and building blocks to provide fault tolerance for in-network computing. Although we observe that fault tolerance can be achieved without compromising the performance gains achieved with INC, managing the functionality at forwarding devices reveals a complex and time-consuming process compared to running them on traditional servers. To understand this configuration challenge, we investigate methods for simplifying INC fault tolerance management using high-level intents. We propose a system called Araucaria, which facilitates the specification of fault tolerance intents in a structured natural language and a process for intent refinement that instruments INCs with fault tolerance building blocks. Finally, we demonstrate a running example using NetGVT as a concrete use case, showing the feasibility and scalability of the proposed approaches in this thesis both in a testbed with real programmable switch hardware and in a behavior model emulator. | en |
dc.description.abstract | Switches programáveis são dispositivos de encaminhamento de rede que permitem a execução de funcionalidades personalizadas que funcionam na taxa de linha. Ao contrário de switches com funcionalidade fixa, switches programáveis oferecem maior versatilidade e potencial de inovação. As vantagens dos switches programáveis levaram os pesquisadores a transferir funcionalidades anteriormente realizadas em servidores para a própria rede, resultando no conceito de In-Network Computing (INC). No entanto, a transferência de funcionalidades para o plano de dados está sujeita a várias distinções em comparação com a forma como a computação é tradicionalmente realizada em servidores. Esta tese investiga o paradigma de computação em rede sob três aspectos diferentes que o diferenciam da computação tradicional. Em primeiro lugar, estudamos as restrições impostas pelo plano de dados, que podem impactar a transferência de uma funcionalidade de aplicação para o hardware do switch. Propomos uma terminologia e uma taxonomia de considerações de design a serem utilizados ao transferir uma funcionalidade para o plano de dados dos dispositivos de rede. Apresentamos então um sistema chamado NetGVT, que utiliza as considerações para construir um design personalizado para transferir a sincronização de tempo virtual para switches. Além disso, mostramos que o NetGVT pode acelerar simulações distribuídas e superar uma solução tradicional que utiliza apenas servidores. No entanto, uma vez que movemos a computação para o plano de dados, falhas na INC podem interromper o sistema e torná-lo indisponível. Portanto, o segundo aspecto que investigamos é o impacto das falhas e os requisitos de consistência necessários para INCs existentes permanecerem corretas após uma falha. Em resposta, propomos o RESIST, um sistema que aplica técnicas eficientes e blocos de construção para fornecer tolerância a falhas para a computação em rede. Embora observemos que a tolerância a falhas pode ser alcançada sem comprometer os ganhos de desempenho obtidos com a INC, gerenciar a funcionalidade em dispositivos de encaminhamento revela um processo complexo e demorado em comparação com a execução em servidores tradicionais. Para entender esse desafio de configuração, investigamos métodos para simplificar o gerenciamento de tolerânciaa falhas na INC usando intenções de alto nível. Propomos um sistema chamado Araucaria, que facilita a especificação de intenções em uma linguagem semelhante à natural, e um processo para refinamento de intenções para instrumentar INCs com blocos de construção de tolerância a falhas. Em seguida, demonstramos um exemplo prático usando o NetGVT, mostrando a viabilidade e escalabilidade das abordagens propostas nesta tese, tanto em um testbed com hardware de switches programáveis reais quanto em um emulador de modelo de comportamento. | pt_BR |
dc.format.mimetype | application/pdf | pt_BR |
dc.language.iso | eng | pt_BR |
dc.rights | Open Access | en |
dc.subject | Hardware constraints | en |
dc.subject | Computação em rede | pt_BR |
dc.subject | Planos de dados programáveis | pt_BR |
dc.subject | Intent-based networks | en |
dc.subject | Tolerância a falhas | pt_BR |
dc.subject | Programabilidade de rede | pt_BR |
dc.subject | Switches programáveis | pt_BR |
dc.title | In-network computing : overcoming constraints, failures, and configuration challenges | pt_BR |
dc.title.alternative | Computação em rede : superando restrições, falhas, e desafios de configuração | pt |
dc.type | Tese | pt_BR |
dc.contributor.advisor-co | Haque, Israat | pt_BR |
dc.identifier.nrb | 001210450 | pt_BR |
dc.degree.grantor | Universidade Federal do Rio Grande do Sul | pt_BR |
dc.degree.department | Instituto de Informática | pt_BR |
dc.degree.program | Programa de Pós-Graduação em Computação | pt_BR |
dc.degree.local | Porto Alegre, BR-RS | pt_BR |
dc.degree.date | 2024 | pt_BR |
dc.degree.level | doutorado | pt_BR |
Este item está licenciado na Creative Commons License
-
Ciências Exatas e da Terra (5117)Computação (1762)