MapReduce - PowerPoint PPT Presentation

About This Presentation
Title:

MapReduce

Description:

MAPREDUCE HIST RICO, MOTIVA O E CEN RIO Grande quantidade de dados criou uma necessidade de maior poder computacional; Impossibilidade de aumentar a capacidade ... – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 25
Provided by: Ped7127
Category:

less

Transcript and Presenter's Notes

Title: MapReduce


1
MapReduce
2
Histórico, motivação e cenário
  • Grande quantidade de dados criou uma necessidade
    de maior poder computacional
  • Impossibilidade de aumentar a capacidade de
    processamento de um único processador.
  • Solução paralelização!

3
Histórico, motivação e cenário
Gráfico 1, obtido com dados de 6
4
Histórico, motivação e cenário
  • Na Google, as paralelizações nos algoritmos eram
    feitas caso a caso.
  • Em cada caso, problemas comuns a todas as
    paralelizações tinham de ser resolvidos.
  • Como fazer um modelo de paralelizações que não
    necessite de novas implementações para cada caso?

5
Conceito Paralelização
  • Paralelizar um algoritmo é executar partes
    diferentes dele em unidades de processamento
    diferentes e obter um menor tempo de execução.

6
CONCEITO PARALELIZAÇÃO
Figura 2 A paralelização de um processamento
7
Conceito paralelização
  • PROBLEMAS
  • Como designar processamento aos processadores?
  • Como garantir exclusão mútua onde for necessário?
  • Como fazer o algoritmo paralelo ter os mesmos
    resultados do original?
  • SINCRONIZAÇÃO!

8
Conceito Computação distribuída
  • Sistema Paralelo computador com diversos
    processadores que compartilham áreas da memória e
    discos.
  • Sistema distribuído diversos computadores
    ligados em rede, capazes de executar algoritmos
    paralelos. Chamado também de cluster. Cada
    processador de um cluster é chamado de nó.

9
O modelo mapreduce
  • Abstração que permite que o usuário seja isolado
    da camada de paralelização. 1
  • A paralelização depende da implementação do
    modelo MapReduce.
  • Na implementação que devem estar garantidas as
    propriedades do sistema (integridade,
    disponibilidade, controle de acesso, não-repúdio,
    confidencialidade, autenticação e privacidade).

10
Mapreduce visão do usuário
  • Usuário programa duas funções
  • map(chave, valor) -gt (chaveInt , valorInt)
  • reduce(chaveInt, valoresInt) -gt (saídas)

11
Map(chave, valor)
  • A função map(chave, valor) recebe como parâmetro
    de entrada um par (chave, valor) e emite na saída
    um par (chave intermediária, valor
    intermediário).

12
Reduce(chaveInt, valoresint)
  • A função reduce recebe o conjunto de valores
    intermediários valoresInt (saídas da função map)
    que estão associados à mesma chave intermediária
    chaveInt e emite como saída os valores finais na
    saída para a mesma chave.

13
A implementação do mapreduce
  • Diversas implementações são possíveis
  • Cenários diferentes demandam implementações
    diferentes.

14
A IMPLEMENTAÇÃO DA GOOGLE
  • Características dos clusters disponíveis
  • Dispositivos de rede e processamento comuns (x86
    dual-core, discos IDE)
  • Cluster com centenas ou milhares de nós.
  • Sistema de arquivos distribuído próprio, o GFS
    5

15
A IMPLEMENTAÇÃO DA GOOGLE (2)
  • Usuário implementa as funções map e reduce e
    chama uma função MapReduce dentro do próprio
    programa
  • A implementação fragmenta o arquivo de entrada do
    usuário (64 MB/parte)
  • As funções map e reduce são copiadas para os nós
    do cluster
  • Mestre X trabalhadores

16
A IMPLEMENTAÇÃO DA GOOGLE (3)
  • O mestre tarefas a trabalhadores ociosos.
  • Trabalhadores mappers recebem um fragmento do
    arquivo de entrada cada, extraem uma chave e
    valor dele e chamam a função map.
  • Pares intermediários ficam guardados na memória
  • Escritos em disco periodicamente
  • Mestre toma nota dos locais dos pares
    intermediários.

