• Nenhum resultado encontrado

Grid Computing Implementação utilizando o framework Alchemi

N/A
N/A
Protected

Academic year: 2021

Share "Grid Computing Implementação utilizando o framework Alchemi"

Copied!
6
0
0

Texto

(1)

Grid Computing – Implementação utilizando o framework

Alchemi

Fabio Sakari1, Leandro Hoffman Taira1, Rogério de Oliveira1 1

Faculdade de Computação e Informática – Sistemas de Informação Universidade Presbiteriana Mackenzie

{fsakari, leandro.hoffman}@gmail.com; roger.oliveira@mackenzie.com.br

Abstract. More and more, grid computing technologies have been used in computational resources. The grid computing models include from a small number of linked computers, to provide high computational power environment, to models that explore the idle capacity of thousands of workstations on the Internet. This work presents and discusses the main models in grid computing. It also shows the implementation of a desktop grid model, applying the public framework Alchemi, where the problem of bifurcation diagram creation of a logistic map appears and its results are analyzed.

Resumo. Tecnologias de computação em grade (grid computing) vêem sendo cada vez mais empregadas na utilização dos recursos computacionais. Os modelos de computação em grade incluem desde um pequeno número de computadores interligados, para prover um ambiente de alto poder computacional, até modelos que exploram a capacidade ociosa de milhares de estações de trabalho na internet. Este trabalho apresenta e discute os principais modelos de computação em grade. Também apresenta a implementação de um modelo desktop grid, empregando o framework público Alchemi, em que o problema de geração de um diagrama de bifurcação de um mapa logístico é produzido e seus resultados analisados..

1. Introdução

A utilização de computadores como abordagem para solução de problemas já foi aplicada em quase todas as áreas de conhecimento humano. Entretanto, eles poderiam ser utilizados mais eficientemente do que realmente são. Dentre vários aspectos, um fator importante é que os computadores geralmente são inadequados para propósitos mais sofisticados devido a sua capacidade de processamento, de acordo com Foster e Kesselman (1999).

Os esforços direcionados para melhor utilização dos sistemas computacionais começaram a ser referenciados a partir de 1995 como grid computing. Um grid computacional seria uma infra-estrutura de hardware e software que provê acesso seguro, padronizado e barato a grandes capacidades computacionais [Foster e Kesselman 1999].

Existem várias definições para grid computing, mas Abbas (2004) apresenta uma que considera mais abrangente para descrever a tecnologia: grid computing permite que

(2)

organizações virtuais compartilhem recursos distribuídos geograficamente em busca de objetivos comuns, sem nenhum tipo de controle central, reconhecimento ou algum tipo de relacionamento prévio de confiança.

Existem diversos tipos de recursos, como poder computacional, dispositivos de armazenamento de dados, sensores, entre outros. Os tipos de grids variam conforme o recurso a ser compartilhado, sendo que o tipo focado neste trabalho é o computacional, ou seja, o recurso compartilhado é o poder de processamento dos computadores ligados ao grid.

2. O framework Alchemi

O Alchemi é um framework, ou seja, um conjunto de bibliotecas e ferramentas concebido para tornar o mais fácil possível a construção, o desenvolvimento e a execução de aplicações em grid, sem sacrifício da flexibilidade e confiabilidade.

O Alchemi é uma implementação que visa criar um tipo específico de grid, o computacional, no qual o recurso a ser compartilhado são ciclos de processamento para execução mais eficiente na resolução de problemas.

Segundo Luther e Buyya (2003), ele foi desenvolvido utilizando-se a plataforma Microsoft .NET Framework, que foi escolhida por dar suporte a diversos recursos necessários para a criação de aplicações em grid, como execução remota, multithreading, segurança, programação assíncrona, acesso desconectado a banco de dados, execução gerenciada e possibilidade de utilização de várias linguagens de programação.

Os arquivos e instruções de instalação do framework Alchemi estão disponíveis no site http://sourceforge.net/projects/alchemi, seção de downloads. A versão utilizada neste trabalho é a 1.0.4, e os arquivos necessários são Alchemi.Manager-1.0.4.msi, Alchemi.Executor-1.0.4.msi e Alchemi-1.0.4-sdk.zip.

