Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a...
Transcript of Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a...
![Page 1: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/1.jpg)
Escalonamento de Processos Sensível à Localidade de Dados em Sistemas de Arquivos
Distribuídos
Bruno HottRodrigo RochaDorgival Guedes
![Page 2: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/2.jpg)
2
Introdução
● Volume muito grande de dados distribuídos por diversas máquinas
● Mover as aplicações para perto das bases de dados de forma eficaz
● Hadoop HDFS considera localidade a nível de rack
● Impacto da localidade dos dados a nível de máquina nesses frameworks
![Page 3: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/3.jpg)
3
Watershed
● Framework para processamento distribuído que imple-menta a abstração filtro-fluxo
● Dados fluem através de fluxos e são processados por filtros
● Cada filtro pode ter múltiplas instâncias de execução
● Integrado com: YARN, HDFS/Tachyon
![Page 4: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/4.jpg)
4
Hadoop YARN
● Plataforma para gerenciamento de aplicações distribuídas
● Permite que diferentes aplicações possam coexistir em um mesmo ambiente
● Dividido em:
– Gerenciamento de recursos (RM)
– Escalonamento de tarefas (AM)
● Composto por:
– ResourceManager (RM)
– NodeManager (NM)
![Page 5: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/5.jpg)
5
Hadoop YARN
![Page 6: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/6.jpg)
6
Hadoop HDFS
● Sistema distribuído de arquivos
● Replicação garante:
– Durabilidade
– Largura de banda
● Composto por:
– NameNode (NN)
– DataNodes (DN)
![Page 7: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/7.jpg)
7
Hadoop HDFS
![Page 8: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/8.jpg)
8
Tachyon (Alluxio)
● Cache para sistemas distribuídos de arquivos
● Interface espelha com HDFS
● Composto por:
– Master
– Workers
![Page 9: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/9.jpg)
9
Escalonador Sensível à Localidade dos Dados
● Consulta ao sistema de arquivos (HDFS/Tachyon)
● Localização de cada bloco
● Escalonamento em duas fases:
– Blocos locais
– Blocos remotos
● Alocação dos contêineres (YARN)
![Page 10: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/10.jpg)
10
Escalonador Sensível à Localidade dos Dados
1. Busca do arquivo no HDFS/Tachyon com lista de blocos
2. Pedido de contêineres
3. Recebimento dos contêineres fora de ordem
4. Organização dos contêineres em função dos blocos
5. Execução dos processos da aplicação
![Page 11: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/11.jpg)
11
Avaliação Experimental
● Micro-benchmark: leitura simples
● Políticas implementadas
– sec: Escalonamento YARN
– esc: Escalonamento proposto
– ale: Escalonamento aleatório
– pes: Pior caso
● 10 VMs: 2 VCPUs (2,5GHz) e 4GB RAM
● 5 execuções
![Page 12: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/12.jpg)
12
Avaliação Experimental
● Fator de replicação 2
● Limpeza de cache:
– HDFS (disco)
– Tachyon (memória)
● Grandezas de interesse:
– Tempo de execução
– Tamanho do cluster
– Porção de dados por máquina
![Page 13: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/13.jpg)
13
Avaliação Experimental:Validação
![Page 14: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/14.jpg)
14
Avaliação Experimental:Validação
![Page 15: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/15.jpg)
15
Avaliação Experimental:HDFS (4 nós)
![Page 16: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/16.jpg)
16
Avaliação Experimental:HDFS (8 nós)
![Page 17: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/17.jpg)
17
Avaliação Experimental:Tachyon
![Page 18: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/18.jpg)
18
Conclusão
● HDFS: localidade a nível de rack
● Avaliamos localidade a nível de máquina
● Desenvolvemos um escalonador sensível à localidade dos dados integrado ao HDFS e ao YARN
● Escalonamento sensível à localidade beneficia significati-vamente a execução
● Ganhos ainda mais significativos quando os dados já estão em memória (Tachyon)
![Page 19: Escalonamento de Processos Sensível à Localidade de Dados ... · 18 Conclusão HDFS: localidade a nível de rack Avaliamos localidade a nível de máquina Desenvolvemos um escalonador](https://reader034.fdocument.pub/reader034/viewer/2022042805/5f66563fcc98c3053931b737/html5/thumbnails/19.jpg)
19
Trabalhos Futuros
● O escalonador proposto é facilmente extensível dentro do ecossistema Hadoop
● Portar para Hadoop MapReduce e Spark
● Estender a política de escalonamento para incluir heurísti-cas para casos de alocação em cenários multiusuários com maior contenção de recursos