13.07.2015 Views

Uso de um Modelo de Interceptadores para Prover Adaptação ...

Uso de um Modelo de Interceptadores para Prover Adaptação ...

Uso de um Modelo de Interceptadores para Prover Adaptação ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.3 <strong>Adaptação</strong> Dinâmica 22que informa quais são as necessida<strong>de</strong>s da aplicação. O Negotiator tem a função <strong>de</strong>escalonar as requisições no aglomerado. Periodicamente, o Negotiator verifica se existemrequisições através <strong>de</strong> consultas ao Collector. Caso existam, o Negotiator então, baseadonas informações fornecidas pelo Collector, transfere as requisições <strong>para</strong> máquinas emcondições <strong>de</strong> executá-las.Assim como o InteGra<strong>de</strong>, o Condor fornece suporte ao modo <strong>de</strong> operaçãooportunista, o que possibilita <strong>um</strong> uso mais eficiente dos parques computacionais, semprejudicar os usuários que utilizam essas máquinas. Este aspecto possibilita que o Condorseja cada vez mais utilizado como forma <strong>de</strong> prover recursos <strong>para</strong> <strong>um</strong>a gra<strong>de</strong> computacional.2.3 <strong>Adaptação</strong> DinâmicaAtualmente, os ambientes computacionais distribuídos apresentam <strong>um</strong> grau <strong>de</strong>dinamismo cada vez maior. Gra<strong>de</strong>s computacionais são <strong>um</strong> bom exemplo <strong>de</strong>ste tipo<strong>de</strong> ambiente <strong>de</strong> execução constituído por diferentes recursos <strong>de</strong> hardware e software.Esses recursos geralmente são fornecidos através da interconexão <strong>de</strong> máquinas <strong>para</strong>lelas,clusters, ou dispositivos móveis. Uma das características mais importantes das gra<strong>de</strong>scomputacionais é o fato <strong>de</strong> que a disponibilida<strong>de</strong> dos recursos oferecidos po<strong>de</strong> variarmesmo durante a execução <strong>de</strong> <strong>um</strong>a aplicação. Além disso, os recursos alocados po<strong>de</strong>m serliberados e então realocados à medida em que aplicações são iniciadas e encerradas <strong>de</strong>ntroda gra<strong>de</strong>. Desta forma, a utilização <strong>de</strong>stes recursos pelas aplicações não po<strong>de</strong> ser feita <strong>de</strong>forma estática e as mudanças que ocorrem durante a alocação <strong>de</strong> recursos não po<strong>de</strong>m serconsi<strong>de</strong>radas como falha.Para lidar com o dinamismo presente nesses ambientes distribuídos, <strong>um</strong>a novaestruturação <strong>de</strong>ve ser feita nas plataformas <strong>de</strong> middleware convencionais <strong>para</strong> que sejamcapazes <strong>de</strong> oferecer suporte a adaptação dinâmica.2.3.1 Reflexão ComputacionalPara que <strong>um</strong>a plataforma <strong>de</strong> middleware seja dinâmica, várias abordagens têm sidoutilizadas, sendo que a maioria emprega técnicas <strong>de</strong> reflexão computacional. A idéia básicada reflexão computacional <strong>de</strong>fine que <strong>um</strong> sistema, <strong>para</strong> ser reflexivo, <strong>de</strong>ve manter <strong>um</strong>arepresentação interna da sua própria configuração [36]. Caso ocorra alg<strong>um</strong>a mudança nestarepresentação, o sistema em si também sofrerá alterações. Da mesma forma, se o sistemafor modificado, a representação <strong>de</strong> sua configuração também será alterada. Por causa <strong>de</strong>steprocessamento introspectivo, <strong>um</strong> sistema reflexivo oferece a possibilida<strong>de</strong> <strong>de</strong> inspeções emudanças em si mesmo durante a sua execução [31]. As principais características <strong>de</strong> <strong>um</strong>sistema reflexivo são apresentadas abaixo [12]:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!