Tracing and troubleshooting in-network computation

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: Castanheira, Lucas Barbosa
Orientador(a): Schaeffer Filho, Alberto Egon
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
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/250848
Resumo: Há um movimento crescente para descarregar a funcionalidade, por exemplo, TCP ou armazenamentos de valores-chave, na rede - em SmartNICs ou planos de dados programáveis. Embora o descarregamento prometa aumentos significativos de desempenho, esses dispositivos programáveis geralmente fornecem pouca visibilidade de seu desempenho. Além disso, muitas ferramentas existentes para analisar e depurar problemas de desempenho, por exemplo, rastreamento distribuído, não se estendem a esses dispositivos. Motivado por essa falta de visibilidade, a primeira metade deste trabalho apresenta o de sign e implementação do Foxhound, um framework de observabilidade para computação em rede. Esse framework apresenta uma linguagem de consulta, um compilador e uma camada de abstração de armazenamento coprojetados para expressar, capturar e analisar rastreamentos distribuídos e seus dados de desempenho em uma infraestrutura que inclui servidores e planos de dados programáveis. Embora o Foxhound seja nossa prova de conceito para rastreamento flexível na rede, descobrimos que o paradigma de rastreamento tradicional que o Foxhound incorpora pode sofrer de problemas de escalabilidade devido às limitações de hardware dos planos de da dos programáveis. Em nosso esforço para mitigar isso, identificamos um subconjunto de consultas de rastreamento comuns que podem ser hiper-otimizadas mesmo além das otimizações do Foxhound. Essas otimizações representam um afastamento do rastreamento tradicional e constituem outro framework, o Mimir, apresentado na segunda metade deste trabalho. O Mimir troca a flexibilidade pela eficiência, explorando um conjunto de opções de design que otimizam tarefas comuns de diagnóstico e localização. Nossas avaliações usando três aplicativos descarregados representativos em um testbed baseado em Intel To fino, um emulador e um simulador mostram que o Mimir pode suportar um subconjunto de tarefas de rastreamento comuns em escala com overhead significativamente menor do que o Foxhound. Além disso, nossos experimentos com um microsserviço do DeathStar Bench aprimorado por computação em rede demonstram a utilidade de nossa abordagem para diagnóstico de fim-a-fim.