Upload
moral
View
29
Download
0
Embed Size (px)
DESCRIPTION
BAH! 2013 7 / Maio / 2013 HPC & Big Data Luiz Monnerat PETROBRAS / TIC-E&P / INFRAEP / CST. Agenda. Introdução: Processamento Sísmico Processamento de Alto Desempenho Escalabilidade Grandes Massas de Dados não Estruturados na Petrobras Filesystems Paralelos Arquiteturas P2P - PowerPoint PPT Presentation
Citation preview
>
BAH! 20137 / Maio / 2013
HPC & Big Data
Luiz MonneratPETROBRAS / TIC-E&P / INFRAEP / CST
> 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ões
> 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
> Processamento Sísmico
Gera imagens da subsuperfície da terra
É fundamental para as atividades de E&P
Usa e gera enormes quantidades de dados não estruturados
Não houve uma explosão repentina na quantidade de dados, e sim um crescimento acelerado e contínuo ao longo de décadas.
> Sísmica
> Interpretação
> Processamento dos Dados Sísmicos
A geração de informação (imagens de subsuperfície) a partir dos dados sísmicos requer grande capacidade de processamentoMais do que disso, o processamento sísmico requer:
• MUITA capacidade de processamento• MUITA capacidade de armazenamento• ALTO desempenho de I/O• ALTO desempenho de rede
Para satisfazer estes requisitos, o Processamento Sísmico usa o Processamento de Alto Desempenho (HPC)
como uma ferramenta fundamental
Requisitos também importantes em ambientes Big Data !!!!!
> 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
> Processamento de Alto Desempenho
O que é Processamento de Alto Desempenho• Uso de computadores poderosos para resolver os maiores e mais
complexos problemas numéricos• Também conhecido como HPC, HPTC ou Supercomputação
Onde a HPC é usada? Pra que serve?• Metereologia• Simulações Nucleares• Avaliação de riscos em mercados• Processamento Sísmico• etc.
Os maiores supercomputadores do mundo são rankeados segundo a lista TOP500
> TOP500
TOP500: A lista “Fortune 500” da HPC• www.top500.org• 500 maiores computadores do mundo para cálculos numéricos• Publicada duas vezes ao ano desde 1993• “sub-listas”: TOP5, TOP10, TOP100, etc.
A Petrobras apareceu algumas vezes• Em 2005 tínhamos duas máquinas, sendo uma no TOP100• Desde 2012 temos uma máquina no TOP100 (grifo04)
Permite acompanhamento de históricos
> TOP500: Sistemas Operacionais
Figura extraída de top500.org
> TOP500: Arquitetura dos Supercomputadores
Figura extraída de top500.org
> Clusters Beowulf
Atualmente a HPC é dominada por clusters commodities• Também chamados de Beowulfs
Uma definição de Beowulf• Agrupamento de computadores idênticos • Construídos com uso de componentes commodities• Para execução de aplicações científicas paralelas
Desenvolvido inicialmente na NASA:• 16 nós • T. Sterling et al., BEOWULF: A Parallel Workstation for Scientific
Computation, Proc. of the 24th International Conference on Parallel Processing, 1995.
O primeiro Beowulf na Petrobras foi construído em 1997Desde então nós temos seguido a estratégia:
Quanto mais commodity, melhor!Isso pode valer para Big Data também !!!!!
> bw1: 72 CPUs (1999)
> bwr1: 1300 CPUs no CCTI (2004)
> bwr2: 4.656 CPUs e 9TB RAM (2005)
> Plataforma padrão em HPC hoje...... e amanhã??
Beowulfs Linux são o padrão de fato ATUAL em HPC!• Mas nem sempre foi assim!• Continuará sendo?
Em HPC dizemos que quando uma plataforma de HARDWARE se torna padrão, já é momento de substituí-la
•Isso costuma ocorrer a cada 10 anos
Isso pode valer para Big Data também !!!!!
> Evolução das arquiteturas de Supercomputadores
Figura extraída de top500.org
> Qual será a plataforma padrão em HPC amanhã?
Hoje caminha-se para uso de computação heterogênea• Uso de aceleradores (ou co-processadores) matemáticos• Por exemplo, GPUs como unidades computacionais• A Petrobras trabalha com computação com GPUs desde 2007• Computação com GPUs continua sendo baseada em commodities
Em HPC aprendemos que é, sempre que possível, melhor usar tecnologias já existentes (e preferencialmente massificadas) do que desenvolver componentes específicos para seu caso.
Isso pode valer para Big Data também !!!!!
> Cluster de PlayStations 3 (2007)
> GPU – Graphic Processing Units
• Começamos a trabalhar com GPUs em processamento heterogêneo em 2007
• Algoritmos de imageamento sísmico foram portados e executados com sucesso
• Relação custo/desempenho mais de 10 vezes melhor do que a proporcionada com CPUs quadcore (as mais modernas em 2007)
• Em 2008 nós já tínhamos nosso primeiro cluster com GPUs (grifo01)
> grifo04 : O maior supercomputador da América Latina
Projetado em 2009Instalado em 2010Em produção desde 2010
> grifo04
544 servidores
1088 GPUs e 487 mil núcleos de processamento matemático (GPU cores)
~ 40 TB de memória RAM
Uma conexão de rede de rede 20 Gbps por nó (Infiniband DDR)
17 bastidores & 425 KW
Custou R$17 milhões (HW+serviços)
Equivalente a um cluster Beowulf com • 125.000 CPU cores• R$ 180 milhões de custo de aquisição• 400 bastidores (servidores 1U)• Mais de 4 MW
Totalmente construído com componentes commodities!!!!• Inclusive softwares!
> 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
> Processamento Paralelo
Uma definição de Beowulf• Agrupamento de computadores idênticos • Construídos com uso de componentes commodities• Para execução de aplicações científicas paralelas
Ao contrário de clusters usados em web farms (entre outros), todos os servidores de um cluster HPC podem ser usados para resolver conjuntamente um único grande problema, enquanto web farms são usadas para resolver diversos pequenos problemas simultaneamente.
Partir um grande problema em diversos problemas menores, e processá-los em paralelo de maneira eficiente NÃO é uma tarefa fácil
• Processamento paralelo• Hadoop pode ajudar MUITO
> Escalabilidade
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
Em soluções paralelas pode-se dizer que escalabilidade é a propriedade de um sistema prover mais desempenho à medida em que lhe é adicionada mais capacidade (p.e., com a adição de mais CPUs)
Isso vale para Big Data também !!!!!
> 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
> Grandes Massas de Dados Científicos Não Estruturados
Devido ao alto volume, até cerca de 10 anos atrás a maior parte dos dados ficava em fitas• Hoje fitas são usadas para backups e arquivamento de dados históricos
Atualmente usamos filesystems paralelos para garantir o desempenho de I/O necessário para os dados mais “quentes”
Mas...... o que são filesystems paralelos?
> Filesystems Paralelos
FS cliente/servidor aonde o arquivamento de um mesmo arquivo é distribuído por diversos servidores (um “pedacinho” em cada um)
Como um “RAID de servidores”, ao invés de um simples RAID de HDs• Em cada servidor, os dados são armazenados em RAIDs de HDs
CIFS, NFS 4, ext2/3/4 etc., não são (nem podem ser) FS paralelos• NFS 4.1 é paralelo
Exemplos de FS paralelos: Lustre, GPFS, Panasas
FS paralelos são escaláveis !!! Servidores adicionais trazem desempenho adicional
> Filesystem Tradicional
Cluster de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
FS client
FS client
FS client
FS Server
> Filesystem Tradicional
Cluster de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
FS client
FS client
FS client
FS Server
> Filesystem Tradicional
Cluster de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
FS client
FS client
FS client
FS Server
> Filesystem Tradicional
Cluster de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
FS client
FS client
FS client
FS Server
> Filesystem Paralelo
Cluster de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor de Processamento
FS client
FS client
FS client
FS Server
FS Server
FS Server
FS Server
FS Server
> Filesystems Paralelos
FS paralelos são escaláveis • Mas têm seus limites!• Pode-se chegar a pontos de saturação • Servidores adicionais nem sempre trazem desempenho adicional• Acesso a metadados é crítico• Pode-se chegar a dezenas ou centenas de servidores
FS paralelos são soluções específicas, historicamente usadas quase que só em HPC
Gostaríamos de ter soluções mais genéricas e ainda mais escaláveis!
> 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 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 nodo (par) realiza tanto funções de servidor quanto de cliente de um mesmo serviço.
• Não há distinção entre servidores e clientes
• Pares são também chamados de servents (SERVer + cliENT)
• Implementação mais complexa do que cliente/servidor• Para ambientes pequenos e médios
• Intrinsicamente escalável !!!!!!
> Escalabilidade P2P
Malha Telefônica
> Filesystem Paralelo versus P2P
Cluster de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor 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• Hadoop FS• Google filesystem
> Soluções P2P na Internet e em HPC
No final do Século XX, começaram a aparecer ambientes com centenas de milhares de usuários na Internet
• Altíssimo nível de concorrência por recursos!• Soluções cliente/servidor se tornaram muito caras e complexas• Soluções P2P viabilizaram implementações baratas e escaláveis para
aplicações com milhões de usuários
O ambiente HPC da Petrobras já tem mais de 500 mil cores de processamento matemático (CPU+GPU)!
• Altíssimo nível de concorrência por recursos!• Há ambientes HPC muito maiores• Soluções cliente/servidor têm se tornado caras e complexas• Ainda não há soluções puramente P2P adequadas para HPC
> Sistemas P2P híbridos
São comuns sistemas híbridos P2P + Cliente/Servidor, e a parte cliente/servidor é tipicamente um diretório (metadados).
Exemplos:• Na malha telefônica temos o serviço 102• Napster• A maioria dos filesystems P2P
> Típico Filesystem P2P
Cluster de Processamento
Servidor de Processamento
Servidor de Processamento
Servidor 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
• Exemplos• Hadoop FS• Google filesystem
• Acesso a metadados só se torna um gargalo em sistemas P2P MUITO grandes
> Sistemas puramente P2P
São completamente P2P, incluindo a parte de diretórios e metadados
Primeiros sistemas puramente P2P utilizavam soluções pouco escaláveis para diretórios/metadados
• Gnutella “v1” usa técnicas de inundação....
Sistemas puramente P2P atuais usam DHTs como diretórios• Exemplos Skype e KAD
Mas, o que é DHT?
> 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
> Distributed Hash Table (DHT)
Estrutura de dados distribuída, P2P, escalável e auto-reorganizável• Os dados são tipicamente índices ou metadados (entradas de diretórios)
Os dados são distribuídos segundo uma função criptográfica (hash) As recuperações dos dados são feitas através de consultas
> DHTs versus Listas Telefônicas (LTs)
Assim como as LTs, DHTs armazenam índices (ou metadados)
Para resolver a consulta a qualquer índice de modo imediato, a DHT deveria ter uma tabela de roteamento (RT) completa com o endereço IP de todos os participantes do sistema
Mas é muito difícil manter atualizada uma RT com milhões de IPs
• Do mesmo modo que as LTs!
• Do mesmo modo que às vezes descobrimos o telefone de alguém consultando outras pessoas, as primeiras DHTs evitavam tabelas roteamento completas, mas tinham que realizar vários “saltos” para resolver cada consulta
• Multi-hop DHTs• Até 20 saltos em sistemas com um milhão de pares • Mas garantem que qualquer consulta será resolvida!!!!!
A alta latência das multi-hop DHTs impede o seu uso em aplicações de desempenho crítico (incluindo HPC)
> Latência versus Banda Passante
A alta latência das primeiras DHTs é consequência do esforço para reduzir o consumo de banda passante para manutenção de suas tabelas de roteamento
• Desenvolvidas no início dos anos 2000• Tentavam suportar até mesmo conexões discadas
Compromisso Latência vs. Banda Passante
> Latência versus Banda passante
Já foi demonstrado que:
“Com o passar do tempo, o aumento da largura de banda passante é tipicamente maior do que
o quadrado da redução das latências.”
David Patterson, 2004
> Single-hop DHTs
DHTs que resolvem consultas com um salto• RTs completas
• Baixa latência e (potencialmente) alto consumo de banda passante
> 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 (entre outros ambientes)
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 (entre outros ambientes)
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 (entre outros ambientes)
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)
> 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
> 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”
> Arquitetura do HDFS
> Arquitetura P2P híbrida do HDFS
FS client
FS client
datanode
datanode
FS client datanode
Servidor de Processamento
Servidor de Processamento
Servidor 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”• Induz P2P• 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 cultura HPC pode ser (e já é) 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
>
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