UMA ESTRATÉGIA DE EXECUÇÃO PARALELA ADAPTÁVEL DE WORKFLOWS CIENTÍFICOS. Vítor Silva Sousa - PDF
Download "UMA ESTRATÉGIA DE EXECUÇÃO PARALELA ADAPTÁVEL DE WORKFLOWS CIENTÍFICOS. Vítor Silva Sousa"
Iago Ribeiro César
1 UMA ESTRATÉGIA DE EXECUÇÃO PARALELA ADAPTÁVEL DE WORKFLOWS CIENTÍFICOS Vítor Silva Sousa Dissertação de Mestrado apresentada ao Programa de Pós-graduação em Engenharia de Sistemas e Computação, COPPE, da Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Mestre em Engenharia de Sistemas e Computação. Orientadores: Marta Lima de Queirós Mattoso Daniel Cardoso Moraes de Oliveira Rio de Janeiro Agosto de 2014
2 UMA ESTRATÉGIA DE EXECUÇÃO PARALELA ADAPTÁVEL DE WORKFLOWS CIENTÍFICOS Vítor Silva Sousa DISSERTAÇÃO SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE) DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS EM ENGENHARIA DE SISTEMAS E COMPUTAÇÃO. Examinada por: Prof a. Marta Lima de Queirós Mattoso, D.Sc. Prof. Daniel Cardoso Moraes de Oliveira, D.Sc. Prof. Alexandre de Assis Bento Lima, D.Sc. Dr. Kary Ann del Carmen Soriano Ocaña, D.Sc. Prof. Antônio Tadeu Azevedo Gomes, D.Sc. RIO DE JANEIRO, RJ - BRASIL AGOSTO DE 2014
3 Sousa, Vítor Silva Uma Estratégia de Execução Paralela Adaptável de Workflows Científicos / Vítor Silva Sousa. Rio de Janeiro: UFRJ/COPPE, X, 96 p.: il.; 29,7 cm. Orientadores: Marta Lima de Queirós Mattoso Daniel Cardoso Moraes de Oliveira Dissertação (mestrado) UFRJ/ COPPE/ Programa de Engenharia de Sistemas e Computação, Referências Bibliográficas: p Paralelismo de dados. 2. Workflows Científicos. 3. Ponto-a-ponto. I. Mattoso, Marta Lima de Queirós et al. II. Universidade Federal do Rio de Janeiro, COPPE, Programa de Engenharia de Sistemas e Computação. III Título. iii
5 AGRADECIMENTOS À Prof a. Marta Mattoso, minha orientadora, por ter acreditado no meu potencial desde o segundo período do curso de graduação, pelas críticas muito valiosas no amadurecimento dos trabalhos, pelas sugestões do meu encaminhamento acadêmico e pelas excelentes oportunidades oferecidas; Ao Daniel de Oliveira, Jonas Dias e Eduardo Ogasawara, que sempre me proporcionaram um ambiente incomparável para aquisição de conhecimento, aplicação dos conceitos aprendidos em aulas, experiências de vida e mesmo a difícil habilidade de separar o ambiente do trabalho com o da amizade; Aos membros da banca, Prof. Antônio Tadeu, Prof. Alexandre e Prof a. Kary, por aceitarem em participar da apresentação da minha dissertação de mestrado; À Mara Prata e Patrícia Leal por sempre me ajudarem com as questões administrativas; A todos os amigos, que me apoiaram ao longo do curso e acreditaram no meu potencial para o desenvolvimento desse projeto. Amigos que manifestaram em pequenos atos esse sentimento tão difícil de ser mensurado, a amizade. Alguns exemplos podem ser citados, como: as caronas para Niterói da Carolina e as companhias da Thayana Bruno, Igor Campbell, Lívia Pimentel, Luiz Alves, Felipe Horta, Talita Lopes e Thaiana Pinheiro; Agradeço. v
6 Resumo da Dissertação apresentada à COPPE/UFRJ como parte dos requisitos necessários para a obtenção do grau de Mestre em Ciências (M.Sc.) UMA ESTRATÉGIA DE EXECUÇÃO PARALELA ADAPTÁVEL DE WORKFLOWS CIENTÍFICOS Vítor Silva Sousa Agosto/2014 Orientadores: Marta Lima de Queirós Mattoso Daniel Cardoso Moraes de Oliveira Programa: Engenharia de Sistemas e Computação Muitos experimentos científicos de larga escala são modelados como workflows científicos e executados por meio de Sistemas de Gerência de Workflows Científicos (SGWfC). Em virtude do volume de dados a serem processados, alguns SGWfC têm utilizado técnicas de paralelismo em ambientes de processamento de alto desempenho para produzir seus resultados. A ocorrência de falhas também tornou-se uma certeza com o significativo crescimento no número de núcleos computacionais e o volume de dados processados nesses ambientes. Nesse sentido, alguns SGWfC apresentam estratégias adaptativas dos nós computacionais em tempo de execução de acordo com a disponibilidade dos mesmos ou a ocorrência de falhas. Contudo, tais soluções são normalmente baseadas em um escalonamento estático dos workflows e não apoiam a gerência das transformações de dados envolvidas na execução desses workflows. Somando-se a isso, tais adaptações precisam garantir a eficiência desses nós computacionais, evitando altos custos para eventuais atualizações na alocação de ativações. Logo, esta dissertação propõe uma estratégia de execução paralela adaptável de workflows científicos, garantindo a eficiência dos nós computacionais utilizados. vi
7 Abstract of Dissertation presented to COPPE/UFRJ as a partial fulfillment of the requirements for the degree of Master of Science (M.Sc.) A STRATEGY FOR ADAPTIVE PARALLEL EXECUTION OF SCIENTIFIC WORKFLOWS Vítor Silva Sousa August/2014 Advisors: Marta Lima de Queirós Mattoso Daniel Cardoso Moraes de Oliveira Department: Systems and Computer Engineering Many large-scale scientific experiments are modeled as scientific workflows and executed through the Scientific Workflow Management Systems (SWfMS). Due to the volume of data to be processed, some SWfMS are using techniques of parallelism in high performance computing environments to produce theirs results. Failures also become a certainty with the significant increase in number of computational cores and the volume of data processed in these environments. This way, some SWfMS propose an adaptive strategy of computational nodes at runtime according to the their availability and failure occurrences. However, these solutions are normally based on a static scheduling and they do not support the management of the data transformations involved in execution of these workflows. Moreover, these adaptations have to guarantee the efficiency of these computational nodes, avoiding high costs for eventual tasks allocation. Thus, this dissertation proposes a strategy for adaptive parallel execution of scientific workflows, in order to guarantee efficiency of the used computational nodes. vii
8 ÍNDICE Capítulo 1 Introdução 1 Capítulo 2 Workflows Científicos Sistemas de Workflows Científicos Centrados em Dados Sistema de Gerência de Workflows Científicos (SGWfC) Escalonamento em Sistemas de Gerência de Workflows Científicos Tecnologia P2P Definição e características Plataforma JXTA 30 Capítulo 3 Trabalhos Relacionados 35 Capítulo 4 Uma Estratégia de Execução Paralela Adaptável de Workflows Científicos Topologia da rede P2P Arquitetura AWAPE Arquitetura APON Adaptação da Arquitetura do Chiron 55 Capítulo 5 Avaliação Experimental do Uso Eficiente dos Nós Computacionais Descrição dos Experimentos Configuração do Ambiente Resultados Experimentais 75 Capítulo 6 Conclusão 84 Referências Bibliográficas 89 viii
9 LISTAGEM DE FIGURAS Figura 1. Representação de uma expressão algébrica (OGASAWARA et al., 2011). 14! Figura 2. Exemplo de workflow como uma expressão algébrica. 15! Figura 3. Arquitetura do Chiron. Adaptada de OGASAWARA et al. (2013). 21! Figura 4. Abordagem (a) cliente-servidor e (b) descentralizada. 27! Figura 5. Algoritmo de eleição de líder. 30! Figura 6. Sobreposição de rede pela plataforma JXTA. 32! Figura 7. Representação em camadas da plataforma JXTA. 33! Figura 8. Funcionamento da entidade de pipe unidirecional. 34! Figura 9. Topologia da rede P2P adotada. 45! Figura 10. Arquitetura AWAPE. 47! Figura 11. Arquitetura APON. 50! Figura 12. Adaptação da arquitetura do Chiron. 58! Figura 13. Arquitetura adaptada do Chiron para o Demeter. 59! Figura 14. Workflow executado no primeiro estudo de caso. 63! Figura 15. Workflow sintético do Montage com os operadores algébricos. 64! Figura 16. Definição de um workflow conceitual nas duas estratégias. 72! Figura 17. Definição de um workflow de execução na estratégia não adaptativa. 73! Figura 18. Definição de um workflow de execução na estratégia adaptativa. 73! Figura 19. Arquivo de configuração do MPJ para a estratégia não adaptativa. 73! Figura 20. Arquivo de job no sistema PBS para a estratégia não adaptativa. 74! Figura 21. Arquivo de configuração do MPJ para a estratégia adaptativa. 74! Figura 22. Arquivo de job no sistema PBS para a estratégia adaptativa. 75! Figura 23. Resultados experimentais para a configuração 1. 76! Figura 24. Resultados experimentais para a configuração Figura 25. Resultados experimentais para a configuração 1 usando o modelo de execução estático. 77 Figura 26. Resultados experimentais para a configuração Figura 27. Resultados experimentais para a configuração Figura 28. Resultados experimentais para a configuração Figura 29. Resultados experimentais para a configuração Figura 30. Resultados experimentais para a configuração Figura 31. Comparação da troca de mensagens assíncronas e síncronas. 81 Figura 32. Resultados experimentais com o workflow Montage. 81 ix
10 LISTAGEM DE TABELAS Tabela 1. Operações da álgebra de workflows (OGASAWARA et al., 2011) 14! Tabela 2. Configurações para o primeiro estudo de caso. 67!!! x
11 Capítulo 1 Introdução Os experimentos científicos em larga escala são conduzidos por cientistas ou grupos de pesquisa em diferentes domínios, como a bioinformática (STEVENS et al., 2003) e a exploração de petróleo em águas profundas (SILVA e SENGER, 2009). Tais experimentos representam estudos que utilizam a combinação de diferentes programas e serviços, assim como ambientes de computação distribuída e heterogênea. O ciclo de vida dos experimentos científicos (MATTOSO et al., 2010) passa pelas etapas de composição, execução e análise desses experimentos. Uma das dificuldades em prover uma infraestrutura computacional para apoiar esse ciclo de vida está na gerência do encadeamento dos programas e de um volume de dados cada vez maior para ser processado e transformado ao longo dos programas (PENNISI, 2011). Para apoiar essa questão, os experimentos científicos podem ser modelados como workflows científicos. Um workflow científico pode ser definido por um conjunto de atividades e um fluxo de dados entre elas. As atividades representam programas de simulação computacional que consomem e produzem conjuntos de dados, gerando o fluxo de dados. O workflow científico especifica a dependência dos dados, na qual o conjunto de dados de saída de uma atividade serve de conjunto de entrada de outra atividade, compondo um encadeamento de atividades (BROWN et al., 2007). Nesse sentido, os Sistemas de Gerência de Workflows Científicos (SGWfC) surgiram para apoiar a modelagem, a execução e o monitoramento dos workflows científicos (BERRIMAN et al., 2007, DIAS et al., 2013, OCAÑA et al., 2011). Como exemplos de SGWfC, pode-se citar o VisTrails (CALLAHAN et al., 2006), o Taverna (MISSIER et al., 2010), o Swift/T (WOZNIAK et al., 2013), o Kepler (LUDÄSCHER et al., 1
12 2006), o Pegasus (DEELMAN et al., 2007), o Chiron (OGASAWARA et al., 2013) e o Galaxy (GOECKS et al., 2010). Outra característica importante na gerência de experimentos científicos por meio de workflows é a captura de dados de proveniência (FREIRE et al., 2008), que consiste no registro das informações relacionadas à execução do workflow. Tais registros podem permitir uma análise do fluxo de dados gerados ao longo das atividades, durante ou após a execução dos workflows. Portanto, além de serem essenciais para a análise dos resultados, os dados de proveniência contribuem para a confiabilidade e a reprodutibilidade desses resultados. Devido ao grande volume de dados a serem processados nos workflows científicos, a execução sequencial desses workflows pode não ser suficiente para atender aos prazos estabelecidos pelos cientistas. Por esse motivo, técnicas de paralelismo em ambientes de Processamento de Alto de Desempenho (PAD) têm sido empregadas para reduzir o tempo total de execução dos mesmos. Como exemplos de ambientes de PAD têm-se os clusters, as grades computacionais e as nuvens computacionais. Mais especificamente, esta dissertação está pautada na análise de workflows científicos com acesso intensivo a dados. Para permitir a execução paralela em ambientes de PAD, o SGWfC precisa ter capacidade de gerenciar o paralelismo ao longo da execução do workflow, sendo esses sistemas conhecidos como SGWfC paralelos. Considerando o grande volume de dados, SGWfC adotam com frequência o paralelismo de dados. Nesse sentido, instâncias de uma atividade do workflow são replicadas pelos nós computacionais (representados pela sigla NC) e executadas em paralelo, sendo que cada instância da atividade consome um elemento do conjunto de dados de entrada da atividade no workflow. Cada 2
13 instância da atividade criada para o paralelismo de dados é também conhecida como tarefa. O processo de gerência de execução paralela de instâncias de atividades é denominado de ativação de atividade, conforme definido na abordagem algébrica de workflows proposta por OGASAWARA (2011). Além disso, uma ativação de atividades consiste na menor unidade de dados necessária para executar a atividade em qualquer núcleo dos nós computacionais disponíveis, determinando quais programas devem ser invocados e quais dados precisam ser acessados. Uma ativação de atividade também consiste de três etapas: instrumentação dos dados de entrada, invocação do programa e extração dos dados de saída. A instrumentação dos dados é caracterizada pela extração dos valores dos dados de entrada e os prepara para a execução do programa especificado. A invocação do programa, por conseguinte, permite o disparo e o monitoramento da execução programa após a instrumentação. Por último, a extração dos dados de saída captura os valores de dados de saída produzidos após a invocação do programa, a fim de estabelecer os dados de saída para a ativação. A execução paralela de workflows científicos em ambientes de PAD por meio de técnicas de paralelismo aumentou a quantidade de dados processados em um mesmo intervalo de tempo. Com isso, assim como em qualquer execução paralela em larga escala, a probabilidade de falhas em tempo de execução também aumenta. Da mesma forma, o crescimento do número de nós computacionais utilizados em paralelo também aumentam a probabilidade de indisponibilidade de um NC. Sendo assim, os SGWfC precisam apoiar o uso dos NC durante a execução paralela, considerando eventuais mudanças (falhas ou indisponibilidade dos NC) em tempo de execução. Três características desejáveis em sistemas paralelos, que iremos abordar no contexto de 3
14 SGWfC paralelos são as seguintes: escalonamento adaptativo, tolerância a falhas e balanceamento de carga. O escalonamento de ativações em workflows é tradicionalmente definido pelo mapeamento das ativações das atividades para os diferentes NC. Além disso, o escalonamento pode ser classificado como estático ou adaptativo (BUX e LESER, 2013). O escalonamento estático, por definição, determina como as ativações serão distribuídas para os diferentes NC antes de iniciar a execução do workflow. Logo, o escalonamento estático define um mapeamento para a distribuição das ativações de acordo com os NC disponíveis previamente, não permitindo adaptações nesse mapeamento em tempo de execução. Ao contrário da proposta estática, o escalonamento adaptativo (também conhecido como dinâmico) permite alterações nesse mapeamento em tempo de execução, realizando mudanças específicas no mesmo para a distribuição das ativações. Nesse caso, para permitir a adaptabilidade dos NC em relação às falhas no ambiente de PAD ou ao desbalanceamento de carga, devemos utilizar um escalonamento adaptativo. Do mesmo modo, o escalonamento adaptativo pode considerar também a disponibilidade (PRICE e TINO, 2009), a confiabilidade (OLIVEIRA et al., 2012, RASOOLI e DOWN, 2011), e o custo financeiro dos NC disponíveis no ambiente de PAD utilizado (OLIVEIRA et al., 2010). Algumas tecnologias têm sido propostas para apoiar o desenvolvimento de aplicações paralelas que consideram a adaptabilidade de NC, como o Adaptive MPI (HUANG et al., 2006). Além disso, uma das formas possíveis de implementar soluções adaptativas em relação aos NC para a execução paralela de aplicações científicas consiste no uso de técnicas P2P (do inglês peer-to-peer, ou simplesmente ponto-a- 4
15 ponto) (PAPUZZO e SPEZZANO, 2011). As técnicas P2P são voltadas para a adaptabilidade inerente ao tratamento de ingressos e de saídas frequentes de pontos da rede (conhecidos como churns). Chamaremos de volatilidade de NC aos churns das redes P2P (SHEN et al., 2010). Assim, técnicas P2P favorecem a tolerância a falhas, pois a partir da identificação de falhas nos NC em tempo de execução, os algoritmos P2P adaptam a rede removendo os NC com falha, eventualmente redirecionando a execução para outros pontos ou incluindo outros pontos de execução. O cenário de adaptação relacionado à tolerância a falhas implica a alteração do mapeamento das ativações (escalonamento de ativações do workflow). A ocorrência de falhas também tornou-se uma certeza com o significativo crescimento no número de NC e no volume de dados processados nos ambientes de PAD. Portanto, observa-se a importância do desenvolvimento de SGWfC capazes de continuar a execução dos workflows mesmo diante de eventuais falhas nos NC. De acordo com o nível de tolerância a falhas (por exemplo, falhas relacionadas a software ou a hardware), esses SGWfC podem ser definidos como tolerantes a falhas (HANMER, 2007, ISERMANN, 2005). Como exemplo temos a ocorrência de falhas irrecuperáveis (EDELWEISS e NICOLAO, 1998) em um NC, conhecido como NC i, durante a execução de um workflow. Nesse cenário, a redistribuição de ativações de NC i para os outros NC disponíveis não é possível, pois NC i não pode ser acessado (e, consequentemente, também não pode redistribuir suas ativações que estavam pendentes ou executando). Entretanto, pode-se identificar tal evento pelo bloqueio dessas ativações pelo NC i por um tempo superior ao constatado em execuções anteriores dessas ativações. Além da sua identificação, esse evento pode ser evitado caso um ou mais NC diferentes de NC i também possuam as ativações que estavam executando em NC i (conjunto conhecido 5
16 como SNC j ). Portanto, ao ocorrer mudanças no mapeamento das ativações em tempo de execução, as ativações que estavam executando em NC i podem ser redistribuídas pelos NC a partir das réplicas dessas ativações em SNC j.. Esse cenário de adaptação relacionado à tolerância a falhas implica a alteração do mapeamento das ativações (escalonamento do workflow). O balanceamento de carga é outra característica essencial em execuções paralelas. No caso dos SGWfC paralelos, o balanceamento é ainda mais crítico, uma vez que as aplicações científicas são "caixas-pretas" e tendem a processar muitas ativações. Cada ativações podem apresentar um tempo de processamento diferente (também chamado de carga). Tais ativações, ao serem processadas em paralelo, podem gerar um mapeamento irregular ou desbalanceado das ativações para os NC disponíveis. Logo, observa-se a importância dos SGWfC paralelos de identificarem e tratarem o desbalanceamento de carga, a fim de reduzir o tempo total de execução dos workflows científicos. Vale ressaltar também que as adaptações no mapeamento das ativações para os NC são necessárias para realizar o balanceamento de carga durante a execução. Considerando as três características apresentadas para apoiar a execução paralela em workflows científicos, pode-se constatar que alguns SGWfC paralelos apresentam estratégias de escalonamento adaptativo (COSTA et al., 2012, LEE et al., 2008, 2011, OLIVEIRA et al., 2012, PAPUZZO e SPEZZANO, 2011, RASOOLI e DOWN, 2011). Portanto, tais SGWfC paralelos modificam o mapeamento das ativações para os NC em tempo de execução. Em relação às outras características, COSTA et al., (2012) propuseram uma estratégia de escalonamento adaptativo aliada à tolerância a falhas, a partir da captura e consulta dos dados de proveniência em tempo de execução. Já PAPUZZO e SPEZZANO (2011); e RASOOLI e DOWN (2011) 6
17 propuseram estratégias adaptativas associadas ao balanceamento de carga. Mais especificamente, PAPUZZO e SPEZZANO (2011) desenvolveram métricas de qualidade de serviço (do inglês, Quality of Service ou QoS) para determinar mudanças no mapeamento das ativações para os NC, enquanto RASOOLI e DOWN (2011) apresentaram métricas baseadas no tempo de execução dos workflows e na localidade dos dados. Além desses, o SciCumulus (OLIVEIRA et al., 2012) e o SciMultaneous (COSTA et al., 2012) são exemplos de dois sistemas que, em conjunto, apoiam o escalonamento adaptativo, o balanceamento de carga (SciCumulus) e a tolerância a falhas (SciMultaneous). Apesar de a integração SciCumulus e SciMultaneous proporcionar as três características para o paralelismo em SGWfC, essa integração é diferente desta dissertação quanto ao próprio escalonamento adaptativo. Os trabalhos relacionados que possuem escalonamento adaptativo identificam a necessidade de mudanças em relação ao mapeamento das ativações para os NC a partir de uma análise global das atividades do workflow e dos NC. Ou seja, a realização de mudanças implica a definição de um novo mapeamento das ativações para todos os NC antes de começar ou continuar a execução do workflow. Dessa forma, um novo mapeamento gerado (após uma mudança) pode redistribuir ativações entre NC. Contudo, algumas dessas ativações poderiam permanecer em um mesmo NC, caso esse NC permanecesse disponível após a mudança. Enquanto isso, a proposta desta dissertação realiza o escalonamento adaptativo a partir de uma análise dedicada a cada NC. Essa análise considera que, em cada mudança, o mapeamento de ativações é realizado apenas nos conjuntos de NC que foram afetados pela mudança. Outra característica da proposta desta dissertação é a decisão da distribuição de ativações para NC em tempo de execução, que tem a 7
18 finalidade de evitar a redistribuição de muitas ativações em casos de eventuais mudanças (por exemplo, falha irrecuperável de um NC). Outra diferença entre as soluções em (LEE et al., 2008, PAPUZZO e SPEZZANO, 2011, RASOOLI e DOWN, 2011) e esta dissertação consiste no fato de as soluções existentes terem uma visão orientada a tarefas individualmente, considerando um workflow como um conjunto de ativações isoladas. Idealmente para workflows, a abordagem adaptativa deveria ser orientada ao fluxo de dados, sendo capaz de antecipar as transformações de dados entre as atividades do workflow para poder prever ações futuras para o escalonamento, quando considera-se a recuperação de falhas e o balanceamento de carga. Assim, as transformações de dados envolvidas entre as atividades devem estar monitoradas e passíveis de consulta, para que a abordagem possa ser orientada ao fluxo de dados. Dessa forma, a proposta desta dissertação consiste no desenvolvimento de uma estratégia de execução paralela adaptável de workflows científicos, considerando o escalonamento adaptativo, a tolerância a falhas e o balanceamento de carga. O Demeter foi desenvolvido nesta dissertação para proporcionar essa estratégia. A adaptação dos NC do Demeter visa ao escalonamento adaptativo das ativações para os NC e ao monitoramento dos workflows quanto às transformações de dados entre atividades na execução desses workflows. A estratégia adaptativa descrita nesta dissertação também considera a análise de disponibilidade dos NC utilizando técnicas P2P, como propostas por HAYEK et al. (2008); PAPUZZO e SPEZZANO (2011); e PRICE e TINO (2009). Em relação à tolerância a falhas, considerou-se a identificação e tratamento de falhas nos níveis de software e de hardware, de modo complementar às recuperações do sistema operacional, como discutido por COSTA et al. (2012). Somando a isso, o 8
19 mapeamento das ativações para os NC foi desenvolvido com o intuito de favorecer o balanceamento de carga em tempo de execução. O Demeter também tira proveito da abordagem algébrica para workflows científicos centrada em dados no modelo relacional proposta por OGASAWARA et al. (2011), para consultar os dados e operações algébricas previstas na execução do workflow. A análise da representação algébrica relacional dos workflows evidencia as dependências entre dados das atividades, as quais são representadas por relações de dados de entrada e saída. Essas transformações de dados são incluídas como tuplas em relações que são preenchidas à medida em que ativações de atividades do workflow são executadas pelo SGWfC. A abordagem algébrica relacional para workflows permite consultar os dados envolvidos no consumo e na produção por cada ativação, mesmo diante de ocorrências de falhas. As ativações também são representadas em relações, indicando o que foi executado, o que está em execução, e o que está pronto para ser executado. Com essa estrutura de representação do fluxo de ativações e de dados, é possível realizar a redistribuição de ativações, durante a execução do workflow, de acordo com o escalonamento adaptativo. Do mesmo modo, é possível mudar, com uma operação simples da álgebra relacional, a ordem ou planejamento inicial das ativações. Esses aspectos foram considerados no desenvolvimento da estratégia de execução paralela adaptável do Demeter. Dois estudos experimentais foram realizados nesta dissertação com o intuito de comparar o desempenho da estratégia adaptativa do Demeter com a estratégia não adaptativa de um SGWfC. Nesse caso, esta dissertação utilizou o Chiron (OGASAWARA et al., 2013). Entretanto, os estudos apresentam diferenças quanto à 9
20 sua condução e a análise realizada. O primeiro estudo consistiu na análise de diferentes configurações de um workflow quanto à complexidade de processamento das ativações, a fim de analisar como o custo de processamento de cada ativação poderia interferir na comunicação entre os NC e, consequentemente, na eficiência. Já o segundo estudo foi caracterizado pela execução de um workflow do domínio de astronomia para comparar o desempenho da estratégia adaptativa com a estratégia não adaptativa em cenários reais de workflows científicos. Portanto, o workflow de astronomia utilizado foi o Montage (JACOB et al., 2009), que vem sendo adotado como um benchmark de fato na literatura de sistemas de workflows com paralelismo. O Montage é um workflow com aspectos representativos de diversos experimentos científicos reais por apresentar transformações de dados complexas entre as atividades e diferentes comportamentos de desempenho para as mesmas. Os resultados do primeiro estudo evidenciaram um desempenho semelhante ou superior nas diferentes configurações. Enquanto isso, o segundo estudo evidenciou uma eficiência para a estratégia adaptativa superior a 27%, em média, em comparação com a estratégia não adaptativa para configurações típicas de execução paralela em média ou larga escala (utilizando mais de 100 núcleos computacionais ou cores). O restante desta dissertação está organizado da seguinte maneira: No Capítulo 2, discutimos os principais conceitos sobre workflows científicos, a execução paralela de workflows e as técnicas P2P. Quanto ao primeiro tópico, apresentamos os sistemas de workflows científicos centrados em dados e os SGWfC paralelos. Já em relação às técnicas P2P, abordamos suas características, vantagens e desvantagens. Além disso, apresentamos a plataforma JXTA (GRADECKI, 2002), uma das tecnologias existentes para o desenvolvimento de aplicações P2P. No Capítulo 3 são descritos os trabalhos relacionados ao Demeter. Em seguida, no Capítulo 4, a estratégia de execução paralela 10
21 adaptável desta dissertação é discutida quanto aos seus objetivos, suas características e seu funcionamento. Além disso, esse capítulo apresenta a implementação do gerente de execução paralela adaptável de workflows científicos, proposto nesta dissertação, denominado por Demeter, incluindo também a especificação e o desenvolvimento das arquiteturas AWAPE (do inglês Architecture for Workflow Adaptive Parallel Execution) e APON (Architecture for P2P Overlay Networks) para o uso pelo Demeter. O Capítulo 5 apresenta os resultados experimentais obtidos com o planejamento de dois estudos analíticos, assim como suas fases de desenvolvimento. Por último, o Capítulo 6 apresenta a conclusão e os trabalhos futuros. 11
22 Capítulo 2 Workflows Científicos Este capítulo tem o objetivo de apresentar os principais conceitos envolvidos em sistemas para a execução paralela de workflows científicos, assim como as definições e características da tecnologia P2P. Como os sistemas de workflows científicos são centrados em dados, a Seção 2.1 trata especificamente desse conceito. Já a Seção 2.2 aborda os SGWfC, apresentando sua definição e a importância do seu uso em experimentos científicos. Em seguida, a Seção 2.3 descreve o que são SGWfC paralelos, a sua importância em ambientes de PAD e as características desejáveis para o seu funcionamento. Por último, a Seção 2.4 apresenta os principais conceitos da tecnologia P2P e um exemplo de plataforma, conhecida como JXTA, para o desenvolvimento de aplicações P2P. 2.1 Sistemas de Workflows Científicos Centrados em Dados Os workflows podem ser modelados por meio de processos, que são definidos pelo encadeamento de atividades e suas dependências (AALST e HEE, 2002). De forma análoga, os workflows científicos são definidos a partir de um grafo, em que os nós representam as atividades e as arestas representam as dependências entre elas. Um workflow científico possibilita estruturar um experimento científico, em que as atividades realizam o processamento de dados por meio de programas e serviços, enquanto as arestas representam as dependências entre as atividades por meio de dados. Nesta dissertação considera-se a definição de sistemas de workflows científicos centrados em dados, em que nós do grafo representam o processamento dos dados consumidos pelas atividades e as arestas consistem no fluxo de dados entre as atividades (TANNEN et al., 2013). Nesse sentido, as atividades de um workflow estão 12
SISTEMA DE GERÊNCIA DE WORKFLOW CIENTÍFICO APLICADO AO IMAGEAMENTO SÍSMICO. Luciano Silva Leite
SISTEMA DE GERÊNCIA DE WORKFLOW CIENTÍFICO APLICADO AO IMAGEAMENTO SÍSMICO Luciano Silva Leite Projeto de Graduação apresentado ao Curso de Engenharia de Computação e Informação da Escola Politécnica,