Você está na página 1de 41

Uma Abordagem Algébrica para Workflows

Científicos com Dados em Larga Escala

Doutorando:
Eduardo Ogasawara (PESC/COPPE/UFRJ)

Orientadores:
Prof. Marta Mattoso (PESC/COPPE/UFRJ)
Prof. Patrick Valduriez (INRIA/LIRMM)

dez/2011

Universidade Federal do Rio de Janeiro


Exemplo de experimento: Análise de fadiga de risers
em exploração de petróleo em águas ultraprofundas
1. Análise acoplada de movimentos
Dados de entrada para (TPN ou Prosim)
simular condições ambientais:
ondas, ventos,
correntes, batimetria, etc.

Estimativa de vida
útil de risers Produz uma grande
quantidade de dados …
(malha de elementos finitos)

3. Resultados analisados
via POSFAL

2. ... usada para o cálculo de


análise estrutural de risers
(ANFLEX)
Universidade Federal do Rio de Janeiro 2
Os experimentos modelados
como workflows
Workflow

(1) ExtractRD
Os workflows são apoiados e
executados pelos
(2) PSRiser
Sistemas de Gerência de Workflows
SRiser
(SGWf)
(3)
(7)
(8)
(4) PDRiser Canalysis
Merge

(5) DRiser Tanalysis


(9)
(6)
CompressRD

Universidade Federal do Rio de Janeiro 3


Varredura de parâmetros
Workflow
• Cientistas precisam explorar o
(1) ExtractRD
comportamento de um modelo a
partir de diferentes dados de
entrada
(2) PSRiser
• Na varredura de parâmetros se
(3) SRiser tem múltiplos dados de entrada
(7) para o workflow
(8)
(4) PDRiser Canalysis
Merge • Os workflows científicos podem
(5) DRiser Tanalysis passam a ser computacionalmente
(9) intensivos e executar por horas ou
(6)
dias
CompressRD

• Varredura de parâmetros é candidata natural para processamento paralelo


• Cada uma das formas de implementar possui um desempenho diferente
Universidade Federal do Rio de Janeiro 4
Exemplos de alguns modelos de execução
paralela para workflows
• Modelo de execução com paralelismo nativo
Ex.: Swift, Pegasus
• Modelo de execução com paralelismo híbrido
o Motor sequencial com MapReduce
Ex.: Kepler+Hadoop
o Motor sequencial e camada de paralelismo
Ex.: VisTrails+Hydra1

Plano de execução sem otimização

Ogasawara et al., 2009. Exploring many task computing in scientific workflows, In: MTAGS
1

Universidade Federal do Rio de Janeiro 5


Problema

• Otimizar a execução paralela de workflows


• Os motores de execução de workflows são
focados no escalonamento de atividades a
partir de um plano de execução sem otimização

• Sem otimização, os cientistas precisam codificar


em baixo nível as estratégias de paralelização
o Grande volume de dados consumidos/produzidos
o Especificação ad hoc e trabalhosa

Universidade Federal do Rio de Janeiro 6


Objetivos

• Avaliar oportunidades para otimização


considerando-se a especificação do workflow
como um todo
• Propor um processo de otimização de
workflows
• Tratar a execução de workflow de modo
análogo ao plano de execução de consultas em
banco de dados

Universidade Federal do Rio de Janeiro 7


Processo de otimização de workflows

Expressões algébricas iniciais

Geração do espaço de Regras de


busca transformação
Expressões algébricas equivalentes
Avaliação de estratégia Modelo de
de busca custo

sim Procurar
mais?
não

expressão algébrica ótima

Universidade Federal do Rio de Janeiro 8


Relações como modelo de dados da atividades
para consumo e produção
• Relações são definidas como conjunto de tuplas de
tipos de dados primitivos (inteiro, real, literal, data
etc) ou complexos (ex. referência a arquivos)
• Exemplo: R(R)
RID CaseStudy sdat ddat
1 U-125 U-125S.DAT U-125D.DAT
1 U-127 U-127S.DAT U-127D.DAT
2 U-129 U-129S.DAT U-129D.DAT

• R = (RID: Integer, CaseStudy: String; SDat: FileRef, DDat: FileRef)

Universidade Federal do Rio de Janeiro 9


Atividade

