Improving tail latency of interactive cloud microservices through management of background tasks.
Ano de defesa: | 2021 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Tese |
Tipo de acesso: | Acesso aberto |
Idioma: | eng |
Instituição de defesa: |
Universidade Federal de Campina Grande
Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/21345 |
Resumo: | O aumento nos casos de uso com requisitos rígidos de latência, por exemplo, e-commerce e gerenciamento de dados em tempo real, tem pressionado para um maior controle sobre a variabilidade de desempenho. Isso ocorre porque mesmo picos infrequentes podem ser inaceitáveis, pois podem dominar o tempo que a leva resposta para chegar ao usuário final em implantações de nuvem multicamadas modernas. Neste contexto, a execução descoordenada de tarefas de manutenção, por exemplo, coleta de lixo e compactações de log, pode levar a uma degradação de desempenho inaceitável. Mesmo que pesquisadores e profissionais tenham trabalhado muito para melhorar o impacto não determinístico dessas tarefas no desempenho dos serviços em nuvem, este impacto ainda não é aceitável quando garantias de desempenho estritas são exigidas. Além disso, as soluções propostas são específicas a sistemas, aplicações, carga ou tarefas. O objetivo desta pesquisa é eliminar o impacto negativo de uma classe representativa de tarefas no desempenho de sistemas de nuvem. Para tanto, começamos propondo uma taxonomia para essas tarefas com base em seu gatilho e viabilidade de controle. Em seguida, definimos formalmente a ampla classe de tarefas interativas, compostas de atividades controláveis acionadas pelo processamento de requisições. Além disso, propomos o Controlador de Tarefas de Segundo Plano (BTC), uma solução totalmente distribuída para eliminar o impacto negativo de tarefas interativas em microsserviços em nuvem. O BTC atinge o objetivo evitando que o processamento de requisições enquanto executa tarefas. Realizamos simulações e experimentos de medição para avaliar a eficácia do BTC para lidar com o impacto do coletor automático de lixo, uma causa bem conhecida da degradação do desempenho dos serviços de nuvem. Os resultados mostram que o BTC elimina efetivamente o impacto do coletor de lixo em cargas de trabalho reais e sintéticas; e microsserviços de produção e fictícios. Além disso, a utilização do BTC leva a uma perda de capacidade proporcional à frequência e duração das tarefas, o que permite estimar o aumento de capacidade necessário para lidar com essa perda. |