Detalhes bibliográficos
Ano de defesa: |
2024 |
Autor(a) principal: |
Parizotto, Ricardo |
Orientador(a): |
Schaeffer Filho, Alberto Egon |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Tese
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
eng |
Instituição de defesa: |
Não Informado pela instituição
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Palavras-chave em Inglês: |
|
Link de acesso: |
http://hdl.handle.net/10183/278745
|
Resumo: |
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. |