utilizando sistemas de computaÇÃo em grade … · antenas, de tal forma que o estudo da...

15
UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE OPORTUNISTAS NA SOLUÇÃO DE PROBLEMAS ELETROMAGNÉTICOS POR FDTD Luiz Daniel Creão Augusto 1 Regiane Y. Kawasaki 1 Josivaldo de Souza Araújo 1,2 Carlos Leonidas da S. S. Sobrinho 1 Carlos Renato Lisboa Francês 1 [email protected] [email protected] [email protected] [email protected] [email protected] 1 Departamento de Engenharia Elétrica e de Computação, Universidade Federal do Pará Rua Augusto Corrêa, n.01, 66075-110, caixa postal 8619, Belém - PA – Brasil 2 Centro de Ciências Exatas e Tecnologia, Universidade da Amazônia Avenida Alcindo Cacela, 287, 66060-902, Belém – PA - Brasil Resumo. Com a recente evolução dos sistemas de informação, as telecomunicações acabaram se tornando um dos alicerces da sociedade moderna, manifestando-se das mais diversas maneiras. Celulares, transmissões de rádio e televisão, infravermelho, radares e redes sem fio são todas realizadas através de ondas eletromagnéticas, disseminadas por antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância para melhoria desse tipo de serviço de grande interesse comercial. No entanto, para realizar simulações eletromagnéticas utilizando o método numérico FDTD (Diferenças Finitas no Domínio do Tempo) são necessários computadores que possuam um alto poder computacional, pois o mesmo requer um longo tempo de processamento e uma grande quantidade de memória, o que o torna impraticável em muitas situações, principalmente quando o processamento é serial. Para tentar contornar este obstáculo, este trabalho propõe uma solução baseada em sistemas de computação em grade oportunistas para a análise de uma antena monopolo simples, utilizando FDTD em coordenadas cilíndricas e biblioteca de comunicação BSP. A idéia de se optar por sistemas de computação em grade oportunistas é de que tais sistemas possibilitam utilizar-se de uma base previamente instalada de computadores pessoais, permitindo a realização de computação paralela por meio do uso de recursos ociosos. Palavras-chave: Grade de Computadores, Método FDTD, Biblioteca BSP, Antena Monopolo Simples, Processamento Paralelo, Coordenadas Cilíndricas.

Upload: others

Post on 23-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE OPORTUNISTAS NA SOLUÇÃO DE PROBLEMAS ELETROMAGNÉTICOS POR FDTD

Luiz Daniel Creão Augusto1

Regiane Y. Kawasaki1

Josivaldo de Souza Araújo1,2

Carlos Leonidas da S. S. Sobrinho1

Carlos Renato Lisboa Francês1

[email protected]

[email protected] [email protected] [email protected] [email protected] 1Departamento de Engenharia Elétrica e de Computação, Universidade Federal do Pará Rua Augusto Corrêa, n.01, 66075-110, caixa postal 8619, Belém - PA – Brasil 2Centro de Ciências Exatas e Tecnologia, Universidade da Amazônia Avenida Alcindo Cacela, 287, 66060-902, Belém – PA - Brasil Resumo. Com a recente evolução dos sistemas de informação, as telecomunicações acabaram se tornando um dos alicerces da sociedade moderna, manifestando-se das mais diversas maneiras. Celulares, transmissões de rádio e televisão, infravermelho, radares e redes sem fio são todas realizadas através de ondas eletromagnéticas, disseminadas por antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância para melhoria desse tipo de serviço de grande interesse comercial. No entanto, para realizar simulações eletromagnéticas utilizando o método numérico FDTD (Diferenças Finitas no Domínio do Tempo) são necessários computadores que possuam um alto poder computacional, pois o mesmo requer um longo tempo de processamento e uma grande quantidade de memória, o que o torna impraticável em muitas situações, principalmente quando o processamento é serial. Para tentar contornar este obstáculo, este trabalho propõe uma solução baseada em sistemas de computação em grade oportunistas para a análise de uma antena monopolo simples, utilizando FDTD em coordenadas cilíndricas e biblioteca de comunicação BSP. A idéia de se optar por sistemas de computação em grade oportunistas é de que tais sistemas possibilitam utilizar-se de uma base previamente instalada de computadores pessoais, permitindo a realização de computação paralela por meio do uso de recursos ociosos. Palavras-chave: Grade de Computadores, Método FDTD, Biblioteca BSP, Antena Monopolo Simples, Processamento Paralelo, Coordenadas Cilíndricas.

Page 2: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

1. INTRODUÇÃO

Nas últimas décadas, a computação atingiu um novo patamar em termos de qualidade de recursos. Os processadores comuns de hoje possuem capacidade de processamento similar a encontrada em supercomputadores de menos de uma década atrás; as redes de computadores são cada vez mais velozes, confiáveis e comuns; o software tornou-se cada vez mais modular, configurável e dinâmico. Da mesma forma, os problemas computacionais a serem resolvidos tiveram um considerável aumento de complexidade, levando a uma situação contraditória: usuários com alta demanda de poder computacional, mas sem os recursos necessários, e milhares de usuários que possuem estações poderosas e quase sempre ociosas.

