Dissertação

Pipelined execution of stages in Apache Spark EVALUATED

Esta dissertação visa a investigação da eficiência de uma base fundamental para a construção de plataformas de processamento de big-data modernas, tais como o Apache Spark. Este tipo de plataformas suportam tarefas complexas de análise de dados, permitindo que os cientistas de dados expressem manipulações arbitrárias aos dados, através de um grafo directo de operadores de transformações, executadas de forma distribuı́da em várias máquinas. Algumas soluções recentes, como a plataforma Spark acima mencionada, empregam uma estratégia baseada em lotes. Nesta estratégia, os operadores que induzem a troca de dados entre máquinas são utilizados para marcar o inı́cio de uma nova etapa, que agrupa logicamente o conjunto de operadores que podem ser executados sem que exista a necessidade de estes requerirem dados de operadores executados em máquinas diferentes. Uma aplicação Spark é baseada em lotes, sendo que se a etapa i + 1 requer o resultado da etapa i, então a etapa i deve terminar a sua computação antes que a etapa i + 1 possa ter inı́cio e carregar os dados da etapa i. Esta escolha abordagem pode levar à utilização sub-óptima dos recursos do cluster. Uma abordagem alternativa consiste no encadeamento da transmissão de dados entre etapas, tal que a etapa i + 1 possa iniciar o processamento de dados à medida que estes são gerados pela etapa i. Esta tese estende o Apache Spark, permitindo a execução de etapas de forma sobreposta, e compara as duas estratégias apresentadas.
análise de dados, big-data, Spark, lote, encadeamento

Outubro 19, 2016, 16:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Paolo Romano

Departamento de Engenharia Informática (DEI)

Professor Associado