View
105
Download
0
Category
Tags:
Preview:
Citation preview
>CloudConf 2013
Outubro / 2013
Big compute, big net & big data:
How to be big!
Luiz MonneratPETROBRAS
> Tópicos!!!
Big Compute (HPC)
Big Net (Internet)
Big Data
Paralelismo
Escalabilidade
Arquiteturas P2P na Internet
Arquiteturas P2P nos CPDs
Distributed Hash Tables
O que podemos aprender ?
How to be big ????
> Tópicos!!!
Big Compute (HPC)
Big Net (Internet)
Big Data
Paralelismo
Escalabilidade
Arquiteturas P2P na Internet
Arquiteturas P2P nos CPDs
Distributed Hash Tables
O que podemos aprender ?
How to be big ????
> Big Compute
Processamento de Alto Desempenho• Também conhecido como HPC, HPTC ou Supercomputação
Uso de computadores poderosos para resolver os maiores e mais complexos problemas numéricos
Meteorologia, Simulações Nucleares, Avaliação de riscos em mercados, Processamento Sísmico, etc.
Exemplo: grifo04, maior supercomputador da América Latina • 17 bastidores
• 544 servidores
• Rede de 20gbps por servidor
• Cerca de 500 mil cores matemáticos (incluindo GPUs)
• 40TB de RAM
> grifo04 : 500 mil cores e 40TB RAM (2010)
> bwr1: 1300 CPUs (2004)
> How to be Big Compute......
Processamento Paralelo• Uso de mais de uma unidade computacional (p.e., CPU) para
resolução de um (ou vários) problema(s) simultaneamente
Escalabilidade• Propriedade de um sistema prover mais desempenho à medida em
que lhe é adicionada mais capacidade (p.e., com a adição de mais
CPUs ou servidores)
Balanceamento de carga, Processamento Heterogêneo, comunicação entre processos, sincronização, etc.
> How to be Big Compute......
Processamento Paralelo• Uso de mais de uma unidade computacional (p.e., CPU) para
resolução de um (ou vários) problema(s) simultaneamente
Escalabilidade• Propriedade de um sistema prover mais desempenho à medida em
que lhe é adicionada mais capacidade (p.e., com a adição de mais
CPUs ou servidores)
Balanceamento de carga, Processamento Heterogêneo, comunicação entre processos, sincronização, etc.
> Processamento Paralelo
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Para o paralelismo trazer benefícios o sistema tem que ser escalávelPara o paralelismo trazer benefícios o sistema tem que ser escalável
> How to be Big Compute......
Processamento Paralelo• Uso de mais de uma unidade computacional (p.e., CPU) para
resolução de um (ou vários) problema(s) simultaneamente
Escalabilidade• Propriedade de um sistema prover mais desempenho à medida em
que lhe é adicionada mais capacidade (p.e., com a adição de mais
CPUs ou servidores)
Balanceamento de carga, Processamento Heterogêneo, comunicação entre processos, sincronização, etc.
> How to be Big Compute......
Processamento Paralelo• Uso de mais de uma unidade computacional (p.e., CPU) para
resolução de um (ou vários) problema(s) simultaneamente
Escalabilidade• Propriedade de um sistema prover mais desempenho à medida em
que lhe é adicionada mais capacidade (p.e., com a adição de mais
CPUs ou servidores)
Balanceamento de carga, Processamento Heterogêneo, comunicação entre processos, sincronização, etc.
>
1 2 3 4 5 6 7 80
1
2
3
4
5
6
7
8
9
Servidores
Des
empe
nho
Escalabilidade Ideal
Curva de Escalabilidade
Escalabilidade é a propriedade de um sistema prover mais desempenho à medida em que lhe é adicionada mais capacidade.
>
1 2 3 4 5 6 7 80
1
2
3
4
5
6
7
8
9
Servidores
Des
empe
nho
Escalabilidade Ideal
Curva de Escalabilidade
Escalabilidade é a propriedade de um sistema prover mais desempenho à medida em que lhe é adicionada mais capacidade.
>
1 2 3 4 5 6 7 80
1
2
3
4
5
6
7
8
9
Servidores
Des
empe
nho
Escalabilidade Ideal
Escalabilidade Boa
Curva de Escalabilidade
Escalabilidade é a propriedade de um sistema prover mais desempenho à medida em que lhe é adicionada mais capacidade.
>
1 2 3 4 5 6 7 80
1
2
3
4
5
6
7
8
9
Servidores
Des
empe
nho
Escalabilidade Ideal
Escalabilidade Ruim
Escalabilidade Boa
Curva de Escalabilidade
Escalabilidade é a propriedade de um sistema prover mais desempenho à medida em que lhe é adicionada mais capacidade.
> Limitações de Escalabilidade
Há diversos fatores que podem limitar a escalabilidade de um sistema• Balanceamento de carga
• Comunicação entre processos
• Sincronização
• ...
• ...
• Arquitetura Cliente/Servidor
> Tópicos!!!
Big Compute (HPC)
Big Net (Internet)
Big Data
Paralelismo
Escalabilidade
Arquiteturas P2P na Internet
Arquiteturas P2P nos CPDs
Distributed Hash Tables
> Big Net
Internet• Rede mundial de “computadores”..... e “coisas” !!!!!
Sistemas com milhões de usuários simultâneos
Demandas imprevisíveis
Sistemas Cliente/Servidor não atendem bem....• Escalabilidade é crítica
• Alto custo
• Difíceis de dimensionar
> Tópicos!!!
Big Compute (HPC)
Big Net (Internet)
Big Data
Paralelismo
Escalabilidade
Arquiteturas P2P na Internet
Arquiteturas P2P nos CPDs
Distributed Hash Tables
> How to be Big Net.....
P2P !!!!• peer-to-peer ou par-a-par
Arquitetura de sistemas distribuídos onde todos os participantes são iguais em suas funções (pares)
• Cada par realiza funções de servidor e de cliente de um mesmo serviço
• Não há distinção entre servidores e clientes
• Intrinsicamente escalável !!!!!!
• Ajusta-se automaticamente a variações de demanda!!
> Escalabilidade P2P
Malha Telefônica
> Sistemas puramente P2P
Vários sistemas P2P usam soluções Cliente/Servidor (p.e., diretórios) para metadados
• Exemplo: Napster
• Acesso a metadados pode ser um gargalo em sistemas enormes
Sistemas puramente P2P atuais usam DHTs como diretórios• Exemplos Skype, KAD/eMule, BitTorrent
• São mais escaláveis
> Filesystem Tradicional
Cluster de ProcessamentoCluster de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
FS client
FS client
FS client
FS Server
> Filesystem Tradicional
Cluster de ProcessamentoCluster de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
FS client
FS client
FS client
FS Server
> Filesystem Tradicional
Cluster de ProcessamentoCluster de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
FS client
FS client
FS client
FS Server
> Filesystem Paralelo
Cluster de ProcessamentoCluster de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
FS client
FS client
FS client
FS Server
FS Server
> Filesystem Paralelo
Cluster de ProcessamentoCluster de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
FS client
FS client
FS client
FS Server
FS Server
FS Server
FS Server
FS Server
> Filesystem Paralelo versus P2P
Cluster de ProcessamentoCluster de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
FS client
FS client
FS client
FS Server
FS Server
FS Server
FS Server
FS Server
FS Server
FS Server
FS Server
Filesystems P2P são soluções basicamente de software que podem aliar:• Baixo custo
• Escalabilidade
• Alto desempenho
• Exemplos• Google filesystem
• Hadoop FS
> Tópicos!!!
Big Compute (HPC)
Big Net (Internet)
Big Data
Paralelismo
Escalabilidade
Arquiteturas P2P na Internet
Arquiteturas P2P nos CPDs
Distributed Hash Tables
> Big Data
Várias definições..........• Grandes massas de dados não estruturados
• Uso de Data Mining / busca de correlações
• Uso de Analytics
• 5V’s : Velocidade, Volume, Variedade, Veracidade e Valor
As demandas impostas pelas necessidades de volume e velocidade de acesso dos dados desafiam os filesystems tradicionais Cliente/Servidor (sejam paralelos ou não!)
> How to be Big Data......
P2P dentro do CPD!
Filesystem P2P
Hadoop FS (HDFS)• Não é puramente P2P.......
• Pode ter gargalos no acesso aos metadados
• Criadores do GoogleFS relataram que eles usam centenas de
servidores de metadados dedicados
> Hadoop File System (HDFS)
Parte do projeto Apache Hadoop• Baseado no GFS (Google FS)
É P2P!!!!!!!!• P2P híbrido, com os metadados em servidor dedicado
• Escalável
Integração com MapReduce
Pode ser usado em separado do Hadoop
Não é compatível com padrão POSIX• Aplicações prévias precisam ser reescritas
• Aplicações novas podem ser desenvolvidas de modo “HDFS friendly”
> Típico Filesystem P2P
Cluster de ProcessamentoCluster de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
FS client
FS client
FS client
FS Server
FS Server
FS Server
Metadata Server
Filesystems P2P em geral usam uma solução cliente/servidor para diretórios/metadados
Acesso a metadados só se torna um gargalo em sistemas P2P MUITO grandes
Mas soluções P2P para diretórios (DHTs) costumam ter latências muito altas
> Tópicos!!!
Big Compute (HPC)
Big Net (Internet)
Big Data
Paralelismo
Escalabilidade
Arquiteturas P2P na Internet
Arquiteturas P2P nos CPDs
Distributed Hash Tables
> Distributed Hash Table (DHT)
Estrutura de dados distribuída, P2P, escalável e auto-reorganizável
Os dados são tipicamente metadados (entradas de diretórios)
As recuperações dos dados são feitas através de consultas
Os dados são distribuídos segundo uma função criptográfica (hash)
> Resolução de Consultas em DHTs
As consultas são resolvidas recursivamente • Cada consulta pode gerar várias “sub-consultas” (ou hops)
• Multi-hop DHTs, introduzidas no início dos anos 2000
• Como quando fazemos para descobrir o telefone de alguém, ligando
para seus amigos, parentes, etc.
Cada consulta em uma Multi-hop DHT pode gerar dezenas de saltos• Latência alta, porém adequada para muitas aplicações de Internet
Mais recentemente surgiram as single-hop DHTs• “Diretórios” P2P
• Escalabilidade aliada a baixa latência
> Principais Single-hop DHTs
OneHop (MIT, Gupta et al, 2004)
• Altíssimo consumo de banda passante
• Desbalanceamento de carga
1h-Calot (IBM+Rochester, Tang et al, 2005)
• Altíssimo consumo de banda passante
• Bom balanceamento de carga
D1HT (Petrobras+UFRJ, Monnerat e Amorim, 2005)
• Bom balanceamento de carga
• Consumo de banda passante 10x menor do que OneHop e 1h-Calot
• Puramente P2P
• Auto-reorganizável
> D1HT: A Distributed One Hop Hash Table
Baixa Latência:
• Requisito de HPC, Big Data, etc.
Baixos custos de manutenção:
• Requisito de aplicações P2P na Internet
> D1HT: A Distributed One Hop Hash Table
Baixa Latência:
• Requisito de HPC, Big Data, etc.
Baixos custos de manutenção:
• Requisito de aplicações P2P na Internet
D1HT: Uma DHT de propósito geral!
> D1HT: A Distributed One Hop Hash Table
Baixa Latência:
• Requisito de HPC, Big Data, etc.
Baixos custos de manutenção:
• Requisito de aplicações P2P na Internet
D1HT: Uma DHT de propósito geral!
Melhor Tese de Doutorado brasileira em HPC (2010)Melhor Tese de Doutorado brasileira em HPC (2010)
> Conclusões
Aprendizado e técnicas desenvolvidas para HPC, Internet e Big Data são importantes para implantação de grandes sistemas
Sistemas cliente/servidor paralelos podem ser escaláveis e resolver a maioria das demandas
Sistemas P2P são ainda mais escaláveis e recomendados para ambientes muito grandes
Na medida em que os sistemas têm crescido cada vez mais, DHTs se tornarão mais comuns e até necessárias em alguns casos
>
MUITO Obrigado!!!
http://www.cos.ufrj.br/~monnerat
http://br.linkedin.com/in/luizmonnerat
>
Perguntas??
http://www.cos.ufrj.br/~monnerat
http://br.linkedin.com/in/luizmonnerat
> Agenda
Introdução: Processamento Sísmico
Processamento de Alto Desempenho
Escalabilidade
Grandes Massas de Dados não Estruturados na Petrobras
Filesystems Paralelos
Arquiteturas P2P
Filesystems P2P
Tabelas Hash Distribuídas (DHTs)
Hadoop
Conclusão
> Arquitetura do HDFS
> Arquitetura P2P híbrida do HDFS
FS client
FS client
datanode
datanode
FS client datanode
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
Servidor de ProcessamentoServidor de Processamento
namenode
Namenode (servidor de metadadados) roda em um servidor dedicado
Datanodes (servidores de dados) rodam nos nós do cluster.
Cada nó atua então como:Servidor de processamentoCliente de FSServidor de FS
> Hadoop
HDFS + MapReduce & more!
É P2P!!!!!!!!
“Moving Computation is Cheaper than Moving Data”• Se encaixa bem com estratégias de Analytics
Pode facilitar – em MUITO – o desenvolvimento de aplicações paralelas
Solução commodity e escalável!
Pode ser SUPER útil para HPC !!!!!
> Conclusões
Processamento sísmico usa grandes massas de dados e HPC
Muito da experiência HPC pode ser usado em BigData• Clusters Linux
• Soluções commodities
• Quanto mais commodity melhor!
• Paralelismo
• Escalabilidade
Arquiteturas P2P são intrinsicamente escaláveis
DHT: solução P2P para diretórios e metadados
Hadoop: P2P, escalável e commodity
HPC pode usufruir de soluções desenvolvidas para BigData
Recommended