Essa situação, dentre diversas outras razões, levou ao desenvolvimento do paradigma das Grades Computacionais, que tem como objetivo interconectar computadores heterogêneos e recursos computacionais diversos para estender a fronteira dos limites dos sistemas de computação.

A maioria das mais notáveis situações onde a Computação em Grade traria benefícios se baseia na premissa de que dificilmente todos os recursos são usados o tempo todo. Esse recurso pode ser um hardware especial e muito caro, que apesar de indispensável, seria usado somente poucos minutos por dia; aplicações científicas extremamente pesadas (como análise de sinais, prospecção de minérios, simulações, métodos numéricos), que necessitam de um grande poder computacional disponível na instituição, ou simplesmente dezenas (centenas) de estações de trabalhos de funcionários comuns de uma instituição, que desperdiçam grandes porções de poder computacional.

Com o objetivo de melhorar o aproveitamento de recursos ociosos, desenvolveu-se o conceito de Computação em Grade Oportunista, cujo foco central é usar ciclos ociosos de um (ou vários) recurso(s) para prover computação útil, como por exemplo, solucionar problemas eletromagnéticos utilizando o método numérico FDTD. Este método apesar de muito útil e eficiente, tem como limites a grande quantidade de memória que necessita e o longo tempo de processamento, já que se baseia em aproximações numéricas utilizando discretizações no espaço e no tempo.

A proposta deste trabalho é de analisar a computação paralela em Grade Oportunista, para solucionar o problema de uma antena monopolo cilíndrica, em 2D, utilizando o algoritmo FDTD. 2. GRADE: INTERGRADE

O InteGrade, um sistema para computação em grade, é projeto sob a licença General Public License (GPL), desenvolvido no Departamento de Ciência da Computação do Instituto de Matemática e Estatística da Universidade de São Paulo (IME-USP), com a colaboração de outras universidades brasileiras. Detalhadamente apresentado em (Kon et al., 2004) e (Goldchledger 2004), é um middleware para computação em grade oportunista, de tal forma que as aplicações em execução na grade não comprometam a utilização da própria estação do usuário: apenas ciclos ociosos são destinados aos aplicativos, assim, o usuário sequer irá notar que sua máquina naquele instante está sendo utilizada na grade. Desta forma, o InteGrade visa a criação de uma infra-estrutura de software que permita a utilização efetiva de recursos que seriam desperdiçados, possibilitando uma economia financeira para as instituições que demandam grandes quantidades de computação. A arquitetura do InteGrade é totalmente orientada a objetos, desenvolvida em Java e C++, onde os módulos do sistema se comunicam a partir de métodos remotos. O responsável pela infra-estrutura distribuída e orientada a objetos é o CORBA, (Visnoki et al., 1997), que

Page 3: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

também oferece serviços de nomes e trading, reduzindo a complexidade de seu desenvolvimento e sendo, portanto essenciais para o bom funcionamento da grade. 2.1 Arquitetura Intra-Aglomerado Uma grade InteGrade é constituída por aglomerados (clusters), conjunto geralmente formados por uma a cem máquinas agrupadas, normalmente pertencentes ao mesmo domínio administrativo, ainda que possam estar em diferentes redes. A Fig. 1 apresenta os principais elementos de um aglomerado InteGrade.

Figura 1 - Arquitetura Intra-Aglomerado do InteGrade

• Nó Dedicado: Dedicadas à computação em grade, como slaves em um cluster; • Nó Compartilhado: Usuário compartilhando recursos na grade; • Nó de Usuário: Capaz de submeter aplicações à grade.

Entretanto, os nós podem acumular mais de uma função, como usuários compartilhando e requisitando recursos à grade. Os módulos são listados na Tabela 1, e os principais, discutidos a seguir.

Tabela 1 - Esquematização dos módulos do InteGrade

Módulo Funcionalidade LRM Permite ao nó entrar na grade GRM Controla um aglomerado da grade NCC Determina recursos a serem compartilhados no nó AR Armazena aplicações a serem executadas ASCT Ferramenta para submeter aplicações LUPA Monitora padrões de utilização Cluster View Ferramenta para obter informações da grade

Módulo LRM (Local Resource Manager). Funcionamento: É o modulo que permite a um nó entrar na grade, e possui três funcionalidades principais: atualizar o GRM sobre a disponibilidade de recursos, atender requisições de execução e permitir o controle remoto de aplicações da grade.

Page 4: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

