Applying control theory to the orchestration of data stream processing systems. - SAMPAIO, Lília Rodrigues. (2022)
A capacidade de processar eficientemente grandes quantidades de dados, como os advindos de sensores IoT, é um objetivo desejado por variados sistemas, especialmente porque o valor desses dados pode cair rapidamente após o momento de sua coleta. Demandas de processamento desse tipo levaram ao desenvolvimento do paradigma Data Stream Processing, onde dados chegam continuamente e precisam ser processados em tempo real. Tais aplicações estão sujeitas a variadas condições de operação, sendo importante se adaptar bem a diferentes cenários enquanto mantém metas de Qualidade de Serviço. Abordagens tradicionais sugerem soluções voltadas ao escalonamento automático dos recursos, que apresentam desafios como definir boas métricas de interesse para os objetivos de QoS, determinar o intervalo de coleta desses dados e estimar a quantidade de recursos que devem ser provisionados. Apesar de novas técnicas para o monitoramento e adaptação de sistemas de processamento de dados em fluxo estarem continuamente evoluindo, muitas das soluções propostas não possuem a base teórica necessária para garantir níveis altos de acurácia em suas execuções. Dada sua abordagem analítica, a teoria do controle pode ser uma boa alternativa para este fim. Entretanto, aplicar técnicas de controle em sistemas de computação ainda se apresenta como um desafio, principalmente pela dificuldade em abstrair o comportamento complexo de software em uma forma matemática adequada para o design de um controlador, de forma a diminuir o atraso do sistema, gerar ações corretivas adequadas e minimizar o erro de estado estável. Considerando isso, este trabalho propõe aplicar e avaliar metodologias da teoria do controle em sistemas de processamento de micro-lotes de dados em fluxo. Métodos de identificação de sistemas são utilizados para modelagem do Asperathos, um framework para automação de diferentes aplicações de processamento de dados mantendo metas de QoS customizáveis. Com base nisso, é proposto um controlador Proporcional-Integral que rastreia métricas de desempenho, além de uma demonstração de sintonização de seus ganhos. Ainda é proposto um controlador de múltiplos objetivos do tipo SIMO, baseado em métricas de desempenho e custo. Para validação da solução, tarefas de desagregação de dados de energia são executadas em um cluster Kubernetes orquestrado pelo Asperathos.