1 / 61

BAH! 2013 7 / Maio / 2013 HPC & Big Data Luiz Monnerat PETROBRAS / TIC-E&P / INFRAEP / CST

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

moral
Download Presentation

BAH! 2013 7 / Maio / 2013 HPC & Big Data Luiz Monnerat PETROBRAS / TIC-E&P / INFRAEP / CST

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BAH! 2013 • 7 / Maio / 2013 • HPC & Big Data • LuizMonnerat • PETROBRAS / TIC-E&P / INFRAEP / CST

  2. 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

  3. 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

  4. 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.

  5. Sísmica

  6. Interpretação

  7. Processamento dos Dados Sísmicos A geração de informação (imagens de subsuperfície) a partir dos dados sísmicosrequergrandecapacidade de processamento Mais do que disso, o processamentosísmicorequer: MUITA capacidade de processamento MUITA capacidade de armazenamento ALTO desempenho de I/O ALTO desempenho de rede Para satisfazerestesrequisitos, o ProcessamentoSísmicousa o Processamento de Alto Desempenho (HPC) comoumaferramenta fundamental Requisitos também importantes em ambientes Big Data !!!!!

  8. 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

  9. 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

  10. 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

  11. TOP500: Sistemas Operacionais Figura extraída de top500.org

  12. TOP500: Arquitetura dos Supercomputadores Figura extraída de top500.org

  13. 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 ScientificComputation, Proc. ofthe 24th InternationalConferenceonParallelProcessing, 1995. O primeiro Beowulf na Petrobras foi construído em 1997 Desde então nós temos seguido a estratégia: Quanto mais commodity, melhor! Isso pode valer para Big Data também !!!!!

  14. bw1: 72 CPUs (1999)

  15. bwr1: 1300 CPUs no CCTI (2004)

  16. bwr2: 4.656 CPUs e 9TB RAM (2005)

  17. 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 !!!!!

  18. Evolução das arquiteturas de Supercomputadores Figura extraída de top500.org

  19. 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 !!!!!

  20. Cluster de PlayStations 3 (2007)

  21. 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 CPUsquadcore (as mais modernas em 2007) • Em 2008 nós já tínhamos nosso primeiro cluster com GPUs (grifo01)

  22. grifo04 : O maior supercomputador da América Latina Projetado em 2009 Instalado em 2010 Em produção desde 2010

  23. 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!

  24. 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

  25. 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

  26. 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 !!!!!

  27. 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

  28. 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?

  29. 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

  30. Filesystem Tradicional Cluster de Processamento Servidor de Processamento FS Server FS client Servidor de Processamento FS client Servidor de Processamento FS client

  31. Filesystem Tradicional Cluster de Processamento Servidor de Processamento FS Server FS client Servidor de Processamento FS client Servidor de Processamento FS client

  32. Filesystem Tradicional Cluster de Processamento Servidor de Processamento FS Server FS client Servidor de Processamento FS client Servidor de Processamento FS client

  33. Filesystem Tradicional Cluster de Processamento Servidor de Processamento FS Server FS client Servidor de Processamento FS client Servidor de Processamento FS client

  34. Filesystem Paralelo Cluster de Processamento Servidor de Processamento FS Server FS client FS Server Servidor de Processamento FS Server FS client FS Server Servidor de Processamento FS Server FS client

  35. 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!

  36. 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

  37. 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 !!!!!!

  38. Escalabilidade P2P Malha Telefônica

  39. Filesystem Paralelo versus P2P Cluster de Processamento • Filesystems P2P são soluções basicamente de software que podem aliar: • Baixo custo • Escalabilidade • Alto desempenho • Exemplos • Hadoop FS • Google filesystem Servidor de Processamento FS Server FS client FS Server FS Server Servidor de Processamento FS Server FS Server FS client FS Server Servidor de Processamento FS Server FS Server FS client

  40. 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

  41. 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

  42. Típico Filesystem P2P Cluster de Processamento Servidor de Processamento Metadata Server FS client FS Server Servidor de Processamento FS Server FS client • 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 Servidor de Processamento FS Server FS client

  43. 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?

  44. 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

  45. 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 dadossão distribuídos segundo uma função criptográfica (hash) • As recuperações dos dados são feitas através de consultas

  46. 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-hopDHTs • Até 20 saltos em sistemas com um milhão de pares • Mas garantem que qualquer consulta será resolvida!!!!! • A alta latência das multi-hopDHTs impede o seu uso em aplicações de desempenho crítico (incluindo HPC)

  47. 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

  48. 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

  49. Single-hop DHTs • DHTs que resolvem consultas com um salto • RTs completas • Baixa latência e (potencialmente) alto consumo de banda passante

  50. 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

More Related