Professional Documents
Culture Documents
ABSTRACT --- Simulation of multiple scenarios on hydraulic models, such as EPANET, demands
great computational processing power. In order to reduce this processing time, an attractive
alternative are Computational Grids, a new approach to execute parallel applications. The main
advantage of Grids is the possibility to use a great number of remote computational resources at a
low cost. On the other hand, Grid machines present heterogeneous operating systems and
processing power. This paper presents a tool for easily executing EPANET in both Windows and
Linux operating systems over a computational grid. A 94% reduction in the processing time was
achieved when performing 10000 EPANET simulations over the OurGrid computational grid, when
compared to the execution on a single processor desktop computer.
Universidade Federal de Campina Grande, Unidade Acadmica de Engenharia Civil, Caixa Postal 505, Campina Grande, PB, 58.100-970. Tel:
(+55) 83 3310-1157; e-mail galvao@dec.ufcg.edu.br.
2
Universidade Federal de Campina Grande, Unidade Acadmica de Sistemas e Computao, Laboratrio de Sistemas Distribudos. Tel: (+55) 83
3310-1365 Ramal 23; e-mail marcel@dsc.ufcg.edu.br; erica@lsd.ufcg.edu.br; ivonaldo@lsd.ufcg.edu.br.
VIII Simpsio de Recursos Hdricos do Nordeste
1 INTRODUO
Diversos problemas envolvendo a anlise de redes de abastecimento de gua exigem a
simulao intensiva de cenrios diferentes, quer sejam cenrios de operao, no caso de o objetivo
ser otimizar a operao desses sistemas, que sejam cenrios de projeto, visando obter uma
alternativa de projeto que atenda aos requisitos de maneira eficiente e econmica. Para essa tarefa,
geralmente so utilizados modelos de simulao hidrulica, nos quais, quando dinmicos, variam as
grandezas hidrulicas ao longo do tempo, em funo de variaes temporais dos consumos de gua
nos ns da rede (Gomes, 2004).
O EPANET (Rossman, 2000) um modelo de simulao hidrulica de sistemas pressurizados
de redes de distribuio de gua que fornece, durante um determinado perodo de tempo, os valores
de vazo nos dutos, presso nos ns, nveis de gua nos reservatrios, custo de energia do
bombeamento, e os parmetros de qualidade da gua em toda a rede de distribuio. Foi
desenvolvido pela Agncia de Proteo Ambiental dos Estados Unidos (U.S. Environmental
Protection Agency EPA) e, por ser um programa de domnio pblico e sua qualidade ter sido
atestada em muitos trabalhos, um dos modelos mais utilizados para simulao hidrulica em
muitos pases.
Contudo, o EPANET, assim como os demais modelos para anlise de sistemas de escoamento
de gua, demanda considervel capacidade de processamento computacional quando utilizado como
suporte a algoritmos que exigem a execuo de mltiplas simulaes medida que os dados so
iterativamente modificados, como os algoritmos de otimizao e de calibrao, por exemplo. Esses
algoritmos demandam a simulao de inmeros cenrios da rede, e, s vezes, esto associados a
restries de tempo para fornecimento da resposta. Desse modo, a economia de tempo obtida com a
simulao simultnea de diversos cenrios possibilita avaliar um maior nmero deles no tempo
disponvel ou reduzir o tempo requerido para encontrar as solues para o problema.
A paralelizao das simulaes hidrulicas pode ser obtida com a implantao de estruturas
convencionais de alto desempenho (supercomputadores ou clusters computacionais), geralmente
associadas a custos no compatveis com a maioria das empresas concessionrias de servios de
abastecimento de gua, rgos reguladores governamentais, empresas de projeto e consultoria e
grupos de pesquisa em universidades. Uma alternativa implantao de clusters a utilizao de
grades computacionais, constitudas de estruturas de processamento paralelo que utilizam os
recursos computacionais existentes na prpria instituio ou em outros stios que autorizem o
processo.
(2006), por exemplo, apresenta uma verso modificada do toolkit EPANET, permitindo a sua
execuo em sistemas operacionais Linux.
2.2 Grades computacionais
2.2.1 Conceito
Grades computacionais so uma nova plataforma para execuo de aplicaes paralelas que
apresentam como principal atrativo em relao s alternativas tradicionais a possibilidade de alocar
uma enorme quantidade de recursos a uma aplicao paralela (e.g., milhares de computadores
conectados via Internet) e faz-lo a um custo muito menor (Cirne, 2002).
De um modo geral, as grades computacionais se diferem de outras estruturas de
processamento paralelo por serem mais distribudas, diversas e complexas. O Quadro 1 apresenta as
principais caractersticas que diferenciam as grades dos clusters computacionais, uma soluo
tradicionalmente adotada para computao de alto desempenho.
Quadro 1 Grades versus clusters computacionais (Galvo et al., 2004)
Grades
Mquinas heterogneas
Clusters
Mquinas homogneas
(confinados
em
disponvel para uso, em que os laboratrios doam seus recursos computacionais para a grade
quando eles esto localmente ociosos e obtm recursos remotos da grade quando necessrio.
Atualmente o OurGrid suporta apenas aplicaes do tipo Bag-of-Tasks (BoT), as quais so
aplicaes paralelas cujas tarefas so independentes, podendo ser executadas em qualquer ordem.
Esse tipo de aplicao muito comum na rea de anlise de redes de abastecimento de gua, onde
cada tarefa geralmente definida como a simulao de um cenrio especfico (ou um conjunto de
cenrios) da rede.
2.2.2 A soluo OurGrid
A soluo OurGrid constituda de trs componentes principais: MyGrid, Peers e User
Agents. MyGrid o componente que controla a execuo da aplicao, contm todos os dados de
entrada e coleta os resultados obtidos em cada mquina (grid machine) que executa as aplicaes.
Deve ser instalado em uma mquina com sistema operacional Linux, a qual denominada de home
machine.
Peer o componente responsvel por gerenciar as mquinas pertencentes a um mesmo
domnio administrativo e detectar as mquinas remotas que possam ser utilizadas pelos usurios
locais, ou seja, de responsabilidade dos Peers prover as grid machines utilizadas na execuo das
aplicaes. A mquina na qual o Peer instalado denominada Peer Machine, e deve possuir o
sistema operacional Linux instalado.
O User Agent (Swam) o componente do OurGrid executado em cada grid machine para a
qual as aplicaes foram enviadas, e pode ser executado tanto em plataforma Linux quanto
Windows. A Figura 1 ilustra a interao entre os componentes do OurGrid, cujo exemplo
constitudo de uma comunidade de trs Peers.
Os componentes da verso 3.3 do OurGrid esto disponveis para download no site oficial do
sistema, com descrio detalhada dos requerimentos necessrios e procedimentos para instalao e
utilizao do sistema no Quick Start Guide - OurGrid 3.3 (2006) e na seo 3 do OurGrid 3.3
Online Manual (2006). No Anexo deste artigo esto resumidos esses requerimentos para cada
mquina que ir compor a grade, bem como os procedimentos necessrios para instalao e
utilizao de cada componente do OurGrid.
Os usurios que no desejarem criar um novo Peer, ou no dispuserem de mais mquinas para
inserir na comunidade, podem ignorar as etapas de instalao e configurao do Peer, e utilizarem o
peer pblico disponibilizado pelo Laboratrio de Sistemas Distribudos (LSD) da Universidade
VIII Simpsio de Recursos Hdricos do Nordeste
Federal de Campina Grande (UFCG). necessrio apenas, neste caso, instalar e executar o Mygrid
em uma nica mquina, conforme descrito no Anexo.
Figura 2 Estado das rplicas no MyGrid (OurGrid 3.3 Online Manual, 2006)
VIII Simpsio de Recursos Hdricos do Nordeste
Quando uma mquina disponibilizada para executar a rplica, a mesma assume o estado
Running,
Failed.
caso alguma falha seja detectada durante a execuo, a rplica ser classificada como
O estado Finished indica que a rplica foi executada com sucesso, e cada task ir conter
apenas uma rplica com esse estado, ou seja, quando qualquer rplica de uma task atingir esse
estado, todas as demais rplicas da mesma task tero sua execues abortadas (estado Aborted),
sendo imediatamente liberadas para execuo de outra task. Finalmente, o estado Canceled apenas
ocorre quando o usurio cancela a aplicao em execuo.
2.3 Paralelizao do EPANET utilizando o MyGrid
A utilizao de grades computacionais acrescenta preocupaes para o desenvolvimento do
software e uma dessas preocupaes a heterogeneidade de sistemas operacionais dos diversos
recursos da grade computacional. O sistema de grades computacionais OurGrid, por exemplo,
apesar de requerer que as mquinas referentes peer machine e home machine operem com
sistema operacional Linux, enviam suas tarefas para diversas grid machines, as quais podem
execut-las tanto com o sistema operacional Linux quanto com Windows.
Mesmo com verses do toolkit EPANET disponveis para os sistemas operacionais Windows
e Linux, o problema de recompilar o cdigo que utiliza o toolkit para os dois sistemas operacionais
continua prejudicando o processo de desenvolvimento do software. Com o objetivo de remover esta
preocupao foi desenvolvido um porte da API (Application Program Interface) do toolkit
EPANET
para
Java,
utilizando
uma
camada
JNI
(Java
Native
Interface,
Uma facilidade ainda maior para utilizao da grade computacional Ourgrid pode ser obtida
utilizando
uma
outra
ferramenta
desenvolvida,
GridFaith,
disponvel
em
http://
Cada simulao foi definida para um perodo de 120 horas, com intervalos de tempo de 1
hora. Em um computador com boa capacidade de processamento (1.024 RAM, HD 160GB,
INTEL PENTIUM 4 HT, CPU 3.00GHz, Sistema operacional Linux Debian Sarge) o tempo de
simulao para uma execuo de aproximadamente 20 segundos. Logo, estima-se que um
algoritmo que requeira 10.000 simulaes no EPANET de redes com caractersticas semelhantes
utilizada e com computador de desempenho equivalente, requeira aproximadamente 55 horas para
fornecer os resultados de todas as simulaes.
Os experimentos foram conduzidos utilizando a verso 3.3 do OurGrid. Quando da realizao
dos experimentos, a comunidade OurGrid utilizando esta verso estava constituda por 8 peers,
totalizando aproximadamente 120 mquinas na grade. A aplicao foi submetida trs vezes grade,
para que pudesse ser observada a variabilidade do nmero de mquinas recebidas pela comunidade
em cada execuo e do tempo requerido para finalizar a aplicao.
A Tabela 1 mostra um resumo do desempenho obtido com as simulaes na grade
computacional cada vez que a aplicao foi submetida, organizado da seguinte forma: a) Tempo de
execuo: tempo gasto, em minutos, e a reduo percentual obtida ao comparar este tempo com o
necessrio para executar a aplicao em um nico computador local; b) Mquinas utilizadas:
quantidade de mquinas diferentes que foram recebidas da grade ao longo da execuo, e
quantidade de mquinas que finalizaram com sucesso ao menos uma rplica; c) Rplicas:
quantidade de rplicas com estado Finished, Failed e Aborted.
Tabela 1 Resultados dos experimentos
Tempo de execuo
Execuo
Minutos Reduo[%]
Primeira
Segunda
Terceira
210
172
183
93,6
94,8
94,5
Mquinas
utilizadas
Com
Total
sucesso
53
36
71
52
43
22
Rplicas
Finished
Failed
Aborted
Total
10.000
10.000
10.000
116
163
109
48
44
34
10.164
10.207
10.143
10
tempo menor do que a execuo 1, mesmo tendo apresentado um menor nmero de mquinas
utilizadas. Essa variao ocorre principalmente porque o nmero de mquinas utilizadas varia
durante a execuo, desse modo, a primeira execuo que utilizou 36 mquinas com sucesso, no
necessariamente utilizou as 36 mquinas simultaneamente, podendo inclusive ter permanecido
longos perodos com um nmero reduzido de mquinas.
Alm disso, a configurao das mquinas disponibilizadas e o Peer a que a mesma pertence
influenciam no tempo de execuo de cada rplica, uma vez que, mquinas com melhor capacidade
de processamento iro executar a simulao em menos tempo, e por outro lado, o tempo de envio da
aplicao da home machine para as grid machines depende da velocidade de conexo entre os
Peers.
4 CONCLUSES
A integrao do EPANET ao ambiente de grades computacionais possibilita uma substancial
economia de tempo de processamento em aplicaes que demandam grande nmero de simulaes
e especialmente til quando no se dispe de recursos suficientes para manter uma estrutura de
alto desempenho dedicada execuo da aplicao. Espera-se que, no futuro, a comunidade de
usurios EPANET passe a disponibilizar verses de suas aplicaes que sejam executadas no
ambiente de grades computacionais.
AGRADECIMENTOS
Os autores so gratos s equipes dos projetos SmartPumping, SegHidro, OurGrid e EEG, da
UFCG, que apoiaram a execuo deste trabalho, em particular a rick Moreno M. Almeida, Thiago
E. Silva e William Voorsluys. O SmartPumping financiado pela FINEP/CT-PETRO e
PETROBRAS, o SegHidro pela FINEP/CT-INFO, o OurGrid desenvolvido pela UFCG em
parceria com a HP Brasil e o EEG tem apoio da HP Philanthropy & Education. Apoio financeiro
tambm foi recebido do CNPq.
BIBLIOGRAFIA
ALENCAR NETO, M. (2003). Otimizao de redes de distribuio de gua por algoritmos
genticos. Dissertao (Mestrado em Engenharia Civil) Universidade Federal do Cear, Fortaleza,
2003.
BARBOSA, J.; SANTANA, C.; GALVO, C. (2003). Descrio de parte do sistema adutor da
cidade de Campina Grande, Paraba, Brasil. UFCG.
CARRIJO, I. (2004). Extrao de regras operacionais timas de sistemas de distribuio de gua
atravs de algoritmos genticos multiobjetivo e aprendizado de mquina. Tese (Doutorado em
Hidrulica e Saneamento) Escola de Engenharia de So Carlos, Universidade de So Paulo, So
Carlos.
VIII Simpsio de Recursos Hdricos do Nordeste
11
12
Conectividade
Linguagem de
Programao
Outras
ferramentas
Home Machine
Peer Machine
GNU/LINUX
GNU/LINUX
Aproximadamente 6Mb
para instalao mais
espao para os arquivos
de log.
Conexo com a peer
machine atravs da
porta TCP
(Transmissiom Control
Protocol).
Aproximadamente 3Mb
para instalao mais
espao para os arquivos
de log do peer.
Endereo IP (Internet
Protocol) pblico e
uma porta TCP aberta
para o mundo.
Grid Machine
GNU/LINUX e
WINDOWS
Aproximadamente 400
KB para instalao e
espao suficiente para
executar as aplicaes.
Conexo com a peer
machine atravs da
porta TCP.
tar/gzip/gunzip
13
peer-3.3.tar.gz
Execute: tar zxvf peer-3.3.tar.gz
cd peer/
Configure
Inicie
na
comunidade
do
OurGrid
no
site
Adicione e
configure as
mquinas
gumdefaults:
site: epa.com
type: ualinux
port: 3050
os: linux
remExec : ssh -x $machine $command
copyFrom : scp $machine:$remotefile $localfile
copyTo : scp $localfile $machine:$remotefile
port : 1234
gum:
name: maquina1.EPA.com
gum:
name: maquina2.EPA.com
gum:
name: maquina2.EPA.com
Execute o arqivo sdf criado e verifique o status das mquinas adicionadas (para
o exemplo acima):
bin/peer setgums epa.sdf
bin/peer status
14
Inicie
mygrid-3.3.tar.gz
Execute: tar zxvf mygrid-3.3.tar.gz
cd mygrid/
Configure
peer:
name: public.lsd.ufcg.edu.br
port: 3083
15