Provedores de serviços de nuvem disponibilizam uma interface através da qual seus clientes podem solicitar, usar e liberar estes recursos. Muitos serviços implantados em nuvens incluem um componente para gerenciamento automatizado de recursos, encarregado de requisitar e librar recursos sem intervenção humana, à medida que a demanda varia. A técnica padrão para o gerenciamento de recursos se baseia em regras sobre utilização de recursos. Quando ocorre um aumento significativo na carga em um curto espaço de tempo, o sistema pode levar vários ciclos de monitoramento e ação até alcançar uma configuração adequada. Neste período, o sistema permanece sobrecarregado. Nesta pesquisa, investigamos como compreender adequadamente os efeitos da variação na disponibilidade de recursos sobre a capacidade de um sistema e como aplicar este conhecimento para melhorar sua elasticidade. Propomos uma estratégia que abrange avaliação da escalabilidade do sistema, visando sua modelagem, e a aplicação deste modelo nas estimativas de necessidade por recursos com base na carga de trabalho. Introduzimos um arcabouço para automatizar a avaliação de escalabilidade de sistemas distribuídos e efetuamos uma validação experimental da estratégia proposta. Comparamos a alocação de recursos e o desempenho obtido usando nossa estratégia e estratégia baseada em regras, fazendo a reprodução de carga real e usando cargas sintéticas. De forma geral, nossa proposta foi capaz de prover melhor desempenho, ao ponto que o uso de recursos cresceu, e consequentemente o custo de utilização. No entanto, a melhora de desempenho foi mais significativa que o aumento dos custos. / Cloud computing is a new paradigm in which virtual resources are leased in the short-term. Cloud providers publish an API through which users can request, use, and release those resources. Thus, a properly architected system can be quickly deployed and their infrastructure can be quickly updated to better accommodate workload fluctuations and limit expenses. Many services running in clouds comprise an automated resource management unit, which is in charge of requesting and releasing resources without human intervention, as demand changes. The rule based approach, commonlly applied to automate the resource management, is especially problematic in cases of load surge. When of a quick and drastic increase of the workload, the system may take many cycles of infrastructural redimensioning until achieve an adequate state. In this case, the system remains overloaded during all those cycles, affecting user experience. In this research, we investigate how we can properly understand what are the effects, in system capacity, incurred by variations in resource availability, and how this knowledge can be applied to improve elasticity. We propose a strategy that comprises performing scalability tests to model scalability and apply the model to estimate resource need, according to the arriving workload. We introduce a framework for automated scalability evaluation of distributed systems and experimentally evaluate the proposed strategy. We compare the allocation and performance obtained using our strategy with a rule based strategy in a trace-driven simulation and with synthetic workloads. We also evaluate six variations of the model-based approach. Generally, our approach can deliver better performance, while increasing resource allocation and, consequently, cost. The extent of the performance improvement is larger than the cost increment, though.
Identifer | oai:union.ndltd.org:usp.br/oai:teses.usp.br:tde-01082017-193924 |
Date | 17 March 2017 |
Creators | Moura, Paulo Bittencourt |
Contributors | Kon, Fabio |
Publisher | Biblioteca Digitais de Teses e Dissertações da USP |
Source Sets | Universidade de São Paulo |
Language | Portuguese |
Detected Language | English |
Type | Tese de Doutorado |
Format | application/pdf |
Rights | Liberar o conteúdo para acesso público. |
Page generated in 0.0015 seconds