• Sonuç bulunamadı

notifica o ADR responsável por aquele fragmento para marcá-lo como vencido. Deste modo, se o ADR precisa liberar espaço em disco, ele escolhe primeiro os fragmentos vencidos.

7.4.4 Otimização de desempenho

Para melhorar o desempenho das operações de recuperação de arquivos armazenados, OppStore armazena parte dos fragmentos necessários para reconstruir um arquivo no aglomerado a partir de onde foi solicitado seu armazenamento. Caso um cliente do mesmo aglomerado posteriormente solicite o arquivo, parte dos fragmentos necessários para reconstruí-lo poderão ser obtido do aglomerado local. Além disso, caso o arquivo seja solicitado a partir de outros aglomerado próximos, também será vantajoso utilizar estes fragmentos. Este armazenamento local de parte dos fragmentos pode ser desabilitado se o cliente souber que é pouco provável que os dados sejam utilizados naquele aglomerado ou em um aglomerado próximo.

Para realizar esta otimização, durante o processo de armazenamento, quando o CDRM fornece ao

access broker a lista de ADRs remotos para armazenar os fragmentos, ele também provê uma lista de

ADRs locais para armazenar os fragmentos. O access broker então transfere os fragmentos para estes repositórios do aglomerado local.

7.5

Implantação sobre grades computacionais

A implantação do OppStore em grades oportunistas requer que seja definida uma interface para que usuários e aplicações da grade possam interagir com os dados armazenados. Além disso, os componentes do OppStore devem poder ser instanciados em máquinas compartilhadas da grade oportunista.

Nesta seção, discutimos como poderíamos realizar a implantação do OppStore sobre grades compu- tacionais oportunistas, incluindo os componentes que precisam ser implementados e disponibilizados. Na Seção 7.6, apresentaremos a versão preliminar da implementação que realizamos da interface do OppStore com o middleware InteGrade [55].

7.5.1 Interface com grades computacionais

O objetivo das interfaces com grades computacionais é permitir que aplicações e usuários da grade possam acessar o armazenamento distribuído fornecido pelo OppStore. Usuários e aplicações da grade, que chamaremos a partir de agora de clientes, devem poder realizar facilmente as tarefas de armazena- mento de dados e sua recuperação.

No caso de usuários, eles devem poder manipular os dados armazenados utilizando comandos sim- ples, como oppstore, oppappend e oppremove, ou através de uma interface gráfica. Esta interface com o usuário se comunica com o access broker para realizar a interação do usuário com o OppStore.

Aplicações precisam obter seus arquivos de entrada e armazenar arquivos de saída. A utilização dos repositórios remotos deve ocorrer de modo transparente, de preferência sem a necessidade de recompilar o código original da aplicação. A disponibilização dos arquivos de entrada e armazenamento dos de saída pode ser feita pelo próprio middleware de grade ou através de uma biblioteca que intercepte chamadas de sistema e converta estas chamadas para requisições ao OppStore. Esta biblioteca pode também realizar outras funções, como esconder da aplicação a latência de rede e falhas transientes de comunicação, fornecendo um ambiente de execução mais confiável à execução da aplicação.

Checkpoints gerados periodicamente são armazenados utilizando o modo efêmero. Mas alguns checkpoints podem periodicamente ser armazenados no modo perene, provendo uma proteção extra no

caso de falha ou desconexão do aglomerado onde a aplicação é executada.

7.5.2 InteGrade

Como primeiro caso de uso, analisamos a implantação do OppStore sobre o middleware para grades oportunistas InteGrade [55], descrito em detalhes na Seção 3.2.1. O InteGrade organiza as máquinas compartilhadas em uma federação de aglomerados, como podemos ver na Figura 7.3. Esta figura mostra a distribuição de componentes do InteGrade, como o GRM, AR, EM e LRM, descritos na Seção 3.2.1, e dos componentes do OppStore já implantados sobre o InteGrade.

Aglomerado do InteGrade Máquina provedora de recursos LRM ADR Máquina gerenciadora do aglomerado CDRM GRM EM AR LRM ADR ADR LRM

Federação de aglomerados do InteGrade

Máquina provedora de recursos Máquina provedora de recursos

Figura 7.3: Implantação do OppStore sobre o InteGrade.

