Please use this identifier to cite or link to this item: https://hdl.handle.net/1822/75536

TitleHolistic performance and scalability analysis for large-scale distributed systems
Other titlesAnálise holística de desempenho e escalabilidade para sistemas distribuídos de larga escala
Author(s)Neves, Francisco Nuno Teixeira
Advisor(s)Pereira, José
Vilaça, Ricardo Manuel Pereira
KeywordsPerformance analysis
Black-box tracing
Distributed systems
Análise de desempenho
Sistemas distribuídos
Issue date26-Nov-2021
Abstract(s)Internet services play a critical role day-by-day in personal and professional lives. Monitoring these services is of paramount importance for quick detection and solving anomalies in order to reduce downtime and persistence of erroneous behavior, otherwise they end up causing serious negative impact. The availability of detailed data about the behavior of the system as a whole is crucial for analysis and troubleshooting anomalies. Although most software components individually provide outputs that developers foresee useful to diagnose performance and behavioral issues, they are not correlated in a causally-consistent fashion. Collecting cross-component outputs, in turn, requires substantial effort in instrumenting the source code of each software component for enabling the generation of causally-correlated outputs, which is not always viable given the heterogeneity architecture’s components and unaccessible portions of code. This renders a trade-off between black-box outputs and the detail they provide. In this dissertation, we explore this trade-off in order to enable effective analysis and troubleshooting of complex distributed systems without requiring application-specific knowledge. This was achieved by operating at the common layer of all software components, through which all interactions are performed. Specifically, we focused on exploring the operating system’s kernel as the layer of observation to extract information about the behavior of the system. Our approach relies on events triggered by distributed processes within applicational components and their well-known causal relations to aid diagnosing performance and behavior anomalies. Using three case studies, we validated that our approach represents a step forward towards observable complex distributed architectures without application-specific knowledge.
Os serviços na Internet desempenham um papel fundamental no dia-a-dia de milhões de pessoas e empresas. A monitorização destes serviços é por isso essencial para a deteção e resolução de anomalias de modo a reduzir indisponibilidade e a persistência de erros. Para resolver anomalias de forma eficaz, é necessário obter dados detalhados sobre o comportamento do sistema como um todo. Embora a maioria das componentes de software forneça isoladamente dados que os programadores consideram úteis para diagnosticar problemas de desempenho e comportamento, estes não incluem informação suficiente para obter uma visão causalmente coerente do comportamento do sistema como um todo. Para que estes dados forneçam uma visão coerente do comportamento do sistema, é exigido um esforço substancial na instrumentação do código-fonte de cada componente. No entanto, isto nem sempre é viável, dada a natureza heterogénea da arquitetura das componentes e até mesmo o facto de terem porções de código-fonte inacessíveis. Assim, existe um compromisso entre os dados gerados isoladamente pelas componentes, cujo comportamento em detalhe é desconhecido, e o detalhe que estes fornecem sobre o comportamento do sistema como um todo. Nesta dissertação, explora-se esse compromisso de modo a permitir a análise e resolução de problemas eficazes de sistemas distribuídos complexos, sem necessitar de conhecimento específico do funcionamento interno das suas componentes de software. Para atingir este objetivo, é apresentada uma abordagem que estebelece o núcleo do sistema operativo como o nível de observação para extrair informação sobre o comportamento do sistema. Esta abordagem assenta sobre eventos despoletados por processos distribuídos pertencentes às componentes de software aplicacionais, bem como nas suas relações causais previamente conhecidas. Utilizando três casos de estudo, conclui-se que a abordagem proposta nesta dissertação representa um passo em frente na observação de sistemas distribuídos complexos sem conhecimento específico das suas componentes aplicacionais.
TypeDoctoral thesis
DescriptionPrograma doutoral em Informática - MAP-i
URIhttps://hdl.handle.net/1822/75536
AccessOpen access
Appears in Collections:BUM - Teses de Doutoramento
HASLab - Teses de Doutoramento

Files in This Item:
File Description SizeFormat 
thesis.pdf2,53 MBAdobe PDFView/Open

This item is licensed under a Creative Commons License Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID