• No results found

Kommunal fornyelse: Profesjoner som med- eller motspillere?

In document - BREMSEKLOSS ELLER SYNDEBUKK (sider 99-114)

3.4.1

Introdução

O modelo DAMS tem como principal objectivo promover uma abordagem de suporte à monitorização de computações paralelas e distribuídas, baseada numa arquitectura flexível que assenta num núcleo de base ao qual se sobrepõem serviços específicos. Cada serviço visa suportar uma determinada funcionalidade de monitorização e controlo. A motivação para este modelo resulta, conforme se discutiu em secções anteriores, do reconhecimento da diversidade de cenários de aplicação, plataformas computacionais e, portanto, da diversidade de abordagens e soluções para suportar a monitorização.

Segundo o modelo DAMS, em vez de incorporar um conjunto fixo de funcionalidades numa infraestrutura monolítica, exige-se que cada funcionalidade específica seja encapsu- lada como um serviço. Assim, o modelo DAMS promove a definição de uma colecção aberta de serviços, que recorrem a um conjunto mínimo de funcionalidades, oferecidas por uma infraestrutura ou núcleo de base. O objectivo do núcleo é o de servir de intermediário:

• entre os serviços e os processos da aplicação alvo;

• entre as ferramentas e os serviços disponíveis;

3.4.2

O desenvolvimento incremental do modelo DAMS

Dada a quantidade de dimensões envolvidas para atingir o objectivo de construir uma in- fraestrutura de suporte à monitorização que cumpra os requisitos anteriormente apontados, a abordagem seguida neste trabalho foi incremental e estreitamente relacionada com desenvol- vimentos e ensaios experimentais que foram realizados no contexto de múltiplos projectos de investigação nos quais o autor esteve envolvido.

3.5. Conclusões 61

A origem e a evolução do modelo DAMS – Distributed Applications Monitoring System, uma infraestrutura de suporte à monitorização de aplicações paralelas e distribuídas –, foram fortemente condicionadas pelas necessidades, decorrentes desses projectos, de se dispor de uma infraestrutura distribuída flexível para suportar serviços de observação e de controlo de aplicações paralelas e distribuídas.

As diversas dimensões que foram exploradas através de desenvolvimentos experimentais permitiram ir validando as diversas versões do modelo DAMS, bem como fazê-lo evoluir, a partir de uma primeira realização de um protótipo simplificado, para uma nova versão do modelo e sua implementação.

3.5

Conclusões

Dos desenvolvimentos e experimentação anteriormente mencionados, emergiu a pro- posta do novo modelo DAMS. Este modelo, baseado numa noção de um núcleo básico, o qual pode ser estendido com conjuntos de serviços, conforme as necessidades de cada ce- nário aplicacional, representa, em nossa opinião, uma abordagem adequada para responder aos requisitos acima enunciados. Nos capítulos seguintes desta dissertação, procura-se evi- denciar esta tese, descrevendo os conceitos do modelo, as abordagens de implementação e ilustrando a flexibilidade da sua utilização.

Capítulo 4

O Modelo DAMS

Neste capítulo introduzem-se os objectivos de um sistema para monitorização e controlo de aplicações distribuídas, e seus requisitos para responder aos proble- mas referidos no capítulo anterior. É proposto um modelo, denominado DAMS, e são apresentadas as suas interfaces abstractas.

4.1

Introdução

Para se obter um ambiente para a observação e controlo de aplicações distribuídas mais completo do que o oferecido por uma única ferramenta, recorre-se muitas vezes a um con- junto variado de ferramentas, cada uma com um objectivo específico. O utilizador recorre às várias funcionalidades oferecidas por cada ferramenta consoante o objectivo que pretende atingir. Seria possivelmente desejável recorrer à integração ou à cooperação entre várias ferramentas, tentando tirar partido do melhor que cada uma tem para oferecer. No entanto, estas ferramentas são normalmente concebidas independentemente, para um sistema ou fim específicos, e a cooperação entre estas é na maior parte dos casos diminuta, senão impos- sível. A disponibilidade dessas ferramentas depende em geral da plataforma que suporta a execução da própria aplicação. Mesmo a utilização simultânea de várias ferramentas pode levar à observação de estados incoerentes entre as várias ferramentas e a interferências que podem originar comportamentos erróneos na observação e no controlo da aplicação, que as ferramentas exercem.

Surge assim a necessidade de dispor de mecanismos que garantam a coerência nas ob- servações e no controlo efectuado sobre a aplicação alvo, sobretudo quando se usam várias ferramentas complementares. Isto é particularmente importante e difícil quando o programa é executado sobre uma arquitectura distribuída. Esta dificuldade acrescida advém, por um lado, do carácter concorrente da sua execução, onde se torna quase impossível garantir que se observa correctamente a sequência de acções de uma execução do programa, nem se co- brem as possibilidades de todas as execuções desse programa; por outro lado, advém da complexidade que estas aplicações atingem em termos dos recursos usados, fluxos de execu- ção concorrentes e suas interacções. As próprias ferramentas, para tratarem das dificuldades referidas, tornam-se mais complexas do que as equivalentes usadas para programas sequen- ciais (quando existem) assim como as suas necessidades em termos das infraestruturas que as suportam.

A existência de várias ferramentas, explorando diferentes abordagens e para os vários modelos de programação e suas plataformas de suporte à execução, tornam desejável utili- zar novas ferramentas e poder combinar várias ferramentas com objectivos diferentes para melhor se conseguir o objectivo pretendido, procurando tirar partido das vantagens de cada uma. Tenta-se assim obter “ambientes” mais poderosos recorrendo à integração e composi- ção de várias ferramentas que melhor se adequam ao objectivo de cada cenário de aplicação a monitorizar e/ou a controlar.

Também a existência de variadas plataformas hardware e software (modelos de progra- mação, bibliotecas e sistemas de operação) tornam difícil a banalização deste tipo de ferra- mentas e de sistemas para controlo e observação, e ainda mais qualquer tipo de normalização que pudesse permitir um mais fácil transporte de ferramentas entre múltiplas plataformas. Procura-se então facilitar o desenvolvimento de novas ferramentas, assim como tornar mais fácil o seu transporte, e das ferramentas já existentes, entre as diversas plataformas hard- ware/software, pela existência de uma infraestrutura de suporte comum.

Revela-se de particular importância considerar os aspectos da coexistência, da coorde- nação e da sincronização entre as várias ferramentas, bem como destas relativamente à apli- cação distribuída alvo, mas as soluções destes problemas dependem criticamente de cada cenário de utilização. A utilização destes tipos de ferramentas em vários ambientes, plata- formas de suporte à execução da aplicação, ou de suporte à infraestrutura de monitorização, apontam para uma arquitectura de software por camadas que abstraiam os detalhes dessas

In document - BREMSEKLOSS ELLER SYNDEBUKK (sider 99-114)