AN IN-DEPTH STUDY OF MAP REDUCE IN CLOUD ENVIRONMENT. Sistemas Distribuídos e Tolerância a Falhas Nuno Garcia m6284, Tiago Carvalho m PDF
Download "AN IN-DEPTH STUDY OF MAP REDUCE IN CLOUD ENVIRONMENT. Sistemas Distribuídos e Tolerância a Falhas Nuno Garcia m6284, Tiago Carvalho m6294"
Angélica Natal Bergmann
1 AN IN-DEPTH STUDY OF MAP REDUCE IN CLOUD ENVIRONMENT Sistemas Distribuídos e Tolerância a Falhas Nuno Garcia m6284, Tiago Carvalho m6294
2 Sobre o paper Novia Nurain, Hasan Sarwar, Md.Pervez Sajjad United International University, Bangladesh Moin Mostakim Bangladesh University of Engineering and Technology Advanced Computer Science Applications and Technologies (ACSAT), 2012 International Conference
3 Introdução MapReduce (Google) Cloud Computing Arquitectura da Google Arquitectura da MS (Azure) Arquitectura da Amazon (Cloud MR)
4 Motivação Comunidade científica depende cada vez mais do processamento de grandes quantidades de dados. Grande tolerância a falhas e escalabilidade. Vantagens conhecidas de Cloud Computing
5 MapReduce Introduzido pela Google em 2003 Tolerância a falhas Paralelização automática Escalabilidade Optimizações a nível local de gestão de dados
6 Execução do MapReduce Pedaços de dados (chunks) são distribuídos para tarefas Maps através de um sistema de ficheiros distribuído. Chunks -> sequência de pares chave-valor; escrita para disco local, particionados em R (# tarefas Reduce) regiões.
7 Execução do MapReduce Master envia localização das regiões para as tarefas Reduce. Tarefas Reduce encarregam-se de combinar os valores de cada chave.
8 Desafios do MapReduce na Cloud Armazenamento de Dados e Metadados: a performance é afectada pela localização dos dados e pela largura de banda. Consistência da comunicação e escalabilidade: flutuação na performance de I/O (topologia desconhecida, etc ) Fiabilidade do Master: Toda a lógica depende da capacidade do Master não sofrer falhas.
9 Factores de Performance I/O system: I/O directo (melhor) ou Streaming. Algoritmo de escalonamento: distribuir as tarefas Map pelos nós. Tolerância a Falhas.
10 MapReduce para Google Large Clusters
11 Google MR Dividir ficheiros de entrada. Master distribui cada chunk para um worker disponivel. Cada mapworker faz o parse do chunk para pares chave/valor e aplica a função Map definida. Os pares são divididos em regiões, cujas localizações são enviadas para o Master. O Master envia estas localizações para os reduce workers.
12 Google MR Os reduce workers lêem os dados dos discos dos map workers, e agrupam por chave. Os reduce workers enviam para a função Reduce os pares chave/valores intermediários. Quando todas as tarefas acabam, o Master acorda o programa. O output está disponível nos R ficheiros (# reduce workers).
13 Tolerância a Falhas O Master faz ping ao worker periodicamente. Se não receber resposta, marca o worker como failed. Quando os workers terminam as tarefas, são marcados como idle e disponiveis para novo escalonamento. Qualquer tarefa num worker failed é marcada como idle e disponivel para re-escalonamento.
14 Perigos É uma tecnologia proprietária. Se o Master falha, tudo falha. Não há nenhuma garantia que seja a melhor.
15 Azure MR Arquitectura Azure queues Azure tables Azure blob storage
16 Azure MapReduce Vantagens Tolerância a falhas: as tarefas são removidas das task queues apenas após serem concluídas; Resiliente a falhas do Master: devido à inexistência de um Master que distribuí tarefas, é impossível cancelar todo o processo de MapReduce.
17 Azure MapReduce - Desvantagens Tempos de queue fixos: não permite alterar o limite de 2h para timeout das queues. O que se torna bastante limitador em grandes cálculos de MapReduce; Falta de optimização local: não há verificação se os dados existem localmente, é feito o download dos dados da blob storage, seguido pelo upload dos resultados; Inexistência de uma forma directa para transmitir dados entre as tarefas de Map e Reduce. Dependência de tabelas de metadados: permite remover o único mestre da arquitectura, mas fica dependente de guarder os dados fisicamente.
18 Cloud MapReduce (CMR) Arquitectura Input Queue Output Queue Master Reduce Queue Várias Reduce Queues
19 Cloud MapReduce - Vantagens Escalabilidade Incremental: possibilidade de adicionar servidores durante cálculos; Simetria e descentralização: todos os nós de computação têm o mesmo trabalho; Nós heterogénios: cada nó pode ter um desempenho diferente e ter uma localização geográfica diferente; Troca de dados mais eficiente devido ao uso de uma queue intermediária entre Map e Reduce.
20 Cloud MapReduce - Desvantagens Falta de optimização local: a rede é usada exclusivamente para I/O, ignorando qualquer cache local. Possível estrangulamento quando as ligações entre nós estão saturadas.
21 Comparação de Serviços
22 Conclusão Ainda há espaço para optimizar o agendador de tarefas; Não há uma melhor solução implementada cada solução tem os seus prós e contras, e cada uma tem o seu caso ideal de uso, que será diferente de outra solução