Tracing and troubleshooting in-network computation
Visualizar/abrir
Data
2022Orientador
Nível acadêmico
Mestrado
Tipo
Outro título
Telemetria e diagnóstico para computação in-network
Abstract
There is a growing move to offload functionality, e.g., TCP or key-value stores, into the network – either on SmartNICs or programmable switches. While offloading promises significant performance boosts, these programmable devices often provide little visibil ity into their performance. Moreover, many existing tools for analyzing and debugging performance problems, e.g., distributed tracing, do not extend into these devices. Motivated by this lack of visibility, the first half of this work pres ...
There is a growing move to offload functionality, e.g., TCP or key-value stores, into the network – either on SmartNICs or programmable switches. While offloading promises significant performance boosts, these programmable devices often provide little visibil ity into their performance. Moreover, many existing tools for analyzing and debugging performance problems, e.g., distributed tracing, do not extend into these devices. Motivated by this lack of visibility, the first half of this work presents the design and implementation of Foxhound, an observability framework for in-network compute. This framework introduces a co-designed query language, compiler, and storage abstraction layer for expressing, capturing and analyzing distributed traces and their performance data across an infrastructure comprising servers and programmable data planes. While Foxhound is our proof of concept for flexible in-network tracing, we discovered that the traditional tracing paradigm which Foxhound embodies can suffer from scalabil ity issues given hardware limitations of programmable data planes. In our effort to miti gate this, we identified a subset of common tracing queries that could be hyper-optimized even beyond Foxhound’s capabilities. These optimizations represent a departure from tra ditional tracing and constitute another framework, Mimir, presented in the latter half of this work. Mimir trades-off flexibility for efficiency by exploring a set of design choices that optimize for common diagnosis and localization tasks. Our evaluations using three representative offloaded applications on an Intel Tofino-based testbed, an emulator and a simulator show that Mimir can support a subset of common tracing tasks at scale with sig nificant lower overheads than Foxhound. Moreover, our experiments with an in-network compute-enhanced DeathStarBench “social network” microservice demonstrates the use fulness of our approach for end-to-end diagnosis. ...
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. ...
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. ...
Instituição
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Programa de Pós-Graduação em Computação.
Coleções
-
Ciências Exatas e da Terra (5041)Computação (1733)
Este item está licenciado na Creative Commons License