Módulo GRM (Global Resource Manager). Funcionamento: Permite o registro de nós na grade e atua como o serviço de informações, recebendo atualizações dos LRM sobre disponibilidade dos recursos. Além disso, o GRM trata requisições para a execução de aplicações: quando recebe uma requisição, utiliza as informações dos LRM para realizar o escalonamento. Módulo ASCT (Application Submission and Control Tool). Funcionamento: Ferramenta gráfica que permite ao usuário registrar e executar aplicações na grade, sendo possível definir alguns requisitos, como o tipo de aplicação (seqüencial, paramétrica ou paralela BSP), plataforma de hardware e software (executar somente em máquinas Linux 64 bits, por exemplo) ou recursos necessários (mínimo de 256 MB de RAM ou execução em quatro estações, por exemplo). Permite o monitoramento e controle da execução da aplicação, assim como recuperação da saída ou término da execução. Módulo ClusterView. Funcionamento: Aplicativo gráfico que permite a visualização de todos os nós registrados na grade, bem como suas configurações de hardware e software, além da utilização de recursos em cada um deles. Elabora também gráficos com o histórico de utilização dos recursos. Módulo AR (Application Repository). Funcionamento: Geralmente executado no mesmo nó do GRM, armazena as aplicações registradas na grade através do ASCT. Quando um LRM recebe um pedido de execução, ele requisita a aplicação do AR e faz o download. Pode armazenar múltiplos binários, como, por exemplo, versões 32 e 64 bits de uma mesma aplicação. 2.2 Protocolos Protocolo de Execução de Aplicações. Este protocolo determina a seqüência de passos necessários para a execução de uma aplicação na grade, devidamente ilustrada na Fig. 2.

Figura 2 - Protocolo de Execução de Aplicações O protocolo funciona da seguinte maneira:

1. Usuário solicita execução através do ASCT e especifica requisitos; 2. GRM procura no Trader por estações que satisfaçam os requisitos e envia requisições

aos respectivos LRM, caso contrário cancela a execução; 3. Os LRMs verificam se possuem realmente os recursos disponíveis para executar a

aplicação. Se não puderem, notificam o GRM que deverá procurar outro candidato; 4. LRM faz o download do executável no Repositório de Aplicações;

Page 5: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

5. LRM solicita ao ASCT os arquivos de entrada da aplicação; 6. LRM inicia a execução da aplicação; 7. LRM notifica o ASCT que iniciou a execução.

Caso a aplicação a ser executada seja paramétrica ou paralela, requisitando assim diversos nós, o protocolo sofre pequenas alterações, como alguns passos sendo executados uma vez para cada nó envolvido. Protocolo de Disseminação de Informações. Protocolo responsável pela atualização de informações e disponibilidade de recursos das máquinas sob a gerência do GRM de um aglomerado. Para um escalonamento eficiente, é vital que tais informações sejam as mais próximas possíveis da realidade, no dado instante.

Em sistemas fracamente acoplados como uma grade, a escolha da freqüência de atualização de informações é muito importante e decisiva: se a freqüência de atualização for alta, o sistema tende a perder desempenho devido ao excesso de mensagens trocadas na rede; se a freqüência for muito baixa, maior a chance das informações utilizadas por serviços fundamentais, como escalonamento de tarefas, basearem-se em informações irreais. Visando um ponto de equilíbrio, o InteGrade se baseia em 'dicas' (hint), discutidas por (Lampson, 1983), de tal forma que as informações disponíveis são na verdade uma visão aproximada da disponibilidade naquele instante. Como as informações de hardware não mudam ao longo da utilização, apenas as informações dinâmicas (porcentagem de utilização de CPU e memória, por exemplo) precisam ser atualizadas pelo LRM. Este, periodicamente coleta as informações da estação e confere com as informações obtidas anteriormente, caso a mudança entre elas seja considerada significativa (uma variação maior que 10%), uma atualização é enviada ao GRM. Essa abordagem resulta em pouco tráfego na rede, além de informações sempre muito próximas da realidade. 2.3 Aplicações Suportadas Atualmente, o InteGrade suporta a execução de três tipos de aplicações:

• Aplicações Seqüenciais: aplicações convencionais, sendo apenas um arquivo binário executável e exigindo apenas um único nó para executá-la.

• Aplicações Paramétricas: aplicações onde um mesmo binário é executado múltiplas vezes, com diferentes conjuntos de dados, com execuções tipicamente (mas não necessariamente) realizadas em nós diferentes. Não há comunicação entre as execuções;

• Aplicações BSP: aplicações paralelas que utilizam a biblioteca BSP do InteGrade para comunicação. São melhores descritas na sessão seguinte.

As aplicações em execução no InteGrade podem receber diversos arquivos de entrada, definidos pelo usuário que requisitou a aplicação, assim como também podem gerar arquivos de saída ou temporários (tipicamente para coleta da saída padrão e da saída de erros), para retorno ao usuário requisitante. Entretanto, o InteGrade usa um mecanismos de proteção do tipo sandbox, limitando a área onde o usuário pode ler e escrever arquivos somente no diretório de execução, impedindo acesso indevido a arquivos do sistema local.

Page 6: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

2.4 Computação Paralela BSP O BSP (Bulk Synchronous Parallel) foi proposto por Valiant (1990), e, além de ser uma das primeiras implementações bem sucedidas e simples para computação paralela em multicomputadores, é considerado um modelo realístico, uma vez que sua estrutura é muito próxima da execução de um aplicativo paralelo, além de ser capaz de expressar o custo computacional do aplicativo através de uma equação matemática. O modelo BSP é composto por um conjunto de processadores com memória local e que se comunicam através de algum meio de interconexão, sendo gerenciados por um processo roteador (também conhecido como Process Zero) e com momentos de sincronização global. A sincronização é uma das principais características do BSP, uma vez que seus algoritmos são uma seqüência de superpassos, devidamente separados por barreiras de sincronização. Em cada superpasso, podem ser utilizados somente os dados disponibilizados no começo do mesmo ou resultantes de suas computações: caso a tarefa receba uma mensagem com dados de outra tarefa, esses dados só estarão à disposição no começo do próximo superpasso. Apesar de oferecer suporte tanto à memória distribuída (DRMA – Direct Remote Memory Access) quanto à troca de mensagens (BSMP - Bulk Synchronous Message Passing), o BSP possui apenas 20 chamadas em sua biblioteca, sendo oito para uso geral, quatro para DRMA, cinco para BSMP e três para chamadas de alto desempenho. Embora a consolidação dos ambientes de passagem de mensagens PVM e MPI tenham diminuído a atenção sobre o BSP, este continua sendo uma biblioteca eficiente e bastante utilizada, tendo sido portada para diversos sistemas de grades como o Globus Toolkit e o InteGrade, ambos baseados na implementação Oxford BSPLib apresentada por Hill (1998), a mais utilizada e bem documentada implementação, com suporte a C/C++ e Fortran. Entretanto, são necessários estudos detalhados sobre o impacto da utilização de sincronização global em um ambiente da escala de uma grade. 3. MÉTODO DAS DIFERENÇAS FINITAS NO DOMÍNIO DO TEMPO (FDTD) Muito dos avanços da tecnologia moderna depende da habilidade de analisar eficientemente sistemas eletromagnéticos em diversas aplicações, tais como: telecomunicações, radares, estudos geofísicos, diagnósticos médicos, segurança militar, entre outras, possibilitando a compreensão e controle dos fenômenos de radiação, reflexão, refração e difração de ondas eletromagnéticas. Essa análise está baseada na solução das equações de Maxwell para o sistema de interesse. Vários métodos computacionais têm sido propostos para resolver essas equações, mas nenhum teve o impacto e a longevidade do método das Diferenças Finitas no Domínio do Tempo, ou simplesmente método FDTD. O método foi primeiro desenvolvido por A. Thom (Thom, 1961), na década de 1920, com o título “o método dos quadrados” e foi usado para resolver problemas envolvendo equações diferenciais não lineares em hidrodinâmica. A técnica esta baseada em aproximações às quais permitem substituir equações diferenciais por equações de diferenças finitas, que são as equações algébricas. Estas equações relacionam o valor da variável dependente em um dado ponto da região de solução com os seus valores em pontos vizinhos. O método FDTD foi introduzido por Yee (Yee, 1966), em 1966 e mais tarde desenvolvido por Taflove et al (Taflove et al, 1980). No trabalho desenvolvido por Yee, o método dá a solução das equações rotacionais de Maxwell e trata o problema de radiação como um problema de valor inicial. Este método é uma técnica robusta que fornece uma solução numérica para as equações de Maxwell usando-se diferenças centradas com soluções envolvendo precisão de segunda ordem no espaço e no tempo. O método recai em um método

Page 7: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

explícito o que implica em um menor custo computacional por quantidade de incógnitas, quando comparado com as técnicas que envolvem inversão de matrizes em seu processo. No entanto, apesar da facilidade na utilização e de todo poder computacional proporcionado pelo método, tem-se dois grandes desafios a serem superados: 1) a grande quantidade de memória requerida e, 2) o longo tempo de processamento. Para superar esses desafios e evitar o estrangulamento da simulação, a solução foi a implementação paralela do código FDTD em ambientes de alto desempenho, como clusters e grades computacionais. 3.1. Equações de Maxwell em Duas Dimensões Para utilizar as equações de Maxwell em duas dimensões, considera-se que a estrutura modelada se estende infinitamente na direção z sem sofrer nenhuma alteração. Se a onda incidente também é constante ao longo do eixo z, então todas as derivadas parciais em relação ao eixo z devem ser iguais a zero. Assim, as equações rotacionais de Maxwell assumem a forma das Eq. (1), (2) e (3) para o modo transversal magnético em relação a z, ou Modo TMz e das Eq. (4), (5) e (6) para o modo transversal elétrico, também em relação a z, ou Modo TEz. 1 ,x zH E

t yµ⎛ ⎞∂ ∂

