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
Add to Calender 2017-04-28 00:00:00 2017-04-28 00: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.