• Uma atividade é decomposta em:


• Uma Unidade Computacional (UC)
• Programa ou expressão da álgebra relacional
• Conjunto de esquema de relações de entrada
• Esquema de relação de saída
• Notação: Y <{Ri, .., Rj}, T, UC>

Universidade Federal do Rio de Janeiro 10


Operações algébricas1
• Regem atividades e classificam-se em:
• Invocam programas
• Map (1:1)
• SplitMap (1:n)
• Reduce (n:1)
• Filter (1:0-1)
• Executam expressões da álgebra relacional
• SRQuery
• MRQuery
1
Ogasawara et al., 2011, An Algebraic Approach for Data-Centric Scientific Workflows, Proceedings of the VLDB Endowment.
Universidade Federal do Rio de Janeiro 11
Workflow de análise de fadiga de risers
representado por expressões algébricas
Workflow Expressões algébricas

(1) ExtractRD T1  SplitMap(ExtractRD, R1)


T2  Map(PSRiser, T1)
(2) PSRiser T3  Map(SRiser, T2)
T4  Map(PDRiser, T3)
(3) SRiser
(7) T5  Map(DRiser, T4)
(8)
(4) PDRiser Canalysis T6  Filter(Tanalysis, T5)
Merge
T7  Filter(Canalysis, T5)
(5) DRiser Tanalysis
(9) T8  MRQuery(T6 ⋈ T7, {T6, T7})
(6)
CompressRD T9  Reduce(CompressRD, T8)

Universidade Federal do Rio de Janeiro 12


Ativação de atividade
• Uma ativação é um objeto Tuplas de entrada {r}  R
autocontido que contém as
informações necessárias (UC e
Instrumentação de Y
tuplas) que possibilita executar
uma atividade em qualquer Invocação de Y
núcleo
Extração de resultados de Y
• Uma ativação contém a unidade
mínima de dados capaz de
executar a atividade Tuplas de saída {t}  T

Universidade Federal do Rio de Janeiro 13


Fragmento de workflow
• Um fragmento F de um workflow é um subconjunto das
atividades de um workflow W:
• ou F é um conjunto unitário
• ou para  Yj  F,  Yi  F | (Dep(Yi, Yj))  (Dep(Yj, Yi)).

Fragmento F1: Y1 e Y2
Y3
Fragmento F2: Y3

Y1 Y2 Y4 Fragmento F3: Y4

O modelo de execução obedece as estratégias de fluxo de dados e


despacho associado a cada fragmento

Universidade Federal do Rio de Janeiro 14


Estratégias de fluxo de dados
para os fragmentos
• Primeira Tupla Primeiro (FTF) particiona o conjunto de
ativações de um fragmento em listas de ativações
dependentes
• Primeira Atividade Primeiro (FAF) particiona o conjunto de
ativações em fragmentos listas de ativações
independentes ordenadas pela dependências
Y3
Considerando-se fragmento F {Y1 e Y2}

x7 FTF:
Y1 Y2 Y4
x8 {<x1, x4>, <x2, x5>, <x3, x6>}

x1 x4 x9 FAF:
x2 x5 {<x1>,<x2>,<x3>,
x3 x6 <x4>,<x5>,<x6>}
Universidade Federal do Rio de Janeiro 15
Estratégias de despacho1
para as ativações nos fragmentos
• Na estratégia estática as ativações são previamente alocadas
para cada núcleo antes da execução
• Na estratégia dinâmica as ativações são alocadas para os
núcleos como uma resposta a requisições de ativações
Frag Frag

a a a a a a a a a a a a a a a a a a a a a a a a
escalonador escalonador

a a a a a a a a a a a a

núcleo núcleo núcleo núcleo núcleo núcleo

(estática) (dinâmica)
Silva et al., 2011. Uma avaliação da Distribuição de Atividades Estática e Dinâmica em Ambientes
1

Paralelos usando o Hydra, In: eScience (CSBC)


Universidade Federal do Rio de Janeiro 16
Processo de otimização de workflows
Expressões algébricas iniciais
para o workflow

Geração do espaço de Regras de


busca transformação
Expressões algébricas equivalentes
Avaliação de estratégia Modelo de
de busca custo

sim Procurar
mais?
não

expressão algébrica ótima