= − ⎜ ⎟∂ ∂⎝ ⎠ (1)

1 ,y zH E

t xµ∂ ∂⎛ ⎞= − ⎜ ⎟∂ ∂⎝ ⎠

(2)

1 .y xz

z

H HE Et x y

σε

∂⎛ ∂∂= − −⎜∂ ∂ ∂⎝ ⎠

⎞⎟ (3)

1 ,x z

xE H Et y

σε⎛∂ ∂

= − −⎜∂ ∂⎝ ⎠

⎞⎟ (4)

1 ,y z

y

E H Et x

σε

∂ ∂⎛ ⎞= − −⎜ ⎟∂ ∂⎝ ⎠ (5)

1 ,yxz EEHt yµ

∂⎛ ∂∂= − −⎜∂ ∂ ∂⎝ ⎠x

⎞⎟ (6)

3.2. O Algoritmo de Yee A grande motivação para o uso do algoritmo de Yee está na sua robustez e na sua precisão. O algoritmo resolve conjuntamente os campos elétricos e magnéticos no espaço e no tempo, usando as equações rotacionais de Maxwell. Isso possibilita a imposição de condições de contorno para ambos os campos E e H na superfície de uma estrutura. Além disso, permite caracterizar as propriedades elétricas e magnéticas do material de maneira direta. Outra característica interessante é que as componentes de campo elétrico sempre estão rodeadas por quatro componentes circulantes de campo magnético e vice-versa, como pode ser observado na Fig. 3.

Page 8: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

Ey8Ey7Ey6Ey5

Ey4Ey3Ey2Ey1

Ex8Ex7Ex6Ex5

Ex4Ex3Ex2Ex1

Hz8Hz7Hz6Hz5

Hz4Hz3Hz2Hz1

Figura 3 – Célula bidimensional de Yee em Coordenadas Retangulares.

O algoritmo usa um esquema para intercalar as componentes de e ao longo do tempo. Calcula-se e armazenam-se todas as componentes de

E HE do ambiente modelado,

usando-se as informações armazenadas previamente em H . Em seguida, os campos de H são calculados usando-se as componentes de E que foram calculadas no passo anterior. O ciclo continua até o final das iterações temporais. Esse tipo de passo no tempo evita problemas relacionados com equações simultâneas e inversão de matrizes. 3.3. Antena Monopolo Cilíndrica A antena monopolo é empregada em diversos seguimentos como: celulares, carros, rádios e etc. A Fig. 4 apresenta a geometria através de um plano-imagem a partir de uma linha de transmissão coaxial. Todos os condutores são considerados perfeitos. Para obter melhores resultados, foi utilizado o método FDTD em coordenadas cilíndricas devido à geometria do problema. Os campos eletromagnéticos são independentes da coordenada cilíndrica φ, e as equações de Maxwell podem ser expressa como dois conjuntos independentes: Um que envolve somente as componentes Er, Ez, Hφ, modo TM; e um que envolve somente as componentes Eφ, Hr, Hz, modo TE. Como a excitação da antena é feita através de uma linha coaxial, somente os modos TM rotacionalmente simétricos serão excitados, dessa forma esse modo é utilizado em nossa análise.

Figura 4. Geometria da antena monopolo cilíndrica alimentada através de um plano-imagem,

por uma linha de transmissão coaxial.

As equações de Maxwell, para o modo TM, na forma discreta e escritas em coordenadas cilíndricas, são dadas pelas Eq. (7), (8) e (9):

( ) ( )0.5 0.5

0 0

, , ( , ) ( 1, ) ( , 1) (n n n n n nz z r r

t t , ) ,H i j H i j E i j E i j E i j E i jr zφ φ µ µ

+ + ∆ ∆⎡ ⎤ ⎡= + − − − + −⎣ ⎦ ⎣∆ ∆⎤⎦ (7)

Page 9: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

( ) ( ) ( ) ( )1 0.5 0.5

0

, , , , 1 , n n n nr r

tE i j E i j H i j H i jz φ φε

+ + +∆ ⎡= − − −⎣∆⎤⎦ (8)

( ) ( ) ( ) ( )1 0.51

0 0.5

1, , 1, , . n n n nz z i i

i

tE i j E i j r H i j r H i jr r φ φε

+ ++

+

0.5+∆ ⎡= − + −⎣∆⎤⎦ (9)

Os parâmetros que descrevem a antena monopolo são: a altura h e os raios a e b dos condutores da linha coaxial. A antena é caracterizada pelo tempo aτ =h/c, que é o tempo necessário para a luz percorrer o comprimento da antena. Na região de análise usou-se uma malha uniforme bidimensional de 1200x1200, com r∆ = z∆ =h/250 e ∆t = h/(500.c) . O monopolo cilíndrico foi excitado por um pulso gaussiano de 1V. O ponto de excitação foi a seção transversal B-B’ localizado na linha de alimentação, conforme pode ser observado na Figura 4. Nessa seção transversal o campo elétrico incidente é dado pela Eq. (10).