Para executar a aplicação em grid desenvolvida neste trabalho, é preciso criar ao menos um grid Alchemi básico, composto por um gerenciador (manager) e um executor, de acordo com as instruções contidas nos arquivos acima. Os arquivos da aplicação compilados para execução estão disponíveis no site http://meusite.mackenzie.com.br/rogerio/sakari_taira, assim como o código-fonte.

Após a criação do grid básico, basta descompactar o arquivo Projeto_TGI_Grid_Exec.zip disponibilizado em qualquer pasta. Antes de executar a aplicação, é preciso confirmar as informações de conexão dentro do arquivo TGI_Grid.mdb, tabela sys_Conexao: servidor (máquina na qual se encontra o manager), porta (configurada no manager, por padrão 9000), usuário e senha (por padrão, os dois campos com valor “user”).

(3)

Figura 2.1. Interface da aplicação desenvolvida utilizando o framework Alchemi.

3. Diagrama de bifurcação

Segundo Alves (2001) apud Moreira e Mrack (2003), entende-se por sistema dinâmico qualquer processo que evolua com o tempo. Um sistema dinâmico está associado a uma lei de evolução, de forma que a partir de um conjunto de variáveis que descrevem o estado do sistema em certo momento pode-se determinar o valor dessas variáveis em instantes posteriores, através de equações, de acordo com Carlin e Szanto (2004).

Segundo May (1976) apud Carlin e Szanto (2004), um dos exemplos mais conhecidos de sistemas dinâmicos é o mapa logístico, que pode ser utilizado para análise de como uma população evolui ou decresce ao longo do tempo. Esse mapa é representado pela equação, ou lei de evolução:

Xt+1 = µXt(1 – Xt) Onde:

Xt+1 = população relativa no instante t+1

µ = valor do parâmetro de crescimento da população Xt = população relativa no instante t

t = índice temporal

Nota-se que a equação do mapa logístico apresenta um parâmetro de controle, que define o crescimento da população. A alteração desse parâmetro produz mudanças no comportamento da função (comportamento assintótico), sendo essas mudanças classificadas como bifurcações.

(4)

De acordo com Kaplan e Glass (1995), uma maneira de representar graficamente bifurcações complexas é desenhar em um gráfico os valores assintóticos da variável à medida que o parâmetro de controle varia. Esse tipo de gráfico é chamado de diagrama de bifurcações. Este gráfico é construído a partir de uma varredura dos valores do parâmetro de controle. Para cada valor de parâmetro, a equação é iterada várias vezes, até a estabilidade do sistema. Então o(s) valor(es) da variável são desenhadas no gráfico.

Figura 3.1 – Exemplo de diagrama de bifurcação do mapa logístico

A aplicação desenvolvida neste trabalho aplica o problema do cálculo dos pontos de um diagrama de bifurcação ao conceito de grid. Analisando os cálculos, nota-se que as iterações com um determinado valor do parâmetro são totalmente independentes das iterações com outros valores. Assim, é possível executar os cálculos com valores de parâmetro diferentes independentemente, e mais importante, paralelamente.

Assim, o cálculo dos pontos de um diagrama de bifurcação pode ser desenvolvido como uma aplicação em grid, pois pode ser dividido em várias partes (threads) independentes que seriam executadas nas máquinas que compõem o grid, diminuindo o tempo total do cálculo de todos os pontos.

4. Simulações e resultados

O ambiente utilizado para as simulações consiste em três computadores, executando o sistema operacional Windows XP Professional, interligadas por uma rede Ethernet de 10 MBits.

A configuração de hardware dos computadores é a seguinte:

• Computador 1: Pentium Dual Core 3.40GHz, com 512MB de memória RAM, 74GB de disco rígido

(5)

• Computador 2: Pentium Dual Core 3.40GHz, com 1GB de memória RAM, 74GB de disco rígido

• Computador 3: Pentium 4 3.00GHz, com 512MB de memória RAM, 74GB de disco rígido.

A simulação resulta em 4.000 variações de parâmetro, cada uma realizando 100.000 iterações da função logística, sendo que as últimas 100 têm os pontos resultantes gravados. Essa simulação foi realizada com o problema dividido em 8 e 15 partes (threads).

Cada um dos cálculos foi realizado três vezes, para garantir que os resultados não possam ser afetados por algum evento anormal e momentâneo no sistema ou na rede. Os resultados dos testes estão demonstrados nas tabelas 4.1 e 4.2.

Nro de comp. Poder

computacional Execução 1 Execução 2 Execução 3 Média