17
A IMPLEMENTAÇÃO DA GOOGLE (4)
  • O mestre designa um nó para a tarefa de reduce
    com os locais dos valores intermediários da sua
    chave.
  • O nó de redução lê todos os valores
    intermediários relacionados àquela chave
    intermediária e chama a função reduce, que é
    executada e escreve em um arquivo de saída o
    resultado final da execução.
  • Implementação retorna ao programa do usuário

18
A IMPLEMENTAÇÃO DA GOOGLE (5)
Figura 3 Esquema da implementação da Google
19
Hadoop
  • Uma implementação de código aberto do modelo
    MapReduce 4
  • Utiliza interfaces Java para o programador
    implementar as funções map e reduce.
  • Muito parecido com a implementação da Google ,
    mas é flexível com relação às máquinas em que
    roda.

20
Ambientes oportunísticos
  • Ciclos ociosos de máquinas podem ser usados para
    executar tarefas de map/reduce.
  • Projeto MOON7
  • Recursos disponíveis por curtíssimos períodos de
    tempo

21
Trabalhos futuros
  • Implementação simplificada de MapReduce
  • Ambientes oportunísticos como serviço
  • Como garantir um bom serviço?
  • Executar código de interesse nas máquinas de
    usuários de aplicativos web.

22
Referências
  • 1 DEAN, Jeffrey GHEMAWAT, Sanjay. MapReduce
    Simplied Data Processing on Large
    Clusters. Communications of the ACM, v. 51, n. 1,
    p. 107-113, jan. 2008. Disponível em
    lthttp//static.googleusercontent.com/external_cont
    ent/untrusted_dlcp/research.google.com/pt-BR//arch
    ive/mapreduce-osdi04.pdfgt. Acesso em 23 maio
    2012.
  • 2 LÄMMEL, Ralf. Google's MapReduce Programming
    Model - Revisited. Science of Computer
    Programming, v.70, n. 1, p. 1-30, jan. 2008.
    Disponível em lthttp//web.cs.wpi.edu/cs3013/a11/
    Papers/Lammel_MapReduce_Revisited.pdfgt. Acesso
    em 23 maio 2012.

23
Referências (2)
  • 3 VENKATESH, Kirpal A. NEELAMEGAM, K.
    REVATHY, R. Usando MapReduce e balanceamento de
    carga em nuvens, out. 2010. Disponível em
    lthttp//www.ibm.com/developerworks/br/java/library
    /cl-mapreduce/N1010Agt. Acesso em 24 abr. 2012.
  • 4 HADOOP. Hadoop 1.0.2 documentation.
    Disponível em lthttp//hadoop.apache.org/common/do
    cs/current/index.htmlgt. Acesso em 24 abr. 2012.
  • 5 GHEMAWAT, Sanjay GOBIOFF, Howard LEUNG,
    Shun-Tak. The Google File System.ACM SIGOPS
    Operating Systems Review - SOSP '03, v. 37, n.5,
    p. 29-43, dez. 2003. Disponível em
    lthttp//www.cs.brown.edu/courses/cs295-11/2006/gfs
    .pdfgt. Acesso em 23 maio 2012.

24
REFERÊNCIAS (3)
  • 6 INTEL. Microprocessor Quick Reference Guide.
    Disponível em lthttp//www.intel.com/pressroom/kit
    s/quickrefyr.htmgt. Acesso em 23 maio 2012.
  • 7 Heshan Lin ARCHULETA, Jeremy Xiaosong Ma
    Wu-chun Feng Zhe Zhang GARDNER, Mark. MOON
    MapReduce On Opportunistic eNvironments. Proceedin
    gs of the 19th ACM International Symposium on
    High Performance Distributed Computing - ACM HPDC
    '10, p. 95-106, 2010. Disponível em
    lthttp//eprints.cs.vt.edu/archive/00001089/01/moon
    .pdfgt. Acesso em 24 maio 2012.
Write a Comment
User Comments (0)
About PowerShow.com