( ) ( )

ln

ii V tE t

b ra

=⎛ ⎞⎜ ⎟⎝ ⎠

(10)

onde

2

2( ) exp2

io

p

tV t Vτ

⎛ ⎞−= ⎜ ⎟⎜ ⎟

⎝ ⎠ (11)

Para limitar o domínio computacional usou-se como condição de contorno absorvente (ABC) Mur de 1a ordem (Taflove, 1995), aplicada sobre a superfície tracejada S, conforme mostrada na Fig. 4. 4. ESTUDO DE CASO 4.1. A Grade Foram selecionadas 4 estações do Laboratório de Planejamento de Redes de Alto Desempenho (LPRAD) e 2 do Laboratório de Análise Numérica em Eletromagnetismo (LANE), ambos laboratórios do Programa de Pós-Graduação em Engenharia Elétrica da Universidade Federal do Pará (PPGEE -UFPA), para a implantação de um ambiente InteGrade para execução dos testes de desempenho. Quatro das estações escolhidas são de ótima qualidade, entretanto também foram adicionadas duas máquinas de capacidade bem inferior, como forma de compor uma ambiente de grade heterogêneo e capaz de aproveitar estas estações defasadas. Como as redes do LPRAD e do LANE são separadas, como pode ser observado na Fig. 5, a característica de se utilizar estações em diferentes redes, enfrentando tráfego interno das redes e mais os roteamentos, faz-se presente. A rede principal, onde o LPRAD está, possui mais de 120 estações concorrendo pelo barramento e a rede privada do LANE possui mais 10 estações, além do cluster Amazônia. Todas as redes são do tipo Fast-Ethernet e chaveadas por switchs.

Page 10: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

Figura 5 - Estações que compõe a grade LPRAD-LANE Para aumentar a complexidade, uma das estações do LPRAD que constitui a grade foi colocada dentro de uma sub-rede do laboratório. A Tabela 2 relaciona as estações da grade. A estação escolhida para ser o controlador GRM da grade foi a karmacode. Todas as estações da grade, incluindo a própria karmacode, são nós com o módulo LRM ativado. 4.2. A Aplicação

Em (Araújo, 2006), uma aplicação paralela em C/MPI para simular o comportamento de antenas monopolo utilizando o método FDTD executando em um cluster é largamente testada. A implementação da aplicação paralela foi feita a partir de uma aplicação seqüencial para simulação de antenas monopolo que possuía dimensão de 1200x1200 elementos formados pela intercalação dos campos elétrico e magnético. Entretanto, em uma implementação paralela, esse domínio deve ser dividido em subdomínios para serem processados em diferentes estações. Tabela 2: Estações selecionadas para compor a grade. Latência relativa a estação karmacode.

Nome IP SO Processador Memória Localização Latência

karmacode 10.57.1.19 Ubuntu 5.10 Athlon XP 2.6+ 384 MB LPRAD 0.040 ms

blackhalo 10.57.1.132

Fedora Core3 Athlon XP 2.6+ 512 MB LPRAD 0.100 ms

rosenrot 10.57.1.75 Fedora Core 3 Pentium 4 2.66 GHz 512 MB LPRAD 0.110 ms

mutter 10.57.3.220

Fedora Core 3 Athlon 900 MHz 128 MB LPRAD 2 0.230 ms

oceanborn 10.0.0.9 Slackware 10.1

Pentium 3 900 MHz 256 MB LANE 0.330 ms

echoes 10.0.0.7 Slackware 10.1

Athlon XP 2.0+ 512 MB LANE 0.330 ms

Para executar em 6 máquinas, o domínio foi dividido em 6 subdomínios de 600x400, como visto na Fig. 6.

Page 11: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

Figura 6 - Divisão do FDTD para o Monopolo de 1200x1200 células em 6 subdomínios A divisão em subdomínios não é o final do desenvolvimento, uma vez que as células das fronteiras possuem relações: o valor do primeiro campo elétrico da primeira célula de um subdomínio é calculado na última célula do subdomínio anterior. Similarmente, o campo magnético calculado na primeira célula é desconhecido pela última célula do subdomínio anterior. A Fig. 7 demonstra como esses dois dados devem ser repassados através de mensagens trocadas entre esses processos.

Figura 7 - Troca de mensagens entre células