organizada em fragmentos de workflow
com atribuição de estratégia de despacho e de fluxo de dados

Universidade Federal do Rio de Janeiro 17


Espaço de busca
• Para um workflow
• 2n fragmentos possíveis
• 22 combinações de estratégia de despacho e de
fluxo de dados
• Como nos interessa avaliar a ordem das
atividades para reduzir as relações
intermediárias, tem-se um limite superior de n!
permutações para se avaliar
• Espaço de busca total é de 2n+2n!

Universidade Federal do Rio de Janeiro 18


Processo de otimização de workflows
Expressões algébricas iniciais
para o workflow

Geração do espaço de Regras de


busca transformação
Expressões algébricas equivalentes
Avaliação de estratégia Modelo de
de busca custo

sim Procurar
mais?
não

expressão algébrica ótima


organizada em fragmentos de workflow
com atribuição de estratégia de despacho e de fluxo de dados

Universidade Federal do Rio de Janeiro 19


Atividade bloqueante
• Uma atividade que limita a possibilidade de
execução, seja por necessidade de dados ou por
necessidade de recurso computacional
• Pode ocorrer pelo:
• Tipo de operação (reduce, por exemplo)
• Tipo de programa a ser executado (atividade
restritiva)
• Limitação da implementação do motor de
execução

Universidade Federal do Rio de Janeiro 20


Heurística para redução
de espaço de busca
Y2 Y3 Y4 Y2 Y3 Y4

Y1 Y5 Y6 Y9 Y1 Y5 Y6 Y9

Y7 Y8 Y7 Y8

workflow marcam-se atividades bloqueantes,


criando-se fragmentos do tipo FAF
Y3 Y4

Y1 Y6 {Y2} = FAF, {Y5} = FAF, {Y9} = FAF

Y7 Y8 {Y1,Y7,Y8} = FTF, {Y3,Y4} = FTF, {Y6} = FTF

Cada componentes conexos (atribuição de estratégias de


Estabelecem fragmentos FTF fluxo de dados e despacho)
Universidade Federal do Rio de Janeiro 21
Processo de otimização de workflows
Expressões algébricas iniciais
para o workflow

Geração do espaço de Regras de


busca transformação
Expressões algébricas equivalentes
Avaliação de estratégia Modelo de
de busca custo

sim Procurar
mais?
não

expressão algébrica ótima


organizada em fragmentos de workflow
com atribuição de estratégia de despacho e de fluxo de dados

Universidade Federal do Rio de Janeiro 22


Transformações algébricas

(i - workflow - perspectiva de relações) (ii - decomposição) U


e r
lt
Map Filter Fi
R S T R S * T
M *
ap
Q

(iiii - antecipação) (iv - procrastinação)


U

r
U
lter
Filte Fi
* * Map
R S T R V Q * T
Ma *
p
Q *
S

Universidade Federal do Rio de Janeiro 23


Processo de otimização de workflows
Expressões algébricas iniciais
para o workflow

Geração do espaço de Regras de


busca transformação
Expressões algébricas equivalentes
Avaliação de estratégia Modelo de
de busca custo

sim Procurar
mais?
não

expressão algébrica ótima


organizada em fragmentos de workflow
com atribuição de estratégia de despacho e de fluxo de dados

Universidade Federal do Rio de Janeiro 24


Processo de otimização de workflows
Expressões algébricas iniciais
para o workflow

Geração do espaço de Regras de


busca transformação
Expressões algébricas equivalentes
Avaliação de estratégia Modelo de
de busca custo

sim Procurar
mais?
heurística
não

expressão algébrica “ótima”


organizada em fragmentos de workflow
com atribuição de estratégia de despacho e de fluxo de dados

Universidade Federal do Rio de Janeiro 25


Heurística de otimização
das expressões algébricas
• Objetiva reduzir o número de tuplas das relações
intermediárias do workflow
• Identifica-se fragmentos com preservação de chaves
• Em cada fragmento, aplica-se uma técnica inspirada
em migração de predicados para mudar a ordem
das atividades

Universidade Federal do Rio de Janeiro 26


Chiron
• Motor para execução paralela de workflows científicos
• Especificação do workflow em XPDL
• Proveniência armazenada em banco de dados
relacional Proveniência em
Ambiente PAD Banco de Dados
Relacional

