38

Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Scalable High-Performance Platform for

e-Science

Carlos Carvalheira

Orientador: João Correia Lopes

FEUP

17 de Julho de 2014

Page 2: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Agenda

Introdução

Gestão de dados cientí�cos

Descrição do problema

Arquitectura e implementação

Metodologia

Resultados

Conclusão

Carlos Carvalheira Dissertação 2014 2

Page 3: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Contexto

I Grupo de investigação na FEUP/INESC-TEC �Gestão dedados de investigação�.

I Projecto europeu.I Junção de uma ideia anterior minha com as necessidades do

grupo.

Carlos Carvalheira Dissertação 2014 3

Page 4: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Motivação

I Grande quantidade de dados para armazenar, gerir e processar.I É necessária uma plataforma informática escalável.I Acelerar progresso cientí�co.

Carlos Carvalheira Dissertação 2014 4

Page 5: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Objectivos

Funcionalidades

I Desenhar e prototipar uma plataforma escalável.I Adequada a qualquer ramo da ciência.I Gestão de dados para consumo humano e automatizado.I Processamento de conjuntos de dados.

Limitações

I Não é um requisito fazer data mining.I Apenas para conjuntos de dados na forma de séries

temporais.I Segurança pouco prioritária.

Carlos Carvalheira Dissertação 2014 5

Page 6: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

e-Science

Aplicação de tecnologias de informação e comunicação para acondução de investigação cientí�ca de forma colaborativa.

Carlos Carvalheira Dissertação 2014 6

Page 7: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Research Object

I ReutilizávelI AutomatizávelI Reprodutível

Carlos Carvalheira Dissertação 2014 7

Page 8: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Linked Open Data

I Relacionar e estruturar dados, reduzindo os impedimentos àsua utilização.

I Estrutura de triplo sujeito-predicado-objectoI Investigador 423, publicou, Paper 23784I /api/investigador/423, /api/ontologia/publicou,

/api/paper/23784

Carlos Carvalheira Dissertação 2014 8

Page 9: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Quarto Paradigma da Ciência

Automação da aplicação de tecnologias de informação para acondução de investigação cientí�ca, onde os dados são recolhidossistematicamente por sensores autónomos, resultando numagrande quantidade de dados para análise[3].

Carlos Carvalheira Dissertação 2014 9

Page 10: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Trabalhos relacionados

Carlos Carvalheira Dissertação 2014 10

Page 11: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

User Stories

Espelham WindScanner.eu [4] e Winds@FEUP [2].I Como Service Application, quero introduzir dados em bruto

para que a plataforma os guarde.I Como Service Application, quero agendar procedimentos para

serem executados na plataforma para obter resultados decomputações aplicadas a um determinado dataset.

I Como Service Application, quero anotar relações entrerecursos de modo que os investigadores possam obter melhoresresultados nas procuras.

I Como Administrador, quero monitorizar o estado do sistemapara assegurar uma correcta operação do mesmo.

Carlos Carvalheira Dissertação 2014 11

Page 12: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Requisitos não-funcionais

Espelham WindScanner.eu [4] e Winds@FEUP [2].I Processamento de dadosI Gestão de conjuntos de dadosI Linked Open Data

Estendem WindScanner.eu [4] e Winds@FEUP [2].I Escalável

I Genérica (para séries temporais)

Carlos Carvalheira Dissertação 2014 12

Page 13: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Balanceamento de carga centralizado

Carlos Carvalheira Dissertação 2014 13

Page 14: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Balanceamento de carga distribuído

Carlos Carvalheira Dissertação 2014 14

Page 15: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Arquitectura conceptual

Carlos Carvalheira Dissertação 2014 15

Page 16: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Arquitectura física

Carlos Carvalheira Dissertação 2014 16

Page 17: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Interface e lógica de negócio

I Fora do âmbito deste projectoI Implementa interface grá�ca com os utilizadoresI Implementa lógica de negócio de uma determinada área

cientí�caI Interage apenas com a API

Carlos Carvalheira Dissertação 2014 17

Page 18: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

API

I Ponto de entrada para a plataformaI Interage com os outros componentesI Coordena o �uxo de dados pela plataformaI Implementa endpoint SPARQL para pesquisa de triplosI Usa Django

Carlos Carvalheira Dissertação 2014 18

Page 19: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Operational Store

I Guarda dados operacionais (hosts conhecidos, equipamento delaboratório, etc)

I Guarda metadados operacionais (procedimentos, datasets,BLOBs, etc)

I Não guarda séries temporaisI Usa PostgreSQL numa arquitectura master/slave

Carlos Carvalheira Dissertação 2014 19

Page 20: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Triple Store

I Gere triplos de Linked DataI Usa PostgreSQL numa arquitectura master/slave para

persistência de dadosI Usa rd�ib para gerir esses dados

Carlos Carvalheira Dissertação 2014 20

Page 21: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Time Series Store

I Guarda as séries temporaisI Organiza os datapoints de cada dataset

I Usa Cassandra numa arquitectura peer-to-peer

Carlos Carvalheira Dissertação 2014 21

Page 22: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

BLOB Store