Entretanto, as analises realizadas neste trabalho são baseadas em uma implementação C/BSP, baseada em BSMP (troca de mensagens), a biblioteca de computação paralela suportada neste ambiente de grade, com seus superpassos e barreiras de sincronização, e em duas versões: para duas e para quatro máquinas. Quanto às duas versões, destaca-se o problema encontrado na implementação da versão para quatro máquinas, onde, em determinado superpasso, uma mesma estação recebe mensagens de duas outras estações. Como nas mensagens enviadas na biblioteca BSP não determinam à origem da mesma, a estação receptora é incapaz de realizar o tratamento diferenciado a estas mensagens. Objetivando o determinismo no recebimento de mensagens, uma estrutura de dupla sincronização fez-se necessária, com cada mensagem sendo esperada em um momento preestabelecido. Como esta solução requer o dobro de sincronizações globais em relação a versão de duas máquinas, é esperada uma redução significativa no desempenho da aplicação. 5. ANALISE DE RESULTADOS Buscando informações práticas, baseadas na execução de um caso real, uma série de testes foram realizados na grade descrita anteriormente. Para se obterem quadros comparativos válidos, o experimento foi repetido pelo menos 30 vezes para cada situação, sendo assim, os valores utilizados ao longo desta seção representam médias. Como as

Page 12: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

estações utilizadas na grade são estações de usuários, a disponibilidade de recursos depende diretamente do nível de utilização delas. Dessa forma, os testes foram realizados em dois momentos distintos: em uma manhã de dia de semana com alta utilização dos recursos e em uma tarde de sábado, onde todas as máquinas estavam ociosas. Assim, busca-se verificar a eficácia da grade de uma forma geral. 5.1. Tempo de Resposta

Certamente o mais simples dos testes propostos, simplesmente as aplicações foram executadas diversas vezes e seu desempenho médio registrado e apresentado na Fig. 8.

Tempo em segundos

0

50

100

150

200

250

300

350

400

450

500

550

600

Tempo de Resposta

Seqüencial

Grade 2MGrade 4M

Figura 8 - Tempo de resposta dos experimentos na Grade

Entretanto, já neste teste pode-se observar uma surpresa: o tempo de resposta de 2 máquinas é inferior ao tempo para 4 máquinas. Pode-se encarar como surpresa considerando que em (Araújo, 2006), a versão par 4 máquinas é cerca de 30% mais rápida.

O resultado obtido com a utilização da Grade Computacional tem boa concordância com o resultado obtido por (Maloney, 1990), com a diferença de que neste, é calculado a voltagem refletida, enquanto que na Fig. 9 tem-se a voltagem incidente mais a voltagem refletida (voltagem total). A voltagem refletida pode ser facilmente obtida subtraindo a voltagem total da voltagem incidente.

0 2 4 6 8 10 12 14 16 18 20

1.11.0

0.9

0.8

0.7

0.6

0.5

0.4

0.30.2

0.1

0.0

-0.1

-0.2

Volta

ge (V

)

t/τa

Figura 9 - Voltagem na linha coaxial para uma antena monopolo cilíndrica excitada por um pulso gaussiano de 1 V.

Page 13: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

5.2. Speed Up Sendo a principal métrica para comparação de desempenho em computação paralela, o speed up é aqui utilizado para avaliar o desempenho já verificado no cluster, com as obtidas na grade. É importante destacar que um comparativo direto das duas arquiteturas em tempo de resposta não seria uma abordagem justa, considerando que existem diversas diferenças dentre os dois ambientes implantados: capacidade de processamento das estações, linguagem de programação (C x Fortran) e biblioteca paralela (BSP x MPI). Em uma oportunidade em que essas diferenças sejam eliminadas, um comparativo direto pode ser estabelecido. Dessa forma, o comparativo por speed up na Fig. 10, visa testar a escalabilidade de cada solução (considerando também os fatores biblioteca e linguagem). O speed up foi calculado considerando o caso seqüencial de cada problema, executado em sua própria arquitetura. Considerando a construção das duas aplicações, as diferenças entre os ambientes implantados e os resultados observados do cluster no trabalho de (Araújo, 2003), pode-se concluir que embora a aplicação possa obter um maior desempenho com 4 (e até mais) estações, o desenvolvimento com dupla sincronização global nos pontos de troca de mensagens da aplicação BSP para a grade retarda o desempenho da aplicação e se torna um grande obstáculo na escalabilidade da aplicação. Outra importante informação deste teste é o ótimo desempenho da grade quando paralelizada em 2 estações. O ganho obtido foi muito próximo de quando executado em um cluster, tendo seu desempenho reduzido por concorrer ao processador com o usuário e nas mensagens através de uma rede de tráfego considerável.

2 Máquinas 4 Máquinas

0

0,25

0,5

0,75

1

1,25

1,5

1,75

2

2,25

2,5

2,75

Speed Up

ClusterGrade

Figura 10 - Comparativos de speedup: Grade x Cluster

5.3. Utilização da CPU

Uma maneira de analisar o desempenho da aplicação e a limitação imposta pela dupla

barreira de sincronização, é verificar a utilização de CPU destas aplicações, mostrado na Fig. 11. Uma vez que a aplicação é do tipo CPU-bound e a troca de informações é realizada através de mensagens somente ao final de cada rodada de processamento, quanto maior for a redução da utilização, maior é o tempo perdido em momentos de troca de mensagens e sincronização de processos, claramente o problema do algoritmo para 4 máquinas.

Page 14: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

Utilização da CPU

