Dissertação

{en_GB=Stream Economics - Resource Efficiency in Flink Stream Processing with Accuracy Awareness and Load-Shedding} {} EVALUATED

{pt=Os sistemas de processamento distribuído de streams aparecem como uma solução para o processamento de grandes volumes de dados em tempo real e com baixas latências. Um dos problemas chave destes sistemas prende-se com a gestão dos recursos computacionais disponíveis, de modo a reduzir custos e a evitar desperdícios de recursos. Sendo também necessário garantir que cada tarefa tem os recursos que precisa para poder acompanhar o ritmo a que recebe novos eventos para processar. Este trabalho explora precisamente este problema ao apresentar um novo modelo de gestão de recursos computacionais, com o objectivo de optimizar o uso destes recursos em ambientes de processamento em stream, onde são executadas aplicações que processam workloads dinâmicos e que têm diferentes requisitos em termos de recursos computacionais. Um novo escalonador de tarefas é proposto, que toma decisões optimistas no sentido em que deixa de limitar o número de tarefas que podem ser executadas em cada máquina. Em vez disso, a alocação de tarefas aos recursos disponíveis é adaptada em tempo real, com base nas métricas de execução das mesmas. A utilização de Load Shedding em processamento de streams é também explorada como uma ferramenta para resolver problemas de sobre-alocação de tarefas, que pode ocorrer devido às decisões optimistas tomadas pelo escalonador. Ao longo deste trabalho, foi implementada uma prova de conceito deste sistema no Apache Flink, um sistema de processamento de streams moderno. O sistema proposto é avaliado utilizando diversos workloads, de modo a mostrar os diferentes componentes e algoritmos usados em acção. , en=Distributed stream processing systems appear as a solution for processing huge volumes of data in real-time. One of the key problems that these systems need to deal with is associated with managing all the computational resources that are required to execute their applications, so that no resources are wasted and unnecessary costs are reduced. This, while at the same time, guaranteeing that all tasks are well provisioned with the resources that they need to keep up with their incoming workload. This work explores precisely this problem by proposing a novel resource management model, that targets resource efficiency in a stream processing environment where several workload dynamic and resource heterogeneous applications execute in parallel. A resource aware task scheduler is proposed, that follows what we call an optimistic approach, as it doesn’t limit the amount of tasks that can be executed by a single machine, instead, it adapts tasks’ allocation / placement based on their runtime metrics. At the same time, load shedding in stream processing applications is explored as a solution to overcome situations of tasks’ overallocation to resources that may appear due to previous wrong decisions performed by the task scheduler, due to its optimistic approach. Additionally, a proof-of-concept of such system is implemented, targeting the widely used Apache Flink system. This proof-of-concept is evaluated against different workloads, to show how the different aspects of the algorithm and its mechanisms operate and behave.}
{pt=Processamento em Stream, Escalonamento de Tarefas, Optimização de Recursos, Load Shedding, Apache Flink, en=Stream Processing, Task Scheduling, Resource Efficiency, Load Shedding, Apache Flink}

Junho 5, 2018, 9:0

Orientação

ORIENTADOR

Luís Manuel Antunes Veiga

Departamento de Engenharia Informática (DEI)

Professor Associado