A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "> BAH! 2013 7 / Maio / 2013 HPC & Big Data Luiz Monnerat PETROBRAS / TIC-E&P / INFRAEP / CST."— Transcrição da apresentação:

1 > BAH! / Maio / 2013 HPC & Big Data Luiz Monnerat 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ísmicos requer grande capacidade de processamento Mais 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 !!!!!

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 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 Scientific Computation, Proc. of the 24th International Conference on Parallel Processing, 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: 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 CPUs quadcore (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 > grifo 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 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 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 client FS Server

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

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

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

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

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 Servidor de Processamento FS client FS Server Filesystems P2P são soluções basicamente de software que podem aliar: Baixo custo Escalabilidade Alto desempenho Exemplos Hadoop FS Google filesystem

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 FS client 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

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 dados sã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-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)

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

51 > 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

52 > 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!

53 > 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)

54 > 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

55 > 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

56 > Arquitetura do HDFS

57 > Arquitetura P2P híbrida do HDFS FS client datanode FS client datanode 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 processamento Cliente de FS Servidor de FS

58 > 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 !!!!!

59 > 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

60 > MUITO Obrigado!!!

61 > Perguntas??


Carregar ppt "> BAH! 2013 7 / Maio / 2013 HPC & Big Data Luiz Monnerat PETROBRAS / TIC-E&P / INFRAEP / CST."

Apresentações semelhantes


Anúncios Google