Disco (0)
Compartilhado (k-1)

(1)

Universidade Federal do Rio de Janeiro 27


Avaliação do algoritmo de atribuição de estratégias
variando-se o número de atividades em sequência

O algoritmo de atribuição de estratégias marca o workflow todo D-FTF

Universidade Federal do Rio de Janeiro 28


Avaliação do algoritmo variando-se o número
de atividades do tipo CA
O algoritmo de atribuição marca cada atividade CA
como D-FAF e o fragmento restante como D-FTF

Universidade Federal do Rio de Janeiro 29


Análise da variação do AC
no workflow combinado
O algoritmo de atribuição marca a atividade azul como
S-FAF, as cinza como D-FAF e as brancas como D-FTF

Universidade Federal do Rio de Janeiro 30


Avaliação do Chiron frente a outros modelos de
execução paralela

Universidade Federal do Rio de Janeiro 31


Procrastinação de Map
Não otimizado Otimizado
M2
M1 MRQ M1 F M2 MRQ
F

Universidade Federal do Rio de Janeiro 32


Avaliação com workflow AFR

Entrada de 358 estudos de caso. 1438 ativações, 16765 arquivos


Diferença de desempenho superior a 226% entre D-FTF e S-FAF para 128 núcleos
Universidade Federal do Rio de Janeiro 33
Otimização algébrica no workflow de AFR
ExtractRD ExtractRD

PSRiser PSRiser

SRiser SRiser

PDRiser CAnalysis
*
DRiser PDRiser

TAnalysis CAnalysis DRiser

Match TAnalysis

CompressRD Match

CompressRD
(a) (b)

Universidade Federal do Rio de Janeiro 34


Avaliação da otimização algébrica na AFR

Universidade Federal do Rio de Janeiro 35


Conclusões

• Avaliação extensa da abordagem algébrica


baseada nos experimentos realizados com o
Chiron
• Otimização de workflows por meio de
representação algébricas apresentou ganho de
desempenho

Universidade Federal do Rio de Janeiro 36


Contribuições
• Representação uniforme que traz semântica às
atividades por meio das operações algébricas
• Modelo de execução que possibilita a distribuição e
paralelização de atividades de modo transparente
• Conjunto de regras de transformações algébricas e
algoritmos que visam à otimização do tempo de
execução dos workflows científicos
• Motor de execução paralela de workflows (Chiron) com
apoio à proveniência

Universidade Federal do Rio de Janeiro 37


Contribuições no apoio ao
ciclo do experimento científico
Composição abstração na
especificação
Concepção de workflows
Reutilização

estudos ad hoc,
Dados de
Proveniência varredura de
Interligação de Consulta
parâmetros e
Distribuição
proveniência Descoberta paralelismo de
Monitoração
prospectiva e dados
retrospectiva
Análise Execução

Artigos completos em periódicos: 7


Trabalhos completos em anais de congressos: 31
Universidade Federal do Rio de Janeiro 38
Trabalhos em andamento
• Derivação automática de workflows para o Chiron a
partir de workflows de maior alto nível de abstração
o Linhas de experimento1
o Evoluções sobre a GExpLine2

• Controle de paralelismo e workflow steering


o Apoio a problemas de otimização3
o Workflows cuja representação seja em grafos direcionados
cíclicos

1
Ogasawara et al., 2009. Experiment Line: Software Reuse in Scientific Workflows, In: SSDBM
2
Oliveira et al., 2010. GExpLine: A Tool for Supporting Experiment Composition, In: IPAW
3
Dias et al., 2011. Supporting Dynamic Parameter Sweep in Adaptive and User-Steered Workflows, In: WORKS
Universidade Federal do Rio de Janeiro 39
Agradecimentos

Universidade Federal do Rio de Janeiro 40


Uma Abordagem Algébrica para Workflows
Científicos com Dados em Larga Escala

Doutorando:
Eduardo Ogasawara (PESC/COPPE/UFRJ)

Orientadores:
Prof. Marta Mattoso (PESC/COPPE/UFRJ)
Prof. Patrick Valduriez (INRIA/LIRMM)

dez/2011

Universidade Federal do Rio de Janeiro

Você também pode gostar