Defesa de Mestrado de Augusto Rodrigues de Sousa

Título do Trabalho
Mecanismos para Escalonamento de Aplicações MapReduce de Diferentes Prioridades
Candidato(a)
Augusto Rodrigues de Sousa
Nível
Mestrado
Data
28/04/20172017-04-27 21:00:00 2017-04-27 21:00:00 Defesa de Mestrado de Augusto Rodrigues de Sousa Mecanismos para Escalonamento de Aplicações MapReduce de Diferentes Prioridades IC 3,5 - Sala 353 INSTITUTO DE COMPUTAÇÃO mauroesc@ic.unicamp.br America/Sao_Paulo public
Horário
14:00
Local
IC 3,5 - Sala 353
Orientador(a)
Islene Calciolari Garcia
Banca Examinadora

Titulares:
Islene Calciolaria Garcia (IC/UNICAMP)
Gustavo Maciel Dias Vieira (DComp-CCGT/UFSCar)
Luiz Fernando Bittencourt (IC/UNICAMP)
Suplentes:
Tiemi Christine Sakata (DComp-CCGT/UFSCar)
Edmundo Roberto Mauro Madeira (IC/UNICAMP)

Resumo

Em 2004, o Google surpreendeu a comunidade de sistemas distribuídos ao divulgar como funcionava seu framework de MapReduce e seu sistema de arquivos distribuído. Tal inovação rapidamente chamou a atenção das comunidades de software livre e diversos sistemas de MapReduce de código aberto foram criados implementando as ideias divulgadas pelo Google. Neste trabalho, focamos nossa atenção em dois deles, chamados Hadoop e Disco. O primeiro é desenvolvido principalmente em Java e o segundo em Erlang e discutimos um pouco sobre como essas linguagens influenciaram a arquitetura e o funcionamento destes sistemas. 

Focamos em especial em como esses sistemas endereçam o problema das cargas heterogêneas, ou seja, compostas por aplicações de pesquisa (baixa prioridade e longa duração) e de produção (alta prioridade e baixa duração) em um mesmo cluster. Analisamos a fundo como esses sistemas funcionam, principalmente, quais são os mecanismos que auxiliam na tomada de decisão sobre agendamento de tarefas aos escalonadores. Por fim, propusemos o uso de uma política de escalonamento Fair e baseada em preempção de tarefas para auxiliar o escalonador do Disco a dar ênfase à aplicação de produção sem deixar de ser justo, ou seja, faz com que rapidamente a aplicação de produção atinja a quantidade de recursos do cluster que por pertence a ela em uma divisão justa dos mesmos. Para isso tarefas da aplicação menos prioritária (de pesquisa) sofrem preempção. 

Contribuímos para as comunidades do Hadoop e do Disco ao longo desse mestrado: colaboramos na codificação de uma política de preempção e checkpointing ao Hadoop e desenvolvemos uma política justa e que se utiliza de preempção no Disco para priorizar as aplicações de produção com resultados significativos no tempo de execução da nossa carga experimental. Outra contribuição deste trabalho é uma interface Web auxiliar ao Disco para reprodução dos nossos experimentos.