Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/75536
Título: | Holistic performance and scalability analysis for large-scale distributed systems |
Outro(s) título(s): | Análise holística de desempenho e escalabilidade para sistemas distribuídos de larga escala |
Autor(es): | Neves, Francisco Nuno Teixeira |
Orientador(es): | Pereira, José Vilaça, Ricardo Manuel Pereira |
Palavras-chave: | Performance analysis Black-box tracing Distributed systems Análise de desempenho Sistemas distribuídos |
Data: | 26-Nov-2021 |
Resumo(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. |
Tipo: | Tese de doutoramento |
Descrição: | Programa doutoral em Informática - MAP-i |
URI: | https://hdl.handle.net/1822/75536 |
Acesso: | Acesso aberto |
Aparece nas coleções: |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
thesis.pdf | 2,53 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons