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: [email protected]
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
Top Related