O desenvolvimento de soluções paralelas para problemas com requisitos computacionais elevados tem estado limitado à exploração de sistemas de computação específicos e à utilização de abstracções altamente conotadas com a arquitectura desses sistemas.
Estes condicionalismos têm um impacto altamente desencorajador na utilização de clusters heterogéneos -- que integram múltiplas tecnologias de interligação -- quando se pretende dar respostas capazes, tanto ao nível da produtividade, como do desempenho.
Esta dissertação apresenta a orientação ao recurso como uma nova abordagem à programação paralela, unificando no conceito de recurso as entidades lógicas dispersas pelos nós de um cluster, criadas pelas aplicações em execução, e os recursos físicos que constituem o potencial de computação e comunicação da arquitectura alvo.
O paradigma introduz novas abstracções para (i) a comunicação entre recursos lógicos e (ii) a manipulação de recursos físicos a partir das aplicações.
As primeiras garantem um interface mais conveniente ao programador, sem comprometerem o desempenho intrínseco das modernas tecnologias de comunicação SAN.
As segundas permitem que o programador estabeleça, explicitamente, uma correspondência efectiva entre as entidades lógicas e os recursos físicos, por forma a explorar os diferentes padrões de localidade existentes na hierarquia de recursos que resulta da utilização de múltiplas tecnologias SAN e múltiplos nós SMP.
O paradigma proposto traduz-se numa metodologia de programação concretizada na plataforma Meu, que visa a integração do desenho/desenvolvimento de aplicações paralelas e do processo de selecção/alocação de recursos físicos em tempo de execução, em ambientes multi-aplicação e multi-utilizador.
Na base desta plataforma está o RoCl, uma outra plataforma, desenvolvido com o intuito de oferecer uma imagem de sistema uno.
Na arquitectura resultante, o primeiro nível, suportado pelo RoCl, garante a conectividade entre recursos lógicos dispersos pelos diferentes nós do cluster, enquanto o segundo, da responsabilidade do Meu, permite a organização e manipulação desses recursos lógicos, a partir de uma especificação inicial, administrativa, dos recursos físicos disponíveis.
Do ponto de vista da programação paralela/distribuída, o Meu integra adaptações e extensões dos paradigmas da programação por memória partilhada, passagem de mensagens e memória global.
Numa outra vertente, estão disponíveis capacidades básicas para a manipulação de recursos físicos em conjunto com facilidades para a criação e localização de entidades que suportam a interoperabilidade e a cooperação entre aplicações.