1 3.40 GHz 22,63 22,75 22,64 22,67

2 6.80 GHz 15,87 16,77 16,74 16,46

3 9.80 GHz 16,83 16,74 16,86 16,81

Tabela 4.1 – Tempos de execução da simulação com 8 threads (em segundos)

Nro de comp. Poder

computacional Execução 1 Execução 2 Execução 3 Média

1 3.40 GHz 22,33 22,28 22,25 22,29

2 6.80 GHz 14,37 14,48 14,4 14,42

3 9.80 GHz 11,36 11,39 11,24 11,33

Tabela 4.2 – Tempos de execução da simulação com 15 threads (em segundos)

A configuração de 15 threads foi mais eficiente na execução da simulação, apresentando um tempo de execução com três máquinas 49,2% menor que com uma máquina, contra um índice de 25,9% da configuração de 8 threads.

Analisando os resultados dos testes como um todo, a utilização da tecnologia de grid para este tipo de cálculo foi claramente positiva, pois conseguimos realizar o cálculo dos pontos praticamente na metade do tempo em comparação com uma máquina isolada.

5. Conclusão

A tecnologia de grid computing surgiu como um importante fator de desenvolvimento da computação pela sua iniciativa de possibilitar acesso, de forma organizada, transparente e padronizada a recursos computacionais dos mais diversos tipos, considerando e melhorando conceitos e tecnologias já existentes e bem estabelecidas.

Apesar da tecnologia de grid ter nascido nas instituições acadêmicas e de pesquisa, a exposição na mídia de projetos de computação pela Internet como o SETI@Home e Genome@Home chamou a atenção de grandes empresas do ramo de tecnologia, que começaram a pesquisar e investir seriamente na tecnologia, como a IBM e a Oracle.

(6)

Referências

ABBAS, A. (2004). Grid Computing: A Practical Guide to Technology and Applications. 1. ed. Massachusetts: Charles River Media.

CARLIN, N., SZANTO, E. M. (2004). “Comportamento caótico em um circuito RLC

não-linear”. Disponível em

http://www.sbfisica.org.br/rbef/Vol27/Num2/v27_225.pdf. Acesso em 5 de outubro de 2006.

FOSTER, I., KESSELMAN, C. (1999). The Grid: Blueprint for a New Computing Infrastructure. 1. ed. Morgan Kaufmann Publishers.

KAPLAN, D., GLASS, L. (1995). Understanding Nonlinear Dynamics. 1 ed. Springer-Verlag New York.

LUTHER, A., BUYYA, R., RANJAN, R., VENUGOPAL, S. (2003). “Alchemi: A .NET-based Grid Computing Framework and its Integration into Global Grids”. Disponível em: http://www.gridbus.org/papers/Alchemi.pdf. Acesso em 25 de julho de 2006.

MOREIRA, D., MRACK, M. (2003). “Sistemas Dinâmicos Baseados em Metamodelos”. Disponível em http://inf.univates.br/sicompi/wcompi2003/09-moreira-mrack.pdf. Acesso em 5 de outubro de 2006.

Referências

Documentos relacionados

Ou seja, o ajuste de contas pode ser compreendido como um mecanismo legal e próprio do sistema jurídico do FUNDEB que permite corrigir a Complementação financeira que a

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

larvae EM MEL DE APIÁRIOS DO ESTADO DO PIAUÍ Todas as 61 amostras de mel, coletadas no Estado do Piauí, apresentaram resultados negativos quanto à presença de esporos de

Como forma de abordagem terapêutica não invasiva para o tratamento dessas lesões, incialmente, deve-se optar por técnicas de remineralização do esmalte dentário,

As pessoas são motivadas para manter a consistência entre pensamentos, sentimentos e comportamentos (Festinger, 1957), o que permite supor que quando há primeiramente

LISTA DE FIGURAS LISTA DE TABELA LISTA DE ABREVIATURAS E SIGLAS CAPITULO 1 1 INTRODUÇÃO 1.1 Objetivos 1.1.1 Geral 1.1.2 Específicos 2 REVISÃO DE LITERATURA 2.1 Princípios

Para eficiência biológica, de forma geral, utiliza-se a comparação de produtividades entre sistemas (monocultivo e cultivo consorciado), sendo avaliados a partir de

Este estudo apresenta como tema central a análise sobre os processos de inclusão social de jovens e adultos com deficiência, alunos da APAE , assim, percorrendo