Computação Intensiva em Dados

Documentos relacionados
Estratégia para dentificação dos fatores de maior impacto de aplicações Mapreduce

Laboratório do Framework Hadoop em Plataformas de Cloud e. Cluster Computing

Apresentação dos autores

AN IN-DEPTH STUDY OF MAP REDUCE IN CLOUD ENVIRONMENT. Sistemas Distribuídos e Tolerância a Falhas Nuno Garcia m6284, Tiago Carvalho m6294

SISTEMAS DISTRIBUÍDOS

1

Análise de Big Data Streams

BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES

CloudNet: dynamic pooling of cloud resources by live WAN migration of virtual machines

MapReduce em Ambientes Voláteis e Heterogêneos

Seminário: Google File System (GFS)

Apresentação do Artigo

Avaliação de dependabilidade em infraestruturas Eucalyptus geograficamente distribuídas

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

João Víctor Rocon Maia Engenharia de Computação - UFES

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

AN EVALUATION OF ALTERNATIVE ARCHITECTURE FOR TRANSACTION PROCESSING IN THE CLOUD (SIGMOD)

Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos,

Integrating Multimedia Applications in Hard Real-Time Systems. Introdução - CM são sensíveis a delay e variação no delay (Jitter)

Online Help StruxureWare Data Center Expert

Uma Proposta de Framework de Comparação de Provedores de Computação em Nuvem

Desenvolvimento de aplicações para a Cloud. Introdução

DESEMPENHO DE REDES. Fundamentos de desempenho e otimização de redes. Prof. Ulisses Cotta Cavalca <ulisses.cotta@gmail.com>

Tópicos Especiais em Redes de Telecomunicações

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Weather Search System

Ricardo R. Lecheta. Novatec

Como montar o quebra-cabeças do backup? Ricardo Costa e Bruno Lobo Backup, Recovery & Archiving Solutions

11 Conclusão Descobertas

MBA Analytics em Big Data

GUIA DE BOAS PRÁTICAS

RELATÓRIO DE ATIVIDADES DISCIPLINA: ARQUITETURAS PARALELAS. Hadoop e QEF: Uma abordagem distribuída para aplicações de Astronomia

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

A.S.P. Servidores Windows

MANUAL AGENDADOR DE TAREFAS LOGIX

Núvem Pública, Privada ou Híbrida, qual adotar?

OCEL001 Comércio Eletrônico Módulo 9_1: Clusters. Prof. Charles Christian Miers.

Encontro de Utilizadores Esri ArcGIS for Server 10.2 Administração Orador: João Ferreira Esri Portugal

Cláusula 1.º Objecto. Cláusula 2.º Especificação da prestação

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Alexandre Malveira, Wolflan Camilo

Infra-Estrutura de Software. Introdução. (cont.)

Tutorial de Instalação do CentOS Versão 3.3

Sistemas Operacionais 1/66

Quarta-feira, 09 de janeiro de 2008

O que é Grid Computing

DAS Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

Relatório de Progresso

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy.

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

Computação no Alice e grid. Alexandre Suaide IF-USP

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

The Eucalyptus Open-source Cloud-computing System

PEER DATA MANAGEMENT SYSTEM

SOLUÇÕES PARA CONTINUIDADE DO NEGÓCIO

Um Driver NDIS Para Interceptação de Datagramas IP

Trabalho de Conclusão de Curso

CASE STUDY FOR RUNNING HPC APPLICATIONS IN PUBLIC CLOUDS

MINISTÉRIO DA FAZENDA

Gerenciamento de Projeto

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Manual de Instalação do Agente Citsmart

Classificação::Modelo de implantação

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Comunicação Fim-a-Fim a Alta Vede em Redes Gigabit

Análise comparativa de ambientes e linguagens para computação intensiva de dados na nuvem

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

FAP - Faculdade de Apucarana Curso de Sistemas de Informação RESUMO EXPANDIDO DE TRABALHO DE CONCLUSÃO DE CURSO -

CollA: Uma Plataforma Colaborativa para Programas Java e Java Cá & Lá. Bruno Cerqueira Hott Prof. Joubert de Castro Lima

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

5 Mecanismo de seleção de componentes

Roteiro 2 Conceitos Gerais

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli

VIRNA. Virtualizador Nacional

HadoopDB. Edson Ie Serviço Federal de Processamento de Dados - SERPRO

ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM

Virtualização de Sistemas Operacionais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Carga Horária 40 horas. Requisitos Servidor Oracle 10G Ferramenta para interação com o banco de dados

Segurança da Informação

REDES DE COMPUTADORES