Como podemos notar na Figura 7.3, ADRs são instanciados nas máquinas provedoras de recursos, de modo que as mesmas máquinas que disponibilizam seus ciclos computacionais passam a disponibilizar também o espaço livre em disco. Além disso, CDRMs são instanciados nas máquinas gerenciadoras do aglomerado que, apesar de não serem dedicadas, permitem que os módulos de gerenciamento funcionem mesmo que a máquina não esteja ociosa.

7.5 Implantação sobre grades computacionais 117 Outro ponto importante da implantação é o modo como usuários e aplicações da grade interagem com o OppStore. No modelo de submissão atual do InteGrade, usuários utilizam a interface gráfica ASCT (Application Submission and Control Tool) para armazenar arquivos executáveis de aplicações no módulo AR (Application Repository) e submeter tarefas para execução na grade. As tarefas são repassadas para execução nos LRMs (Local Resource Managers), que obtêm os binários da aplicação no AR e os arquivos de entrada a partir do ASCT. Quando a aplicação finaliza, os arquivos de saída da aplicações são enviados para o ASCT de onde a execução foi requisitada.

Este esquema traz diversas limitações à execução de aplicações. A primeira é que o ASCT precisa ficar conectado ao sistema por todo o processo de submissão, escalonamento, execução e obtenção de resultados, uma vez que o ASCT interage diretamente com o LRM. Além disso, não é permitido ao usuá- rio da grade visualizar os resultados da execução em máquinas diferentes da utilizada para a submissão da execução. Finalmente, não é possível compartilhar dados entre diferentes aplicações em uma grade computacional, uma vez que para cada execução os arquivos de entrada e saída são obtidos e enviados diretamente ao ASCT.

Utilizando o OppStore, os arquivos de entrada e saída são armazenados em repositórios distribuídos. No momento de submeter uma aplicação para execução, os arquivos de entrada são enviados para arma- zenamento remoto. Quando o LRM recebe a requisição para execução, ele obtêm os arquivos de entrada da aplicação no OppStore, e realiza a execução da aplicação. Após seu término, os arquivos de saída são armazenados no OppStore. Usuários da grade podem então obter estes dados armazenados de qual- quer máquina utilizando a ferramenta gráfica ASCT. Finalmente, como dados de entrada e saída de uma aplicação ficam armazenados no OppStore, outras aplicações podem facilmente utilizar estes arquivos.

Outro uso do OppStore seria para o armazenamento de checkpoints de aplicações. O InteGrade possui um mecanismo próprio para realizar o armazenamento de checkpoints no aglomerado onde a aplicação é executada. Com o OppStore, o mecanismo de checkpointing passaria a utilizar o armazenamento perene do OppStore para parte dos checkpoints gerados, de modo a fornecer mais garantias sobre a disponibilidade destes checkpoints.

7.5.3 Condor

Condor [131] é um middleware para grades oportunistas que organiza as máquinas como uma coleção de aglomerados, chamados de Condor pools. Máquinas compartilham seus recursos executando um módulo denominado resource daemon, equivalente ao LRM do InteGrade. A alocação de tarefas a recursos é realizada pelo módulo matchmaker, que possui um registro de todos os resource daemons presentes em seu aglomerado. Os usuários da grade realizam a submissão de tarefas para execução utilizando o módulo agent.

Em uma grade Condor composta por diversos aglomerados, podemos implantar o OppStore instan- ciando CDRMs nas mesmas máquinas que executam os matchmakers e os ADRs nas máquinas que exe-

cutam os resource daemons. Conseqüentemente, as mesmas máquinas que compartilham ciclos ociosos passam também a compartilhar espaço livre em disco.

Condor permite que aplicações acessem remotamente a máquina de onde o requisição de execução foi realizada, para obter dados lá armazenados e transferir arquivos de saída. Este acesso remoto a dados requer que a aplicação seja religada a uma biblioteca que intercepta chamadas ao sistema de arquivos. Utilizando o OppStore, uma maneira de permitir que aplicações acessem o repositório distribuído de modo transparente é modificar esta biblioteca para obter e armazenar dados no OppStore. Poderíamos também modificar o agent para que este automaticamente solicite o armazenamento dos dados que serão utilizados pela aplicação no OppStore e obtenha os dados de saída da aplicação armazenados no OppS- tore. Finalmente, poderíamos disponibilizar uma ferramenta texto ou gráfica que permita aos usuários da grade manipular e visualizar os dados armazenados no OppStore.

Benzer Belgeler