Scalable High-Performance Platform for e-Scienceei06090/carlos_carvalheira_a...MapReduce: Simplied...

Preview:

Citation preview

Scalable High-Performance Platform for

e-Science

Carlos Carvalheira

Orientador: João Correia Lopes

FEUP

17 de Julho de 2014

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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: ccarvalheira@gmail.com

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

Carlos Carvalheira Dissertação 2014 37

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

Recommended