terça-feira, janeiro 27, 2009

Wings for Pegasus: Creating Large-Scale Scientific Applications Using Semantic Representations of Computational Workflows

Autores: Yolanda Gil, Varun Ratnakar, Ewa Deelman, Gaurang Mehta, Jihie Kim
Publicado em: Proceedings of the Nineteenth Conference on Innovative Applications of AI (IAAI-07) , 2007

Este artigo descreve uma nova abordagem para criação de workflows que usa representações semânticas para descrever compactamente aplicações científicas complexas de maneira independente, para então gerar workflows de processamento para conjuntos de dados e por fim mapeá-los em recursos computacionais disponíveis. Workflows fornecem uma representação efetiva que captura como recursos heterogêneos podem ser configurados para uma grande variedade de propósitos e facilitam a gerência da execução de atividades em ambientes distribuídos.

A criação e validação de workflows é uma tarefa desafiadora. Várias técnicas já foram estudas, entre elas técnicas de planejamento em IA que produzem workflows através de buscas no espaço de possíveis combinações. Neste trabalho, são definidos três passos para a criação de workflows. Primeiro, é necessária a criação de modelos que estruturam o workflow de forma independente dos dados. Segundo, são criadas instâncias que detalham quais serão os dados utilizados. O último passo é a criação de um workflow executável, que detalha quais são as réplicas de dados que serão usadas e suas localizações, as máquinas onde a computação irá ocorrer e a movimentação de dados apropriada entre as localizações distribuídas. A solução apresentada é chamada de Wings, que usada em conjunto o sistema Pegasus, fornece uma solução completa de sistemas de workflows. Wings é um sistema de criação de workflows que usa representação semântica e técnicas de planejamento para suportar a criação de modelos e instâncias de workflows, que serão submetidas ao Pegasus para criar workflows executáveis.

A solução clássica para a criação de workflows é o uso de linguagens de scripting. O problema dessa abordagem é a falta de escalabilidade e tolerância a falhas, sendo necessário conhecimento íntimo do sistema de execução. O cenário ideal seria a especificação do workflow em termos do tipo de computação a serem realizadas e os tipos de dados a serem criados, mas independente da escolha dos hospedeiros e outros recursos alocados para execução. A abordagem apresentada utiliza representações semânticas de workflows para que:

  • Modelos de workflows e suas instâncias sejam objetos semânticos.

  • Coleções de dados seja especificadas com descrições intencionais em modelos de workflow e transformadas em descrições extensas em instâncias de workflow.

  • Descrições intencionais de coleções de computações ofereçam abstrações apropriadas para a estrutura repetitiva dos workflows.

Representações de workflows devem suportar a criação de descrições detalhadas de novos dados produzidos antes da execução do componente que necessite deles, para assim o sistema possa detectar sua pré-existência evitando computações desnecessárias. Também é necessário que as representações facilitem o monitoramento da execução e a recuperação de falhas.

No Wings, modelos e instâncias são objetos semânticos da mesma forma que seus componentes (nós), as ligações entre eles e os dados que são gerados. Dados são representados como arquivos individuais que podem ser agrupados em coleções. Computações (códigos) são representados como componentes de workflow. Nós representam os componentes a serem executados. Uma ligação em um modelo transporta dados, o tipo de dados sendo transportado deve ser consistente com os dados de saída do nó de origem e com os dados de entrada do nó de destino. Todos esses integrantes são representados em uma ontologia de referência em OWL.


Comentários:

Um artigo interessante mostrando mais de perto o funcionamento do Wings. Acho que ainda será necessário dá uma olhada mais de perto no próprio software para ter uma idéia mais firme de como funciona o sistema.



Post a Comment

Nenhum comentário: