Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/91357
Título: | Flexible tracing and analysis of applications’ I/O behavior |
Outro(s) título(s): | Rastreio e análise flexíveis do comportamento de E/S de aplicações |
Autor(es): | Esteves, Tânia Conceição Araújo |
Orientador(es): | Paulo, João Tiago Medeiros Oliveira, Rui Carlos Mendes de |
Palavras-chave: | Diagnóstico de E/S Rastreio Análise Visualização Aplicações centradas em dados Sistemas de armazenamento I/O diagnosis Tracing Analysis Visualization Data-centric applications Storage systems |
Data: | 8-Abr-2024 |
Resumo(s): | A correção, confiabilidade e desempenho de aplicações centradas em dados e de sistemas distribuídos
(por exemplo, sistemas de ficheiros, bases de dados, plataformas de análise de dados e de aprendizagem
de máquina) são influenciados pela forma como estes acedem, trocam e persistem dados. Portanto,
compreender o comportamento de Entrada/Saída (E/S) destas soluções é fundamental para as explorar,
encontrar possíveis problemas e otimizar. Para tal, existem ferramentas de diagnóstico que dão suporte
à coleção, análise e visualização de padrões de E/S (por exemplo, chamadas de sistema, funções de
kernel). Nesta dissertação, argumentamos que estas ferramentas podem ser melhoradas para alcançar
soluções de diagnóstico integradas e automatizadas que permitam capturar informações detalhadas
sobre pedidos de E/S, suportar análises múltiplas e automatizadas dos dados colecionados, e fornecer
representações visuais que facilitam a interpretação de padrões de comportamento de E/S.
Estes objetivos são alcançados através de três novas plataformas de diagnóstico. Em primeiro lugar
apresentamos o CaT, uma solução orientada ao conteúdo que permite uma análise mais abrangente de
sistemas distribuídos, revelando como os dados fluem pelos distintos componentes até que sejam persistidos.
Através de dois casos de estudo reais mostramos que esta informação é fundamental para identificar
padrões de corrupção e adulteração de dados em soluções distribuídas. Em seguida propomos o DIO,
uma solução genérica para o diagnóstico de aplicações centradas em dados que oferece funcionalidades
de coleção, análise e visualização detalhadas, flexíveis, e personalizáveis. Através de uma avaliação
experimental, com quatro aplicações utilizadas pela indústria, mostramos que a nossa solução facilita a
análise da origem de problemas conhecidos, e permite observar e validar padrões de E/S ineficientes
(e anteriormente desconhecidos). Por fim, apresentamos o CRIBA, uma plataforma que estende o DIO
para fornecer uma solução especializada e automatizada que permite caracterizar o comportamento de
E/S de ransomware criptográfico. O nosso estudo com cinco famílias de ransomware para Linux mostra
como o CRIBA permite a análise e observação dos seus comportamentos intrínsecos e complexos.
As contribuições anteriores facilitam e melhoram o diagnóstico de aplicações e de sistemas de armazenamento.
Acreditamos que soluções de diagnóstico detalhadas, flexíveis e personalizáveis, como as
propostas neste trabalho, são fundamentais para a construção de sistemas mais robustos e eficientes. The correctness, dependability and performance of data-centric applications and distributed systems (e.g., file systems, databases, analytical engines, machine learning frameworks) are highly influenced by the way these access, exchange and persist data. Therefore, understanding the Input/Output (I/O) behavior of such solutions is key for efficiently exploring, debugging and optimizing them. This endeavor is possible through diagnosis tools that provide support for the collection, analysis and visualization of information (e.g., logs, system calls, kernel functions) from targeted applications and storage systems. In this thesis, we argue that these tools can be further enhanced to achieve fully automated and integrated diagnosis pipelines that allow capturing comprehensive information about I/O requests, supporting multipurpose and automated analysis of collected data, and providing informative and summarized visual representations that ease the interpretation of I/O behavior patterns for users. We accomplish these goals by proposing three novel diagnosis frameworks. First, we introduce CaT, a content-aware solution that enables a more comprehensive analysis of distributed systems by revealing how data requests flow across distinct components until these are persisted. We show that this information is key for identifying data corruption and adulteration patterns in complex distributed solutions. Then, we propose DIO, a general-purpose solution for diagnosing data-centric applications that offers flexible, comprehensive and customizable tracing, analysis and visualization in near real-time. Through an experimental evaluation including four production-level applications, we show that our solution eases the root cause analysis of known issues and allows observing and validating inefficient (and previously unknown) I/O patterns. Finally, we present CRIBA, a framework that extends DIO to provide a specialized and automated pipeline for characterizing the I/O behavior of cryptographic ransomware. Our study, including five Linux ransomware families, shows that CRIBA enables the analysis and observation of intrinsic and complex I/O behavior from malicious samples. The previous contributions ease and improve the process of diagnosing applications and storage systems for users. We believe that comprehensive, flexible and customizable diagnosis pipelines, such as the ones proposed in this work, are key for building systems that are more robust and efficient. |
Tipo: | Tese de doutoramento |
Descrição: | Tese de doutoramento em Informática |
URI: | https://hdl.handle.net/1822/91357 |
Acesso: | Acesso aberto |
Aparece nas coleções: | DI - Teses de doutoramento |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Tania Conceicao Araujo Esteves.pdf | Tese de doutoramento | 19,16 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons