AspectGrid

Logotipo da Universidade do Minho

Universidade do Minho

AspectGrid: Aspectos Grid para Aplicações Científicas

Outros participantes: Faculdade de Ciências e Tecnologia da Universidade de Coimbra, Centro de Neurociências e Biologia Celular da Universidade de Coimbra

Investigador responsável: João Luís Ferreira Sobral

Financiamento: 138.000 €

A computação em Grid abre novas perspectivas aos cientistas, promovendo uma forma mais eficiente de partilhar uma gama alargada de recursos. A investigação actual em Grid incide na promoção de uma gama unificada de serviços Grid, fornecendo uma interface única para acesso transparente a uma diversidade de serviços. O próximo passo para o desenvolvimento da computação em Grid é facilitar a utilização desses serviços em Grid por não especialistas.

A complexidade dos sistemas Grid pode ser encapsulada pelo “middleware” Grid. Exemplos incluem a autenticação, autorização e a descoberta de recursos. No entanto, para utilizar de forma eficiente os recursos Grid, as aplicações devem ser redesenhadas para as características das Grids. Por exemplo, para tirar partido da natureza hierárquica das federações de “clusters” as aplicações devem ser redesenhadas para incluir vários níveis de paralelismo.

O ambiente ideal para o desenvolvimento de aplicações Grid, e o que apresenta mais possibilidades de obter uma ampla aceitação, seria muito próximo dos ambientes tradicionais para o desenvolvimento de aplicações de secretária. Este projecto de investigação incide sobre o desenvolvimento de um novo “middleware” para computação em Grid que persegue este objectivo. A ideia é adaptar as aplicações científicas para ambientes Grid através de módulos que podem ser (des)activados e que fornecem o acesso transparente a serviços Grid. Por exemplo, um módulo Grid pode fornecer um serviço que redirecciona a execução de um bloco de código para uma máquina remota (e.g., num nodo da Grid). Desactivando esse módulo o mesmo bloco de código seria executado na máquina local.

Esta investigação incide na exploração de técnicas orientadas ao aspecto para desenvolver módulos (des)activáveis (i.e., aspectos Grid) que fornecem o acesso a serviços Grid. Estes módulos dependem fortemente da infra-estrutura actual da Grid (e.g., Globus toolkit). Os módulos a desenvolver incluem as seguintes classes de serviços Grid:

- execução concorrente: especificação de tarefas que podem ser executadas em paralelo, sincronização entre tarefas paralelas e especificação de vários níveis de paralelismo;

- execução distribuída: mapeamento e execução de tarefas em recursos distribuídos, migração de tarefas entre recursos e suporte a vário “middleware” para comunicação entre tarefas;

- serviços de dados: acesso a múltiplas fontes de dados, distribuição dos dados, replicação e “caching”;

- serviços utilitários: mecanismos ao nível da aplicação para lidar com faltas, “checkpoint” dos dados da aplicação, entrada e saída remota de dados e monitorização da aplicação.

O novo “middleware” irá suportar uma forma mais suave (e facilmente reversível) de converter as aplicações científicas para ambientes Grid.

O “middleware” será validado através da análise de vários casos, de diversos domínios de aplicação. Os casos a analisar são fornecidos pelos membros da equipa de investigação do projecto e requerem acesso a recursos computacionais apenas disponíveis em ambientes Grid. Estes códigos serão convertidos para ambientes Grid através da inclusão de aspectos Grid e vão contribuir para um aumento do número de utilizadores dos ambientes Grid. Os casos de estudo incluem:

- optimização de processos bio-tecnológicos através de algoritmos de computação evolucionária;

- simulação da agregação e crescimento de filmes finos através de técnicas de Monte Carlo;

- modelação de diodos emissores de luz simulando a injecção de cargas, o transporte e a recombinação em PLEDs.

Adicionalmente também será abordado um caso de estudo de dinâmica molecular (aplicado ao caso do desdobramento induzido de proteínas e variantes), para o qual existem várias implementações paralelas (e.g., NAMD).

O projecto também aborda a implementação de ferramentas de suporte para o desenvolvimento de aplicações para ambientes Grid. Estas ferramentas incluem meios para visualmente activar os aspectos Grid em aplicações científicas e fornece um conjunto pré-definido de aspectos Grid que podem ser utilizados de uma forma trivial nas aplicações científicas, permitindo a execução transparente das aplicações, desenvolvidas no contexto do projecto, em ambientes Grid.