Seqüêncial2 Máquinas4 Máquinas

Figura 11 - Utilização média da CPU pelo nós da Grade 6. CONSIDERAÇÕES FINAIS A capacidade de acompanhar o constante desenvolvimento das arquiteturas enquanto reaproveitamento de estações consideradas defasadas e o compartilhamento e aumento da utilização de recursos em escala global são fatores decisivos nos investimentos da computação em grade, que cada vez mais avança para auxiliar diferentes áreas do conhecimento humano. Ainda que precise conter a euforia exagerada de entusiastas ávidos por anunciar a mais nova solução definitiva na computação, a arquitetura em grade demonstra sim um enorme potencial, cujos limites ainda não estão devidamente mapeados. Por outro lado, no presente, a computação em grade ainda não dispõe de ambientes poderosos e que sejam de simples implantação e fácil utilização. Embora o estudo de caso em quatro máquinas já tenha revelado uma queda de desempenho, percebe-se que não se trata de um problema característico de grades, e sim uma limitação da biblioteca de computação paralela implementada. 7. TRABALHOS FUTUROS No momento, o principal foco de trabalho é a redução da quantidade de sincronizações nos casos onde uma mesma estação recebe mensagens de múltiplos remetentes no mesmo superpasso, causa da perda de desempenho no estudo de caso apresentado. A solução, em desenvolvimento, insere o dado do remetente da mensagem junto ao campo dos dados na mensagem BSP. Além disso, comparativos mais fortes entre os resultados obtidos em clusters e em grades devem ser analisados, mas para isso um ambiente especial deve ser elaborado. Todos os testes devem ser realizados com o menor número de diferenças possíveis, em especial utilizando o mesmo parque computacional e mesma biblioteca de computação paralela em ambas as implementações Por fim, as antenas monopolo são apenas um das centenas de problemas computacionais em eletromagnetismo que requerem uma quantidade significativa de poder computacional e as grades são um grande veículo para obtenção de tais recursos. Agradecimentos Este trabalho foi parcialmente financiado pelo CNPq e pela FIDESA.

Page 15: UTILIZANDO SISTEMAS DE COMPUTAÇÃO EM GRADE … · antenas, de tal forma que o estudo da simulação de antenas e da propagação de ondas eletromagnéticas é de fundamental importância

REFERÊNCIAS Araújo, J.S.; Sobrinho, C.L.S.S. et al. Analysis of Monopole Antenna by FDTD Method

Using Beowulf Cluster. In 17th International Conference on Applied Electromagnetics Communications. Conference Proceedings ICECom 2003, pp. 437-440, 2003

Araújo, J.S; Estudo Comparativo de Códigos Paralelos em Fortran, C e Java na Análise de

uma Antena Monopolo Utilizando Técnica Numérica de FDTD. Revista Principia, ISSN 1517-0306, no 13, Maio, 2006.

Goldchleger, A. 2004. InteGrade: a Middleware System for Opportunistic Grid Computing.

Master Thesis - Department of Computer Science - University of São Paulo. Hill, J., McColl, B. et al. 1998. BSPlib: The BSP programming library. In Parallel

Computing, vol. 24, no. 14, pp. 1947-1980. Kon, F., Goldchleger, A., et al. 2004. InteGrade: Object-Oriented Grid Middleware

Leveraging Idle Computing Power of Desktop Machines. In Concurrency and tComputation: Practice & Experience, vol. 16, pp. 449-459.

Lampson, B. 1983. Hints for computer system design. In Proceedings of the Ninth ACM

Symposium on Operating Systems Principles, pp. 33-48. Maloney, J. G. S. Smith, and W. R. Scott, Jr., “ Accurate computation of the radiation from

simple antennas using the finite-difference time-domain method,” IEEE Trans. Antennas and Proparation, Vol.38, 1990, pp.1059-1068

Taflove, A., Computational Electrodynamics: The Finite Difference Time Domain Method,

Boston, Artech House, 1995. Taflove, A. and Umashankar, K.R., “Solution of complex electromagnetic penetration and

scattering problem in unbound regions”, in A.J. Kalinowski (ed.), Computational Methods for Infinite Domain Media-structure Interaction. Washington, DC: ASME, vol. 46, 1981, pp. 83-113.

Thom, A. and Apelt, C.J., “Field Computations in Engineering and Physics”. London: D.

Van Nostrand, 1961, p.v.

Valiant, L. 1990. A bridging model for parallel computation. In Communications of the ACM 33. vol. 8, pp. 103-111.

Vinoski, S. 1997. CORBA: integrating diverse applications within distributed heterogeneous

environments. In Communications Magazine, IEEE, vol 35, n. 2, pp. 46-55. Yee, K.S., “Numerical Solution of Inicial Boundary Value Problems Involving Maxwell’s

Equations in Isotropic Media”, IEEE Trans. Antennas and Propagation, vol. AP-14, no. 5, pp. 302-307, May 1996.