Soluções IBM SmartCloud IBM Corporation

ArcGIS for Server: Administração e Configuração do Site (10.2)

Sistemas Distribuídos

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

Organização de Computadores

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura e Organização de Computadores

NOÇÕES DE INFORMÁTICA Agente de Polícia Federal 2012

Prof. Ms. José Eduardo Santarem Segundo Demonstrar o impacto que o tema virtualização tem representado no mercado

MÓDULO MAGENTO. MANUAL DE INSTALAÇÃO v1.5

Sistemas Operacionais

Relatorio do trabalho pratico 2

Transcrição:

Computação Intensiva em Dados 31/03/2014 GPPD/SLD @inf.ufrgs.br 1/49

Versões dos Slides v.4.0 Pedro de Botelho Marcos 2012/2 André Luís Tibola 2013/1 Iván Marcelo Carrera 2013/1 Julio C. S dos Anjos 2013/2 Julio C. S dos Anjos 2014/1 GPPD/SLD @inf.ufrgs.br 2/49

Para pensar... Visão Geral Dividir cada uma das dificuldades que eu examinasse em tantas parcelas possíveis e que fossem necessárias para melhor resolvê-las. René Descartes, O Discurso do Método. 1637. GPPD/SLD @inf.ufrgs.br 3/49

Objetivos Visão Geral Apresentar o e o Motivar para o TF Apresentar o grupo /GPPD Motivar para pesquisa GPPD/SLD @inf.ufrgs.br 4/49

Contexto Computação Intensiva em Dados Onde existe? Onde pode ser aplicado? GPPD/SLD @inf.ufrgs.br 5/49

Contexto Computação Intensiva em Dados GPPD/SLD @inf.ufrgs.br 5/49

Contexto Computação Intensiva em Dados GPPD/SLD @inf.ufrgs.br 5/49

Contexto Computação Intensiva em Dados GPPD/SLD @inf.ufrgs.br 5/49

Contexto Computação Intensiva em Dados GPPD/SLD @inf.ufrgs.br 5/49

Contexto Computação Intensiva em Dados GPPD/SLD @inf.ufrgs.br 5/49

Outline Visão Geral 1 Visão Geral 2 3 4 5 GPPD/SLD @inf.ufrgs.br 6/49

Visão Geral Data-Intensive Computing Classe de aplicações que são I/O bound; Tipicamente Terabytes ou Petabytes de dados; Podem ser também CPU bound além de I/O bound; Parte do tempo de execução é utilizado para movimentar dados; Abordagem preferencial read-once execute-many; GPPD/SLD @inf.ufrgs.br 7/49

Dimensão de BigData [Stonebraker, Madden e Dubey 2013], <http://www-01.ibm.com/software/data/bigdata/> GPPD/SLD @inf.ufrgs.br 8/49

Processamento Intensivo em Dados Principais Iniciativas de Processamento Intensivo em Dados [Dean e Ghemawat 2010],[Beckman et al. 2010],[Ananthanarayanan et al. 2013],[Carvalho et al. 2013] GPPD/SLD @inf.ufrgs.br 9/49

Outline Visão Geral 1 Visão Geral 2 3 4 5 GPPD/SLD @inf.ufrgs.br 10/49

Outline Visão Geral 1 Visão Geral 2 3 4 5 GPPD/SLD @inf.ufrgs.br 11/49

Introdução Visão Geral Criado pela Google em 2004; Processamento de grandes volumes de dados; Originalmente desenvolvido para clusters homogêneos; Utiliza um Sistema de Arquivos Distribuídos; Framework lida com o escalonamento de tarefas, tolerância a falhas e distribuição dos dados; Usuário tem apenas que programar função de Map e de Reduce. GPPD/SLD @inf.ufrgs.br 12/49

Modelo do Fluxo de Execução do GPPD/SLD @inf.ufrgs.br 13/49

Exemplo de Execução do (WordCount) Funcionamento do GPPD/SLD @inf.ufrgs.br 14/49

Escalonamento e Tratamento de Falhas Escalonamento Tarefas: Escalonamento baseado em localidade (Map); Task-Assign por heartbeat; Tarefas especulativas para melhorar o desempenho; Tolerância a falhas: Tratamento de falhas: Slaves; Tarefas; Tarefas backup, lançamento de tarefas remotas; Replicação de Dados (DFS); GPPD/SLD @inf.ufrgs.br 15/49

