a distributed algorithm for determining the provenance of data paul t. groth information sciences...

24
A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California [email protected] Instituto de Informática da UFRGS PDP 2010/2 – Seminários Apresentado por Gabriel Simões

Upload: internet

Post on 22-Apr-2015

103 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

A Distributed Algorithm for Determining the Provenance of DataPaul T. GrothInformation Sciences InstituteUniversity of Southern [email protected]

Instituto de Informática da UFRGSPDP 2010/2 – SemináriosApresentado por Gabriel Simões

Page 2: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

A Distributed Algorithm for Determining the Provenance of DataApresentado e publicado em:

Page 3: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Referência Completa

Groth, P.T.; , "A Distributed Algorithm for Determining the Provenance of Data," eScience, 2008. eScience '08. IEEE Fourth International Conference on , vol., no., pp.166-173, 7-12 Dec. 2008doi: 10.1109/eScience.2008.38

Page 4: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

O Problema

• Ajudar os cientistas na identificação da proveniência de dados gerados por experimentos produzidos in-silco em ambientes paralelos com vastos volumes de dados.

Page 5: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

O Problema

• Proveniência– do francês provenir, significa a origem ou a fonte

de algo, ou a história da propriedade ou a localização de um objeto. O termo foi originalmente usado principalmente para obras de arte, mas agora é usado em sentidos semelhantes em uma ampla gama de campos, incluindo a ciência e a computação.Fonte: Wikipediahttp://en.wikipedia.org/wiki/Provenance

Page 6: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Contextualizando o D-PQuery

• Arquitetura– Um workflow Condor DAGMan– Funciona sobre logs gerados com Kickstart,

utilizado em muitas experimentações e-Science.• Experimentação– Utilizou arquivos gerados pela aplicação Montage.

Page 7: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Condor

• Condor é um software de código-fonte aberto de alta capacidade de computação e de alta granularidade de paralelização computacional de tarefas intensivas e distribuídas. Pode ser usado para gerenciar a carga de trabalho em um cluster dedicado de computadores e/ou para a distribuição cooperativa. Condor roda em Linux, Unix, Mac OS X, FreeBSD e Windows. Condor pode integrar ambos os recursos dedicados e não-dedicados.Fonte: Wikipediahttp://en.wikipedia.org/wiki/Condor_High-Throughput_Computing_System

Page 8: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Condor DAGMan

• DAGMan (Directed Acyclic Graph Manager) é um meta-escalonador do Condor. Ele gerencia dependências entre tarefas em um nível mais elevado do que o escalonador do Condor.Fonte: http://www.cs.wisc.edu/condor/dagman/

Page 9: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Montage

• Ele tem sido usado para gerar mosaicos a partir de dados divulgados pelo Telescópio Espacial Spitzer, o telescópio espacial Hubble, o Satélite Astronômico Infravermelho (IRAS), o Midcourse Space Experiment (MSX), o Sloan Digital Sky Survey (SDSS), e no solo telescópios como o National Optical Astronomy Observatories 4M (NOAO) e o telescópio William Herschel 4M.Fonte: http://montage.ipac.caltech.edu/

Page 10: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

D-PQuery Workflow

Fonte: extraído do próprio artigo.

Page 11: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Procedimento para transformar dados de entrada em DGraphs• Translate– Executa em paralelo, com base no número de arquivos

de entrada.– Entrada

• Informações de proveniência, D1...n (Logs Kickstart).

– Saída• Um DGraph descrevendo as relações de proveniência. Cada

arquivo gera um DGraph.

• Um DGraph é parte de um DAG (directed acyclic graph). Neste Trabalho, um DAG é formado por n DGraphs.

Page 12: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Procedimento para filtrar entradas estranhas ao grafo

Fonte: extraído do próprio artigo.

Page 13: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Processo para a travessia de um grafo

Fonte: extraído do próprio artigo.

Page 14: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Procedimento para consolidação do Grafo

• Consolidate– Continua enquanto novos filhos forem emitidos

por Traverse.– O procedimento de consolidação é a simples

união dos filhos produzidos por cada Traversal.

Page 15: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Procedimento para aparar os DGraphs

• Pare– Após a consolidação de cada DGraph, as entradas

estranhas são removidas.– Todos os vértices onde a propriedade keep = false

são removidas.– O conjunto de DGraphs pode ser consolidado.

Page 16: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Processo para fusão de grafos

Fonte: extraído do próprio artigo.

Page 17: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Implementação

– O núcleo foi implementado com scripts em Python– Os scripts foram combinados em um workflow

Condor DAGMan– O workflow pode ser escalonado em qualquer site

remoto que suporte Globus

Page 18: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Experimento 1

– Utilizou um conjunto de grafos criados randomicamente

– A idéia de utilizar grafos randômicos seria simular o pior caso, já que foram definidas muito mais arestas do que as encontradas em grafos gerados por aplicações típicas

– Os algoritmos fora executados de maneira serial. No entanto, foram consideradas medidas alternativas para simular o paralelismo.

– Não considerou troca de mensagens

Page 19: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Experimento 1

Page 20: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Experimento 2

– Paralelo, implementado como um Condor DAG– Utilizou como entrada 5.8MB (408 registros) de dados

gerados pela aplicação Montage.– Estes 408 registros foram divididos progressivamente

em arquivos, mantendo sempre a mesma quantidade de dados.

– O experimento buscou encontrar a proveniência de uma imagem em particular.

– Executado sobre um cluste linux com 7 nodos (5 processadores, 1 controle e 1 storage).

– Executado 4 vezes, exibindo como resultado a média.

Page 21: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Experimento 2

Page 22: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Conclusão

• Atualmente, as aplicações e-Science armazenam dados de proveniência e diversos locais diferentes.

• Cada vez mais a complexidade para lidar com estes dados aumenta.

• D-Pquery é o primeiro algoritmo distribuído implementado sobre o sistema Condor.

Page 23: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Trabalhos Futuros

• Converter o procedimento de Tradução para trabalhar com logs Netlog.

• Tornar o algoritmo compatível com OPM (Open Provenance Model), permitindo consultas através de múltiplos sistemas de proveniência.

Page 24: A Distributed Algorithm for Determining the Provenance of Data Paul T. Groth Information Sciences Institute University of Southern California pgroth@isi.edu

Avaliações1. Motivação e Estado-da-Arte: 52. Problemas a resolver e Modelo: 43. Protótipo, Resultados e Comparação com Trabalhos Relacionados: 24. Redação e Formatação: 5