Tracing and troubleshooting in-network computation
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFRGS |
Texto Completo: | 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. |
id |
URGS_3ffaa0d434b3e19d14fc3b41cd1f56d6 |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/250848 |
network_acronym_str |
URGS |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
repository_id_str |
1853 |
spelling |
Castanheira, Lucas BarbosaSchaeffer Filho, Alberto Egon2022-11-10T04:48:53Z2022http://hdl.handle.net/10183/250848001153414Há 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.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.application/pdfengComputaçãoTelemetriaPlanos de dados programáveisDebuggingTracing and troubleshooting in-network computationTelemetria e diagnóstico para computação in-network info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2020mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001153414.pdf.txt001153414.pdf.txtExtracted Texttext/plain194494http://www.lume.ufrgs.br/bitstream/10183/250848/2/001153414.pdf.txt224d9ff8a04913a16288d723591cf3bdMD52ORIGINAL001153414.pdfTexto completo (inglês)application/pdf1304496http://www.lume.ufrgs.br/bitstream/10183/250848/1/001153414.pdf1dc7d8be76b6b78bac9a2ac0857f0644MD5110183/2508482022-11-11 05:47:58.811493oai:www.lume.ufrgs.br:10183/250848Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532022-11-11T07:47:58Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
Tracing and troubleshooting in-network computation |
dc.title.alternative.pt.fl_str_mv |
Telemetria e diagnóstico para computação in-network |
title |
Tracing and troubleshooting in-network computation |
spellingShingle |
Tracing and troubleshooting in-network computation Castanheira, Lucas Barbosa Computação Telemetria Planos de dados programáveis Debugging |
title_short |
Tracing and troubleshooting in-network computation |
title_full |
Tracing and troubleshooting in-network computation |
title_fullStr |
Tracing and troubleshooting in-network computation |
title_full_unstemmed |
Tracing and troubleshooting in-network computation |
title_sort |
Tracing and troubleshooting in-network computation |
author |
Castanheira, Lucas Barbosa |
author_facet |
Castanheira, Lucas Barbosa |
author_role |
author |
dc.contributor.author.fl_str_mv |
Castanheira, Lucas Barbosa |
dc.contributor.advisor1.fl_str_mv |
Schaeffer Filho, Alberto Egon |
contributor_str_mv |
Schaeffer Filho, Alberto Egon |
dc.subject.por.fl_str_mv |
Computação Telemetria Planos de dados programáveis |
topic |
Computação Telemetria Planos de dados programáveis Debugging |
dc.subject.eng.fl_str_mv |
Debugging |
description |
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. |
publishDate |
2022 |
dc.date.accessioned.fl_str_mv |
2022-11-10T04:48:53Z |
dc.date.issued.fl_str_mv |
2022 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/250848 |
dc.identifier.nrb.pt_BR.fl_str_mv |
001153414 |
url |
http://hdl.handle.net/10183/250848 |
identifier_str_mv |
001153414 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
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:Biblioteca Digital de Teses e Dissertações 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 |
Biblioteca Digital de Teses e Dissertações da UFRGS |
collection |
Biblioteca Digital de Teses e Dissertações da UFRGS |
bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/250848/2/001153414.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/250848/1/001153414.pdf |
bitstream.checksum.fl_str_mv |
224d9ff8a04913a16288d723591cf3bd 1dc7d8be76b6b78bac9a2ac0857f0644 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
repository.mail.fl_str_mv |
lume@ufrgs.br||lume@ufrgs.br |
_version_ |
1810085601120092160 |