Tipos de aplicações Algoritmos de manipulação de dados em geral; Encadeamento de transformações sobre dados; Embarrassingly parallel problems: É possível eliminar a etapa de Reduce; Data mining, processamento de imagem/vídeo, cálculos estatísticos, ordenamento, pesquisa, geração de índices, etc. GPPD/SLD @inf.ufrgs.br 16/49

Kit Benchmark Visão Geral Kit Benchmark MRBS: Desenvolvido pelo grupo ERODS do LIG (Grenoble, França): Tipos de Aplicações: Recommendation Systems; Business Intelligence; Bioninformatics; Text processing; Data mining; GPPD/SLD @inf.ufrgs.br 17/49

Limitações Visão Geral Nem todo algoritmo pode ser expresso através do modelo ; Não há tratamento de dependência entre tarefas da mesma fase; Pode ser custoso manipular pequenas quantidades de dados. GPPD/SLD @inf.ufrgs.br 18/49

Exemplos Visão Geral Grep def map ( document, t e x t ) : for l i n e in t e x t : i f l i n e. search ( palavra ) : emit ( document, l i n e ) Por documentos def map ( document, t e x t ) : i f t e x t. search ( palavra ) : emit ( document, t r u e ) GPPD/SLD @inf.ufrgs.br 19/49

Exemplos Visão Geral Índice invertido def map ( document, t e x t ) : for palavra in t e x t : emit ( palavra, document ) def reduce ( palavra, documents [ ] ) : emit ( palavra, j o i n ( documents [ ] ) ) GPPD/SLD @inf.ufrgs.br 20/49

Outline Visão Geral 1 Visão Geral 2 3 4 5 GPPD/SLD @inf.ufrgs.br 21/49

Visão geral Visão Geral Implementação aberta do ; Desenvolvido pela Apache Software Foundation; Utiliza o HDFS como Sistema de Arquivos Distribuído; Java; Streaming. GPPD/SLD @inf.ufrgs.br 22/49

Configuração Visão Geral Pré-requisitos: Linux (ambientes de produção); Java 1.6. Modos de funcionamento: Local; Pseudo-distribuído; Distribuído; Cloud Computing. GPPD/SLD @inf.ufrgs.br 23/49

Configuração XML Propriedade Default mapred.map.tasks 2 mapred.reduce.tasks 1 mapred.tasktracker.map.tasks.maximum 2 mapred.tasktracker.reduce.tasks.maximum 2 mapred.map.tasks.speculative.execution true mapred.reduce.tasks.speculative.execution true dfs.replication 3 GPPD/SLD @inf.ufrgs.br 24/49

Outline Visão Geral 1 Visão Geral 2 3 4 5 GPPD/SLD @inf.ufrgs.br 25/49

Introdução Visão Geral Simulador para o modelo ; Baseado no SimGrid; Permite implementar e testar novos algoritmos: Escalonamento; Distribuição dos dados de entrada; Distribuição das chaves de reduce. [Kolberg et al. 2013] GPPD/SLD @inf.ufrgs.br 26/49

Arquitetura Visão Geral User input/code Platform Topology (XML file) Alternative Scheduler Algorithm Alternative Data Distribution Algorithm Deploy (XML file) Job Specification DFS JobTracker Speculative Execution TaskTracker Map Reduce SimGrid Network CPU Arquitetura do GPPD/SLD @inf.ufrgs.br 27/49

Arquivo de plataforma <?xml version= 1.0?> <!DOCTYPE p l a t f o r m SYSTEM " h t t p : / / simgrid. gforge. i n r i a. f r / simgrid. dtd " > < p l a t f o r m version= " 3 " > <AS i d = "AS0" r o u t i n g = " F u l l "> <host i d = " Host 0 " power= " 1147310512.27 " core= "2" / > <host i d = " Host 1 " power= " 1570446529.24 " core= "2" / > < l i n k i d = " l 1 " bandwidth= " 125000000.0 " latency = "1e 4" / > < route src=" Host 0 " dst=" Host 1 "> < l i n k _ c t n i d = " l 1 " / > < / route> < route src=" Host 1 " dst=" Host 0 "> < l i n k _ c t n i d = " l 1 " / > < / route> < /AS> < / p l a t f o r m > GPPD/SLD @inf.ufrgs.br 28/49

Arquivo de deploy <?xml version= 1.0?> <!DOCTYPE p l a t f o r m SYSTEM " h t t p : / / simgrid. gforge. i n r i a. f r / simgrid. dtd " > < p l a t f o r m version= " 3 " > <process host= " Host 0 " function= " master " / > <process host= " Host 1 " function= " worker " / > < / p l a t f o r m > GPPD/SLD @inf.ufrgs.br 29/49

