Publicado em:
As grades computacionais permitem a criação de organizações virtuais multi-institucionais onde seus membros podem compartilhar seus recursos de maneira coordenada visando a colaboração para resolver determinado problema. Hoje essa tecnologia faz isso muito bem, sendo que a gerência de recursos dispersos geograficamente é possível, especialmente quando esses se tratam de computadores de alto desempenho ou grandes bases de dados. Entretanto, novos desafios começam a surgir. Primeiro, há a necessidade de se conceber por demanda aplicações científicas de larga escala que fazem uso de repositórios de componentes científicos especializados para criar novos resultados. Segundo, toda a produção de software científico em grades pode ser utilizado por outros setores da sociedade, porém adaptações são necessárias para tornar esse cenário real.
Descrições e modelos de alto nível são mais adequados para desenvolver aplicações mais complexas e escaláveis. Entretanto, a grade oferece um modelo rígido de gerência, baseado em descrições sintáticas e esquemas estáticos que não garantem. Captura de conhecimento deve ser feita de maneira mais inteligente, utilizando semântica sempre que possível e possibilitando a realização de inferências. Melhorias em usabilidade podem atrair usuários que não tem conhecimento nos detalhes do middleware de grade ou disposição para aprendê-los. Robustez está associada à captura de conhecimento, pois a criação de workflows inteligentes pode ajudar a restaurá-los em caso de falha ou evitá-las ao prever situações futuras. Para otimizar o acesso, suporte para novas tecnologias para definição de políticas de segurança escaláveis é crucial. Todas essas características contribuem para uma maior escalabilidade, pois permitem um fluxo de conhecimento maior sobre grade, aumentando a utilização eficiente de novos recursos. A palavra da ordem é adaptação, já que aplicações que executam durante longos períodos não podem confiar apenas em informações adquiridas quando são iniciadas, pois o ambiente de grade é dinâmico e competitivo.
Técnicas de planejamento em IA (inteligência artificial) permite mapear as possíveis alternativas de componentes para uma aplicação em um espaço de soluções que representa o custo benefício da execução. Logo, podemos definir o problema de geração de workflow como um problema de planejamento em IA onde os objetivos são as informações que se espera serem produzidas e os operadores (atuadores?) são os componentes da aplicação. A entrada para tal sistema são uma representação do estado atual do ambiente, uma representação declarativa do estado objetivo e uma biblioteca de operadores que o escalonador pode usar para mudar seu estado. Cada operador tem suas pré-condições e seus efeitos. O escalonador busca por um conjunto ordenado de operadores que irá transformar o estado atual em direção a um que satisfaça o estado objetivo. Cara parâmetro dos operadores contém o host onde o componente será executado, algumas restrições e os arquivos de entrada. O plano retornado constitui-se de um workflow completo.
A arquitetura proposta prevê a existência de gerentes de workflow. Entre suas atribuições, estão supervisionar a execução e desenvolvimento dos workflows criados, coordenar intersecções entre workflows, garantir a aplicação de políticas de justiça. Trabalhando em conjunto, teremos raciocinadores atuam sobre dados semânticos criando novas informações para aperfeiçoar a atuação dos gerentes de workflow. Caberá ao usuário prover especificações de alto nível os resultados desejados e suas restrições. O gerente de workflow formará um esboço em alto nível do workflow que será refinado com a ajuda dos raciocinadores até atingir o nível ideal para execução. O refinamento não necessita ser homogêneo, sendo que fases intermediárias e finais podem ser refinadas à medida que as fases iniciais se encerram, produzindo resultados e novas informações para o gerente e os raciocinadores.
As duas questões principais a serem respondidas:
Que mecanismos podem mapear requisitos abstratos de usuários em comandos distribuídos executáveis que coordenam vários serviços distribuídos heterogêneos e recursos com capacidades apropriadas para atingir esses requisitos?
Que mecanismos podem gerenciar e coordenar os recursos disponíveis permitindo uso e acesso global eficiente dada a escala e complexidade das aplicações possíveis com essa infra-estrutura heterogênea e distribuída?
Comentário:
Um bom artigo relatando como se usar sistemas multi-agentes distribuídos para a construção e adaptação de workflows em grades computacionais. Não é mencionado explicitamente, mas a necessidade de utilizar semântica e meta-dados na grade é crucial para o funcionamento do sistema.
Post a Comment
Nenhum comentário:
Postar um comentário