I Guarda os BLOBsI Metadados residentes na Operational StoreI Dados residentes em disco e servidos por HTTPI Usa BTSync para replicação peer-to-peer mirrored

Carlos Carvalheira Dissertação 2014 22

Page 23: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Compute service

I Processa os datasetsI Mapeia procedimentos a intervalos de um datasetI Inspirado em Map-Reduce [1]I Inicialmente projectado para usar Celery+RabbitMQI Usa Gearman para contornar problemas com o Celery

Carlos Carvalheira Dissertação 2014 23

Page 24: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Administração e orquestração

I Coordena con�guração de nósI Administra dados residentes das StoresI Con�gura nós que vão ser inseridos na plataformaI Usa Fabric para con�guraçãoI Usa Django Admin para gestão de dados nas Stores

Carlos Carvalheira Dissertação 2014 24

Page 25: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Geração de carga

I Dados, procedimentos e per�s arti�ciaisI Tentam imitar condições reaisI Dados recolhidos e analisados com Graphite

Carlos Carvalheira Dissertação 2014 25

Page 26: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Comportamentos tipo

I Data Provider � insere conjuntos de dados e agendaprocessamentos neles

I Tripler � manipula Linked DataI Researcher � lê conjuntos de dados

Carlos Carvalheira Dissertação 2014 26

Page 27: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Validação

I Implementação mínima com um nó para cada componenteI Introduzir carga até saturar os nósI Introduzir nós até não haver ganhos de performanceI Introduzir carga até saturar de novo os nósI Três experiências

Carlos Carvalheira Dissertação 2014 27

Page 28: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Métricas

Alto nível

I Número de pedidos por segundoI Latências dos pedidos

Hardware

I Tempo de CPU (user, wait e system)I Load average

Carlos Carvalheira Dissertação 2014 28

Page 29: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Arquitectura é escalável

12-15 pedidos/segundo+2 nós (API e Time Series Store)25 pedidos/segundo

Carlos Carvalheira Dissertação 2014 29

Page 30: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Implementação afecta (muito) a performance

Optimização de código25 pedidos/segundo45 pedidos/segundo

Codepath diferente45 pedidos/segundo125 pedidos/segundo

Carlos Carvalheira Dissertação 2014 30

Page 31: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Bottleneck API

CPU saturadoDisco mostra alguma utilização(CPU wait time)

Carlos Carvalheira Dissertação 2014 31

Page 32: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Bottleneck disco

CPU subaproveitadoDisco saturado, CPUsubaproveitado

Carlos Carvalheira Dissertação 2014 32

Page 33: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Contenção de disco desestabiliza medições

Utilização de disco faz-se sentir em nós que não estão a serutilizados

Carlos Carvalheira Dissertação 2014 33

Page 34: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Limitações

I Apenas uma máquina física.I Dados, procedimentos e per�s de utilização arti�ciais.I Pouca quantidade de dados (�long tail data� e não �big data�).I BLOB Store não testada.

Carlos Carvalheira Dissertação 2014 34

Page 35: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Comentários �nais

I Arquitectura e desenvolvimento foram um sucesso.I Precisávamos de mais volume de dados e recursos de hardware.I Progresso cientí�co é potencialmente mais expedito com a

utilização desta plataforma.

Carlos Carvalheira Dissertação 2014 35

Page 36: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Trabalho futuro

I Outros métodos de descoberta de serviços (DNS RR,ZooKeeper).

I Refactor de Workers.I Automatizar Fabric e/ou estudar outras alternativas.I Autoscaling.

Carlos Carvalheira Dissertação 2014 36

Page 37: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Discussão

Carlos Carvalheira

mailto: [email protected]

homepage: http://paginas.fe.up.pt/∼ei06090/

Carlos Carvalheira Dissertação 2014 37

Page 38: Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied Data Processing on Large Clusters. In Proc of 6th Symposium on Operating Systems

Introdução Gestão de dados cientí�cos Descrição do problema Arquitectura e implementação Metodologia Resultados Conclusão

Bibliogra�a

Je�rey Dean and Sanjay Ghemawat.

MapReduce: Simplied Data Processing on Large Clusters.In Proc of 6th Symposium on Operating Systems Design and

Implementation, pages 137�149, 2004.

Filipe Gomes, João Correia Lopes, José Laginha Palma, and Luís Frölen

Ribeiro.

WindS@UP: The e-Science Platform for WindScanner.eu.Journal of Physics: Conference Series., 524(The Science of Making Torquefrom Wind 2014 (TORQUE 2014) 18�20 June 2014, Copenhagen,Denmark), 2014.

Tony Hey, Stewart Tansley, and Kristin Tolle.

Jim Gray on eScience: a transformed scienti�c method.In Tony Hey, Stewart Tansley, and Kristin Tolle, editors, The Fourth

Paradigm: Data-Intensive Scienti�c Discovery. Microsoft Research,Redmond, 2009.

João Correia Lopes and Filipe Gomes.

Establishment of methodologies for data quality assurance and exchange.Technical report, WindScanner.eu project deliverable D5.5, October 2013.

Carlos Carvalheira Dissertação 2014 38