Arquivo de configuração do job master " Host 0" reduces 100 chunk_ size 64 input_chunks 100 d f s _ r e p l i c a s 3 map_ slots 2 reduce_slots 2 GPPD/SLD @inf.ufrgs.br 30/49

Exemplo API - Custo das tarefas function task_ cost ( phase, task_ id, worker_ id ) i f phase == MAP: r e t u r n ( rand (50, 100) + i o _ c o s t ( ) ) i f phase == REDUCE: r e t u r n ( 500 + i o _ c o s t ( ) ) end function GPPD/SLD @inf.ufrgs.br 31/49

Exemplo API - Distribuição dos dados function dfs ( dfs_matrix, chunks, workers, r e p l i c a s ) for each c in chunks : for each r in r e p l i c a s : w = choose_worker ( ) d f s _ m a t r i x [ c ] [ w] = 1 end function GPPD/SLD @inf.ufrgs.br 32/49

Exemplo API - Data skew function data_skew ( map_id, reduce_id ) i f ( reduce_id % 2) == 0: r e t u r n 1024 else r e t u r n 2048 end function GPPD/SLD @inf.ufrgs.br 33/49

Outline Visão Geral 1 Visão Geral 2 3 4 5 GPPD/SLD @inf.ufrgs.br 34/49

Membros Visão Geral Julio Anjos - Doutorado; Wagner Kolberg - Mestrado; André Tibola - Mestrado; Iván Carrera - Mestrado; Maycon Bordin - Mestrado; Alexandre Miyazaki - T.G. Simulador melhorias ; Junior Barros - Bolsista IC - projeto Bio Informática; João Gross - T.G. Compilação Heterogêneo; Pedro Marin - T.G. - Simulação Turbiditos - Petróleo; Trabalhos Concluídos: Julio Anjos - Mestrado (concluído); Pedro Marcos - Mestrado (concluído); Flávio Alles - T.G. (concluído); Bruno Reckziegel Filho - T.G. (concluído). GPPD/SLD @inf.ufrgs.br 35/49

Heterogeneidade Visão Geral Problema: supõe que o ambiente de execução seja homogêneo, resultando em desempenho abaixo do esperado em ambientes heterogêneos, por exemplo, desktop grids; Objetivo: Adaptar os algoritmos de distribuição de dados e escalonamento; Situação: Finalizado, implementado no ; Membros: Julio, Alexandre. GPPD/SLD @inf.ufrgs.br 36/49

Tolerância a falhas Problema: utiliza uma arquitetura master/slave, propiciando dois pontos de falha única, o master e o namenode; Objetivo: Modelo descentralizado para evitar os pontos de falha única; Situação: Finalizado, protótipo implementado; Membros: Pedro Marcos. GPPD/SLD @inf.ufrgs.br 37/49

Verificação de Resultados Problema: Em computação voluntária é necessário verificar o resultado dos voluntários, a maioria das técnicas onera o servidor; Objetivo: Desenvolver técnica com baixa carga para o servidor e resistente a conluio; Situação: Em andamento; Membros: André. GPPD/SLD @inf.ufrgs.br 38/49

Volatilidade Visão Geral Problema: Execução em ambientes com volatilidade, por exemplo, computação voluntária, pode ser inviável devido aos custos de replicação dos dados e re-escalonamento de tarefas; Objetivo: Adicionar novos componentes na arquitetura para garantir disponibilidade dos dados; Situação: Fase final; Membros: Wagner. GPPD/SLD @inf.ufrgs.br 39/49

Escalonamento para ambientes Voláteis Problema: Escalonador não adaptado ao ambiente volátil; Objetivo: Adicionar novos componentes na arquitetura para criar escalonador dinâmico com predição estatística; Situação: Em andamento; Membros: Julio. GPPD/SLD @inf.ufrgs.br 40/49

Provisionamento de recursos Problema: É difícil especificar o tipo e a quantidade de instâncias para uma determinada run; Objetivo: Desenvolver uma expressão para o tempo de execução de aplicativos MR e sugerir instâncias; Situação: Em andamento; Membros: Iván. GPPD/SLD @inf.ufrgs.br 41/49

Green Computing Problema: Escalonador original do preocupa-se apenas com o tempo de execução; Objetivo: Implementar um novo escalonador para o que siga políticas green; Situação: Em andamento; Membros: Flávio, Wagner. GPPD/SLD @inf.ufrgs.br 42/49

