• Nenhum resultado encontrado

Uma introdu¸c˜ao ao Apache Hama O modelo BSP nas nuvens Thiago Kenji Okada

N/A
N/A
Protected

Academic year: 2022

Share "Uma introdu¸c˜ao ao Apache Hama O modelo BSP nas nuvens Thiago Kenji Okada"

Copied!
18
0
0

Texto

(1)

Uma introdu¸c˜ ao ao Apache Hama

O modelo BSP nas nuvens

Thiago Kenji Okada1

1Departamento de Ciˆencias da Computa¸ao (DCC) Instituto de Matem´atica e Estat´ıstica (IME)

Universidade de S˜ao Paulo (USP) MAC5742 – Computa¸ao Paralela e Distribu´ıda

26 de Junho de 2015

(2)

Roteiro

1 Introdu¸c˜ao

O que ´e o Apache Hama?

O que ´e o modelo BSP?

2 Apache Hama e o modelo BSP

Mais detalhes sobre o Apache Hama

Escrevendo aplica¸c˜oes BSP no Apache Hama

3 Poss´ıveis aplica¸c˜oes para o Apache Hama

4 Conclus˜oes

(3)

Introdu¸ao

Roteiro

1 Introdu¸c˜ao

O que ´e o Apache Hama?

O que ´e o modelo BSP?

2 Apache Hama e o modelo BSP

Mais detalhes sobre o Apache Hama

Escrevendo aplica¸c˜oes BSP no Apache Hama

3 Poss´ıveis aplica¸c˜oes para o Apache Hama

4 Conclus˜oes

(4)

Introdu¸ao O que ´e o Apache Hama?

O que ´ e o Apache Hama?

O Apache Hama ´e um frameworkde prop´osito geral, escrito em Java, baseado no modelo Bulk Synchronous Parallel(BSP);

Usa a plataforma do Apache Hadoop;

Desde 2012, ´e um projetos de alta prioridade da Funda¸c˜ao Apache.

(5)

Introdu¸ao O que ´e o modelo BSP?

O que ´ e o modelo BSP?

Modelo de programa¸c˜ao paralelaBulk Synchronous Parallel proposto em 1990 por Valiant;

Composto de um modelo computacional e um modelo de algoritmo:

Umcomputador BSP´e composto de:

Um conjunto de processadores, cada um com sua mem´oria;

Um rede, que permite troca de mensagens;

Um mecanismo de sincroniza¸ao entre processadores.

Umalgoritmo BSP´e composto de uma sequˆencia desuper-passos:

Processamento local;

Comunica¸ao entre processos;

Barreira de sincronismo.

(6)

Introdu¸ao O que ´e o modelo BSP?

Super-passo no modelo BSP

(7)

Apache Hama e o modelo BSP

Roteiro

1 Introdu¸c˜ao

O que ´e o Apache Hama?

O que ´e o modelo BSP?

2 Apache Hama e o modelo BSP

Mais detalhes sobre o Apache Hama

Escrevendo aplica¸c˜oes BSP no Apache Hama

3 Poss´ıveis aplica¸c˜oes para o Apache Hama

4 Conclus˜oes

(8)

Apache Hama e o modelo BSP Mais detalhes sobre o Apache Hama

Arquitetura geral do Apache Hama

Seo et al. (2010) [1]

(9)

Apache Hama e o modelo BSP Mais detalhes sobre o Apache Hama

Objetivos do Apache Hama

De acordo com Seo et al. (2010) [1], as principais constribui¸c˜oes do Apache Hama foram:

Compatibilidade: usa funcionalidades j´a presentes no Hadoop;

Escalabilidade: usa as mesmas interfaces do Hadoop;

Flexibilidade: diversos motores de processamento diferentes, e ´e poss´ıvel implementar novos;

Aplicabilidade: ´util para problemas envolvendo grafos e matrizes.

(10)

Apache Hama e o modelo BSP Escrevendo aplica¸oes BSP no Apache Hama

Estrutura b´ asica de uma aplica¸c˜ ao do Apache Hama

Come¸camos extendendo o m´etodo org.apache.hama.bsp.BSP;

Sobrescrevemos o m´etodo bsp()dessa classe;

Usamos uma das diversas primitivas de comunica¸c˜ao dispon´ıveis no Hama para troca de mensagens;

Finalizamos com uma chamada ao m´etodo sync()da classe BSPPeer.

(11)

Apache Hama e o modelo BSP Escrevendo aplica¸oes BSP no Apache Hama

Exemplo de aplica¸c˜ ao no Apache Hama

@Override

public void bsp(BSPPeer<NullWritable, NullWritable, Text, Text, Text> peer) throws IOException, SyncException,

InterruptedException { int i;

for (i = 0; i < 100; ++i);

for (String peerName : peer.getAllPeerNames()) { peer.send(peerName, new Text("Hello from " +

peer.getPeerName() + ", i=" + i));

}

peer.sync();

System.out.println(peer.getCurrentMessage());

(12)

Apache Hama e o modelo BSP Escrevendo aplica¸oes BSP no Apache Hama

Primitivas de comunica¸c˜ ao

Fun¸ao Descri¸ao

send(String peerName, BSPMessage msg) Envia uma mensagem para outro n´o.

getCurrentMessage() Recebe uma mensagem da fila.

getNumCurrentMessages() Obt´em o n´umero de mensagens atuais da fila.

sync() Inicia a barreria de sincronismo.

getPeerName() Obt´em o nome do n´o da tarefa atual.

getPeerName(int index) Obt´em o nome do n´o de ´ındice n.

getNumPeers() Obt´em o n´umero de n´os.

getAllPeerNames() Obt´em o nome de todos os n´os, incluindo o atual, em ordem crescente.

(13)

Poss´ıveis aplica¸oes para o Apache Hama

Roteiro

1 Introdu¸c˜ao

O que ´e o Apache Hama?

O que ´e o modelo BSP?

2 Apache Hama e o modelo BSP

Mais detalhes sobre o Apache Hama

Escrevendo aplica¸c˜oes BSP no Apache Hama

3 Poss´ıveis aplica¸c˜oes para o Apache Hama

4 Conclus˜oes

(14)

Poss´ıveis aplica¸oes para o Apache Hama

Poss´ıveis aplica¸c˜ oes para o Apache Hama

Multiplica¸c˜ao de matrizes;

Solu¸c˜ao de sistemas lineares;

Aprendizado de m´aquina;

Processamento de grandes volumes de dados em geral;

Redes sociais.

(15)

Conclus˜oes

Roteiro

1 Introdu¸c˜ao

O que ´e o Apache Hama?

O que ´e o modelo BSP?

2 Apache Hama e o modelo BSP

Mais detalhes sobre o Apache Hama

Escrevendo aplica¸c˜oes BSP no Apache Hama

3 Poss´ıveis aplica¸c˜oes para o Apache Hama

4 Conclus˜oes

(16)

Conclus˜oes

Conclus˜ oes

Ele soluciona uma classe de problemas que n˜ao funcionam bem usando o modelo mais tradicional do Apache Hadoop (o MapReduce).

O potencial existe, o problema ´e que n˜ao existe muita gente trabalhando nele;

Concorrˆencia forte com o Apache Giraph e o Apache Spark.

(17)

Fim da apresenta¸ao

Fim da apresenta¸c˜ ao

(18)

Fim da apresenta¸ao

Referˆ encia

Seo, Sangwon, et al.

Hama: An efficient matrix computation with the mapreduce framework

2010 IEEE Second International Conference on Cloud Computing Technology and Science (CloudCom) (2010): 721–726.

Referências

Documentos relacionados

O jogador que lançar mais rápido, para a mesa, duas Cartas Resposta correspondentes aos fatores do pedido em jogo, vence a jogada e ganha a Carta Pedido.. Os

Evolução conceitual em atividade física, exercício e esporte. Meios e métodos de treino,

O plano de estudos em vigor no ano lectivo 2011/2012 contempla 85 ECTS na área científica das Relações Públicas e Comunicação Organizacional o que corresponde a 61% do total de ECTS

No entanto, a cultura predominante na gestão das unidades produtivas sucroalcooleiras, influenciada pelas altas taxas de rentabilidade dos mercados de etanol e de açúcar,

Videotoracoscopia e, em outro estudo, sobre Simpatectomia Cervicotorácica por Videotoracoscopia, de forma que o nível a ser abordado cirurgicamente no

comunicação da Paróquia Coração Eucarístico de Jesus O catolicismo no Brasil utiliza os sistemas tradicionais para se comunicar e enfatizar sua doutrina entre os

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ PRÓ-REITORIA DE ADMINISTRAÇÃO.. DIRETORIA DE MATERIAL

- Senhor, abençoai Vossa Santa Igreja para que seja no mundo um sinal vivo e eficaz do vosso amor misericordioso e ajude aos seus fiéis a produzirem muitos frutos de