Aplicações de Bio-Informática com Problema: Aplicações dedicadas ao sequenciamento genético tem baixo desempenho sobre ; Objetivo: Desenvolver aplicações para notação de patologias com mapeamento genético; Situação: Finalizado protótipo criado sobre o, analisando diversas bases genéticas; Membros: Bruno, Junior GPPD/SLD @inf.ufrgs.br 43/49

Sugestões de Trabalho Final Desenvolvimento de aplicações com o ; Testes com o na Grid 5000 Testes com o no ; Calcular o speed-up de uma app ; Implementar, no, algoritmos para ambientes heterogêneos; Implementar outros sistemas intensivos em dados como o Swift e comparar aplicações; GPPD/SLD @inf.ufrgs.br 44/49

Sugestões de Trabalho Final Testar falhas no e no cluster; Testes de desempenho utilizando DB; *Testes do benchmark MRBS; Otimizar programas ; *Testes em nuvens públicas; *Comparação de soluções MR as a service (AzureMR, Cloudera, Elastic MR). GPPD/SLD @inf.ufrgs.br 45/49

Sugestões de Trabalho Final - Detalhado Comparar o desempenho e funcionalidades de sistemas intensivos em dados.tempo estimado de trabalho: 20 dias Objetivo: Instalar o Symphony, para comparar com o. Avaliar pelo menos 3 das seguintes implementações nas plataformas como, por exemplo: - Criar aplicação worcount texto de 8 GB, 64GB, 128 GB e 256GB; - Criar aplicação que faça uma busca de similaridade entre pedaços de um DNA coletado (será fornecido o arquivo e programa) usando bases de dados do DNA públicas diferentes; - Criar aplicação que analise o índice reverso (arquivos fornecidos pelo grupo MapaReduce); - Criar aplicação livre que faça o cálculo para uma figura de Mandelbrot. GPPD/SLD @inf.ufrgs.br 46/49

Sugestões de Trabalho Final - Detalhado Avaliação de desempenho em ambiente heterogêneo. Tempo estimado de trabalho: 10 dias Objetivo: Executar simulações com o MRA++ alterando a banda e a latência de rede (necessário pequenos ajustes no código). Comparar os resultados obtidos com o. - O aluno deverá avaliar três tipos de cargas de trabalho e usar a banda de rede de 1 Mbps, 5 Mbps, 10 Mbps, 100 Mbps e 1 Gbps em cada carga. - As plataformas das máquinas devem ter configurações heterogêneas e variar de 32, 64, 128, 256, 512 e 1024 nós. - O sistema tem um gerador de plataforma próprio para esta finalidade e deve utilizar pelo menos 2 distribuições de máquinas diferentes como log-normal e Weibull (seguindo especificações pré definidas). GPPD/SLD @inf.ufrgs.br 47/49

Computação Intensiva em Dados 31/03/2014 GPPD/SLD @inf.ufrgs.br 48/49

Bibliografia I Visão Geral ANANTHANARAYANAN, R. et al. Photon: fault-tolerant and scalable joining of continuous data streams. In: Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. New York, NY, USA: ACM, 2013. (SIGMOD 13), p. 577 588. ISBN 978-1-4503-2037-5. Disponível em: <http://doi.acm.org/10.1145/2463676.2465272>. US DEPARTMENT OF ENERGY, OFFICE OF SCIENCE. SWIFT - Scalable Parallel Scripting for Scientific Computing, v. 17 de Spring 2010, (Spring 2010, v. 17). IOP Publishing, 2010. 38 51 p. ISSN 1935-0570. Disponível em: <http://www.scidacreview.org/1002/index.html>. Análise e caracterização das novas ferramentas para computação distribuída na nuvem, (WSCAD - WIC 2013). ISSN 2176-3194. DEAN, J.; GHEMAWAT, S. - A Flexible Data Processing Tool. Communications of the ACM, ACM, New York, NY, USA, v. 53, n. 1, p. 72 77, 2010. ISSN 0001-0782. KOLBERG, W. et al. - A simulator over SimGrid. Parallel Comput., Elsevier Science Publishers B. V., Amsterdam, The Netherlands, The Netherlands, v. 39, n. 4-5, p. 233 244, abr. 2013. ISSN 0167-8191. Disponível em: <http://dx.doi.org/10.1016/j.parco.2013.02.001>. STONEBRAKER, M.; MADDEN, S.; DUBEY, P. Intel "Big Data"Science and Technology Center Vision and Execution Plan. SIGMOD Rec., ACM, New York, NY, USA, v. 42, n. 1, p. 44 49, maio 2013. ISSN 0163-5808. Disponível em: <http://doi.acm.org/10.1145/2481528.2481537>. GPPD/SLD @inf.ufrgs.br 49/49