Este estudo permitiu entender como varia o desempenho e a escalabilidade das plataformas TerraME HPA, Repast HPC e D-MASON versões 1.5 e 2.1 com diferentes cargas de trabalho. No entanto, não permite uma análise comparativa entre as plataformas porque D-MASON e Repast HPC foram avaliadas com modelos diferentes. Além disto, enquanto elas fornecem uma solução para arquiteturas de hardware de memória distribuída, o TerraME HPA fornece uma solução para arquiteturas de hardware de memória compartilhada. Atualmente, apenas a plataforma D-MASON fornece uma solução híbrida para o problema. No entanto, os autores consideram que esta é uma necessidade. Infelizmente, eles não encontraram modelos implementados pelas equipes D-MASON que explorassem simultaneamente multiprocessamento e multithreading.
Os resultados dos experimentos realizados comprovam que a abordagem do TerraME HPA é promissora. Ela fornece o suporte necessário à modelagem multiparadigma de alto desempenho e escalou bem nos dois modelos utilizados como benchmarks, até mesmo para as menores instâncias do problema. No D-MASON, o mecanismo de balanceamento de carga introduzido na versão 2.1 diminuiu significativamente os problemas de escalabilidade da versão 1.5. Contudo, a concentração de agentes em uma poucas regiões continua a limitar escalabilidade das simulações. No Repast HPC, a escalabilidade das simulações é limitada pelo custo das comunicações entre processos, através dos protocolos de rede, e pela ausência processamento multithreading.
A Tabela 2 apresenta uma análise comparativa entre as plataformas de alto desempenho dos projetos Repast, MASON e TerraME. As plataformas dividem os modelos em módulos concorrentes de diferentes granularidades, agentes ou funções.
62 Todas utilizam um conjunto de escalonadores de eventos sincronizados por um tick de relógio global. Todas realizam a comunicação lógica entre agentes por meio de troca de mensagens. No entanto, Repast e TerraME permitem que variáveis sejam compartilhadas. Apenas a plataforma MASON possui uma implementação híbrida, capaz de tirar proveito do paralelismo de hardware em plataformas multiprocessador e multicomputador. Repast e TerraME exigem que o modelador explicitamente sincronize os módulos concorrentes, por meio de barreiras globais. Apenas o MASON realiza a sincronização localmente e de forma transparente ao modelador. Repast não explora multithreading, enquanto que MASON e TerraME implementam o mecanismo de bag- of-task para distribuir a carga de trabalho entre diversas threads. Apenas no TerraME os modelos são desenvolvidos em uma linguagem de script de alto nível, nas demais plataformas os modelos são escritos em Java e C++.
Tabela 2. Tabela comparativa das plataforma de modelagem para alto desempenho
MASON Repast TerraME HPA
Paradigma de
Modelagem Multiagente Multiagente Múltiplos Paradigmas
Granularidade
de Tarefas Agente
Chamada de função
(MethodFunctor) Função Lua
Escalonamento Escalonador de eventos discretos + relógio de simulação global Escalonador de eventos discretos + relógio de simulação global Escalonador de eventos discretos + relógio de simulação global
Comunicação Troca de Mensagem
Troca de Mensagem + objetos compartilhados Memória Compartilhada Arquitetura de Hardware Memória distribuída e
compartilhada Memória distribuída
Memória Compartilhada
Sincronização
Local e baseado na sobreposição das áreas de interesse de agentes
vizinhos
Global com barreiras definidas pelo
modelador
Global com barreiras definidas pelo
modelador
Balanceamento
Bag de tarefas customizadas e
Fluxo principal dos processos MPI
Única bag de tarefas de tamanho fixo e
63 alocadas dinamicamente executam os agentes escalonados de forma concorrente executam sequencialmente as chamadas de funções escalonadas automático executa concorrentemente as funções Lua escalonadas Verificação
Flexivel Não Não
Sim, através de anotações
Linguagem de
Modelagem Uso Geral Uso Geral Script
No desenvolvimento dos modelos utilizados nos experimentos, verificou-se que a técnica de anotação confere flexibilidade aos modelos desenvolvidos em TerraME HPA. Ela permite que modeladores gradativamente implementem versões concorrentes dos modelos, com liberdade para definir a estratégia de particionamento do modelo e a granularidade do controle de acesso à variáveis compartilhadas. Ela também permite que o código concorrente seja verificado, corrigido e evoluído sequencialmente, sem qualquer influência de mecanismos para computação multitarefa ou multiprocesso, pois as regras do domínio de aplicação não são misturadas com chamadas à uma API de programação concorrente. Ao isolar as falhas ou melhorias do domínio de aplicação das questões relativas à programação concorrente, esta abordagem facilita o desenvolvimento de modelos ambientais que requerem alto desempenho.
Tanto no MASON quanto na plataforma Repast HPC, o código dos modelos é misturado com chamadas a uma API para programação concorrente e, por isto, não podem ser executados sem a influência dos mecanismos para computação paralela ou distribuídos. Executar o código sem esta influência é diferente de executá-lo utilizando apenas uma única thread ou um único processo. Nestes últimos casos, os mecanismos para escalonamento, sincronização e comunicação estão em funcionamento e podem afetar a simulação, em especial, se contiverem falhas.
O experimento com o modelo TROLL avaliou a abordagem proposta em um problema real, no qual diversas estratégias de particionamento foram implementadas. Apesar do desempenho dos modelos concorrentes depender intimamente da estratégia adotada e parecer conveniente que o modelador seja responsabilizado por esta decisão, a
64 falta de transparência no particionamento do modelo pode ser vista como uma limitação da abordagem utilizada no TerraME HPA. Somente a plataforma MASON realiza o particionamento do modelo de forma completamente transparente.
Trabalhos futuros incluem o desenvolvimento de versões do MOOM e do TerraME HPA para arquiteturas de hadrware de memória distribuída, além de versões para arquiteturas baseadas em GPU (Graphical Processing Unit). Os trabalhos futuros também incluem novos experimentos de análise de desempenho para avaliar comparativamente as plataforma de modelagem ambiental de alto desempenho.
65 4 CONSIDERAÇÕES FINAIS
Este trabalho propõe e avalia uma abordagem para o desenvolvimento de modelos ambientais de alto desempenho, em especial, modelos que se valem de múltiplos paradigmas de modelagem e cujas simulações precisam processar concorrentemente uma quantidade massiva de dados armazenados em uma área de memória compartilhada por diversos processadores.
Esta abordagem tem como meta a escalabilidade das simulações e a flexibilidade dos modelos, permitindo ao modelador melhorar o desempenho das simulações pela simples adição de novos processadores à infraestrutura de hardware e, a qualquer momento durante o processo de modelagem, verificar sequencialmente os modelos concorrentes sem a influência do código para paralelização ou distribuição da carga de trabalho. Para isto, ela utiliza duas técnicas bem conhecidas, mas pouco exploradas por plataformas da modelagem ambiental. A técnica de bag-of-tasks é utilizada para distribuir a carga de trabalho das simulações entre processadores, promovendo a escalabilidade das simulações. A técnica de anotação é utilizada para instrumentação do código sequencial do modelo, resultando em um código concorrente flexível.
Neste trabalho, o middleware MOOM para programação concorrente na linguagem Lua foi desenvolvido e integrado à plataforma de modelagem ambiental TerraME, dando origem à plataforma de modelagem de alto desempenho TerraME HPA (High Performance Architecture). Tanto o MOOM quanto o TerraME HPA foram avaliados em experimentos para análise de desempenho. Estes experimentos demonstraram que a combinação das técnicas de anotação e bag-of-tasks resultou em um ambiente de modelagem flexível e, ao mesmo tempo, escalável. Um ambiente capaz de suavizar o esforço do modelador em fazer a transição da modelo sequencial para o modelo concorrente, permitindo que ele defina a forma de particionamento do modelo e que ele determine a granularidade do controle de acesso a variáveis compartilhadas. Ambos os componentes de software demonstraram-se promissores quando aplicados a estudos de casos reais e quando comparados aos trabalhos correlatos encontrados na literatura.
Entre os trabalhos futuros desta pesquisa estão a implementação de versões distribuídas e híbridas destes componentes de software e a posterior avaliação destas versões em novos experimentos para análise de desempenho.
66 5 REFERÊNCIAS
Aguiar Ana Paula Modeling Land Use Change in the Brazilian Amazon: Exploring Intra-regional Heterogeneity // PhD thesis. In: Remote Sensing Program. - INPE, Sao Jose dos Campos : [s.n.], 2006.
Alioth Benchmarks Game [Online] // The Computer Language Benchmarks Game. - 15
de Outubro de 2013. - 15 de Outubro de 2013. -
http://benchmarksgame.alioth.debian.org/.
Ananth Grama e. Introduction to Parallel Computing [Seção do Livro] // Introduction to Parallel Computing. - [s.l.] : Massachusetts USA, 2003.
Andrews G. R. and Schneider, F. B. Concepts and Notations for Concurrent Programming [Periódico] // ACM Comput. Surv.. - 1983. - pp. 3-43.
Batty M. A generic framework for computational spatial modelling [Seção do Livro] // Agent-based Models of Geographical Systems / A. do livro Heppenstall A., Crooks, A., See, L., Batty, M.. - Dordrecht, NL : Springer, 2012.
Benoit Kauppi Asko and Germain Lua Lanes [Online] // Lua Lanes - multithreading in Lua. - 13 de February de 2007 - 2013. - http://cmr.github.io/lanes/.
Biberstein al, et. Instrumenting annotated programs [Conferência] // Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments. - Chicago, IL, USA : ACM, 2005.
Bo Zhou Suiping Zhou Parallel Simulation of Group Behaviors [Conferência] // Proceedings of the 2004 Winter Simulation COnference. - Singapore : [s.n.], 2004. Broutin E., et.al. Modelling Wireless Networks with the DEVS and Cell-DEVS formalisms [Periódico] // Proceedings of the Winter Simulation Conference (WSC). - 2013.
Câmara G e et.al TerraLib: An Open Source GIS Library for Large-Scale Environmental and Socio-Economic Applications [Conferência]. - [s.l.] : Open Source Approaches in Spatial Data Handling, 2008.
Carneiro T. G. S.,et.al. An extensible toolbox for modeling natureesociety interactions [Periódico] // Environmental Modelling & Software. - 2013. - pp. 104 - 117.
Chatzimparmpas L. ConcurrentLua [Online]. - 2007. - December de 2013. - http://luaforge.net/projects/concurrentlua/.
Chave J. Study of structural, sucessional and spatial patterns in tropical rain forest using troll, a spatially explicit forest model [Periódico] // Ecological Modeling,. - 1999. Cirne W, et.al Running bag-of-tasks applications on computational grids: The mygrid approach [Conferência] // International Conference on Parallel Processing. - 2003. - p. 407.
67 Cordasco G e et.al A Framework for distributing Agent-based simulations [Conferência] // EURO PAR 2011: PARALLEL PROCESSING WORKSHOPS, Lecture Notes in Computer Science. - 2012. - pp. 460 - 470.
Costanza R.,Voinov,A. Landscape Simulation Modeling: A Spatially Explicit [Periódico] // Dynamic Approach, Series: Modeling Dynamic Systems. - 2004.
Couclelis H. From cellular automata to urban models: New principles for model development and implementation [Seção do Livro] // Environment and Planning B- Environment and Planning BPlanning. - 1997.
Craig R. Flocks, herds and schools: A distributed behavioral model [Conferência] // Proceedings of the 14th annual conference on Computer graphics and interactive techniques. - [s.l.] : ACM, 1987. - pp. 24 - 34.
Crooks C. J. E., et.al Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations [Conferência] // Centre for Advanced Spatial Analysis (University College London). - London, UK : [s.n.], 2006. - p. 110.
Deadman P., Robinson, D., et al. Colonist household decisionmaking and landuse change in the Amazon Rainforest: an agent-based simulation." [Periódico] // Environment and Planning B-Planning & Design. - 2004. - pp. 693-709.
Eberlein R.L., Peterson, D.W. Understanding models with Vensim (TM) [Periódico] // European Journal of Operation Research. - 1992. - pp. 216-219.
Filippi J e Bisgambiglia P JDEVS: an implementation of a DEVS based formal framework for environmental modelling [Periódico] // Environmental Modelling and Software. - 2004. - pp. 261 - 274.
Fujimoto R. M. Parallel discrete event simulation [Conferência] // Commun ACM. - 1990. - pp. 30 - 53.
Grama A., et.al. Introduction to Parallel Computing [Seção do Livro] // Introduction to Parallel Computing / A. do livro Ananth Grama e.. - [s.l.] : Massachusetts USA, 2003. Grant M e Suchitra M Rumour and gossip in organisations: a conceptual study [Conferência] // Management Decision. - 2000. - pp. 339 - 346.
Guisasola Ierusalimschy, R. and Tomás Rings [Online] // Rings - Multiple Lua States. - 11 de Junly de 2007. - http://keplerproject.github.io/rings/.
Ierusalimschy R. Programming in Lua [Livro]. - 2013.
Iosup Alexandru and Sonmez, Ozan and Anoep, et.al. The performance of bags-of- tasks in large-scale distributed systems. [Conferência] // Proceedings of the 17th international symposium on High performance distributed computing, HPDC. - Boston, MA, USA : [s.n.], 2008.
68 Jobbágy E., Paruelo, J., Fernández, R., Oesterheld, M., Coutinho, H., Meirelles, M., Altesor, A, Panario, D., Piñeiro, D., Coronel, G., Di Bella, C., Viglizzo, E., Schlichter, T., Maceira, J., Podestá, G., Hoffmann, W., Jackson, R., Epstein, H. Land use change in the Rio de la Plata Basin: Linking biophysical and human factors to understand trends, assess impacts, and support viable strategies for the future [Relatório]. - [s.l.] : Inter-American Institute for Global Change Research (IAI), 2005. Karssenberg D e et.al The PCRaster software and course materials for teaching numerical modelling in the environmental [Conferência] // Transactions in GIS. - 2001. - pp. 99 - 110.
Kauppi A Lua Lanes - multithreading in Lua [Online] // Lua Lanes. - 9 de January de 2007. - http://kotisivu.dnainternet.net/askok/bin/lanes/.
kosfeld Michael rumors and markets [Periódico] // journal of mathematical economics. - 2005. - p. 41.
Lanna J M Efeitos da Dinâmica Sucessional de Florestas Neotropicais Pluviais Sobre sua Estrutura, Composição e Biomassa no Contexto das Mudanças Globais // Efeitos da Dinâmica Sucessional de Florestas Neotropicais Pluviais Sobre sua Estrutura, Composição e Biomassa no Contexto das Mudanças Globais. - Universidade Federal de Ouro Preto : PPEBT - Programa de Pós Graduação em Ecologia de Biomas Tropicais, 2012.
Lisa Alexande, et.al. Future Global and Regional Climate Change [Relatório] : Stockholm, Sweden. - [s.l.] : Intergovernmental Panel on Climate Change, 2013.
Löhr K. Concurrency Annotations for Reusable Software [Periódico] // Communications of the ACM. - 1993.
Lorek Helmut e White Matthew Parallel Bird Flocking Simulation [Conferência] // Parallel Processing for Graphics and Scientific Visualization. - [s.l.] : CiteSeer, 1993. Luke S e et.al MASON: A New Multi-Agent Simulation Toolkit [Periódico] // Simulation. - 2005. - pp. 517-527.
Luke S Multiagent Simulation And the MASON Library [Livro]. - George Mason University : [s.n.], 2011.
Meadows H D Thinking in Systems: A Primer [Seção do Livro] // Thinking in Systems: A Primer. - [s.l.] : Education & Reference, 2008. - 1603580557.
Michelson G. Mouly S. Rumour and gossip in organisations: a conceptual study [Conferência] // Management Decision. - 2000. - pp. 339 - 346.
Moreno Y. e et.al. Dynamics of Rumor Spreading in Complex Networks [Artigo] // Physical Review. - [s.l.] : American Physical Society, 2004.
69 Moura A L. e Ierusalimschy R Revisiting coroutines [Periódico] // ACM Transactions on Programming Languages and Systems. - 2009. - pp. 6:1--6:31.
Moura A. L., et.al. Coroutines in Lua [Periódico] // Journal of Universal Computer Science. - 2010.
Newton Sir Isaac Philosophiæ Naturalis Principia Mathematica [Livro]. - 1687.
North M J e Collier N Repast HPC: A platform for Large-Scale Agent-Based Modeling [Periódico] // Computing Techniques for Complex System Simulation. - 2011.
North M J e et.al The Repast Simphony Development Environment [Conferência] // Proceedings of the Agent 2005 Conference on Generative Social Processes, Models, and Mechanisms. - Argonne National Laboratory and The University of : ANL/DIS, 2005. - pp. 13 - 15.
North M J. e et.al Experiences creating three implementations of the repast agent modeling toolkit [Conferência] // CM Transactions on Modeling and Computer Simulation. - [s.l.] : ACM, 2006. - pp. 1 - 25.
Organization World Health Carta de Ottawa. Primeira Conferência Internacional sobre Promoção da Saúde [Relatório]. - Ottawa : [s.n.], 1986.
Pall M Benchmark Game - Mandelbroat [Online] // The Computer Language
Benchmarks Game - Mandelbroat. - 2011. -
http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=mandelbrot&lang=l ua.
Pall Mike Benchmark Game - Mandelbroat [Online] // The Computer Language
Benchmarks Game - Mandelbroat. - 2011. -
http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=mandelbrot&lang=l ua.
Richmond P e Romano D Agent Based GPU, a Real-time 3D Simulation and Interactive Visualisation Framework for Massive Agent Based Modelling on the GPU [Conferência] // Proceedings of International Workshop on Supervisualisation. - Island, Greece : [s.n.], 2008.
Roberts N., Anderson, D., Deal, R., Garet, M., Shaffer, W. Introduction to Computer Simulation: a System Dynamics Modeling Approach [Relatório]. - Reading, MA : Addison-Wesley, 1983.
Rodriguez Cristina Ururahy and Noemi ALua: An Event-Driven Communication Mechanism for Parallel and Distributed Programming [Conferência] // In Proceedings of ISCA 12th International Conference on Parallel and Distributed Computing Systems. - Fort Lauderdale, USA : [s.n.], 1999. - pp. 108 - 113.
70 Salazar L F e et.al Climate change consequences on the biome distribution in tropical south america [Periódico] // Geophysical Research Letters. - 2007.
Skyrme A Um modelo alternativo para programação concorrente em Lua [Conferência] // Master’s thesis, Pontifícia Universidade Católica do Rio de Janeiro. - Rio de Janeiro : [s.n.], 2007.
Skyrme A, Rodriguez N e Ierusalimschy R Exploring Lua for Concurrent Programming [Conferência] // XII Brazilian Symposium on Programming Languages. - 2008.
Soares B. S., Assuncao, R. M., et al. Modeling the spatial transition probabilities of landscape dynamics in an amazonian colonization frontier [Periódico] // Bioscience. - 2001. - pp. 1059-1067.
Tisue S., Wilensky, U. NetLogo: a Simple Environment for Modeling Complexity [Conferência] // International Conference on Complex System. - Boston : [s.n.], 2004. Tomlin C.D. Geographic Information Systems and Cartographic Modeling [Conferência]. - Englewood Cliffs, NJ : [s.n.], 1990.
Turner B., Skole, D., Sanderson, S., Fischer, G., Fresco, L., Leemans, R Land-use and Land-cover Change (LUCC): Science/Research Plan [Relatório] : HDP Report No. 7. - Stockholm. : IGBP Secretariat, 1995.
Ururahy C e Rodriguez N ALua: An event-driven communication mechanism for parallel and distributed programming [Conferência] // In Parallel and Distributed Computing and Systems. - Fort Lauderdale, Florida : [s.n.], 1999.
Ururahy C e Rodriguez N Programming and coordinating grid environments and applications [Conferência] // Concurrency and Computation: Practice and Experience. - 2004.
Ururahy C, Rodriguez N e Ierusalimschy R ALua: Flexibility for Parallel Programming [Periódico] // Computer Languages, Elsevier Science. - 2002. - pp. 155 - 180.
Vitousek P M, Mooney H A e Lubchenco J and Melillo J M Human domination of Earth's ecosystems. Science [Relatório]. - 1997. - pp. 494-499. - 277.
Von Bertalanffy L. Problems Of Life [Livro]. - New York : Harper and Brothers, 1952.
Von Neumann J. Theory of Self-reproducing Automata [Seção do Livro] // Theory of Self-reproducing Automata. - Illinois : In: Burks, A.W. (Ed.), 1966.
Wainer A G Applying Cell-DEVS Methodology for Modeling the Environment [Periódico] // SIMULATION: Transaction of the Society for Modeling and Simulation International. - 2006. - pp. 635-660.
71 Wooldridge M. J., Jennings, N. R. Intelligent agents: theory and practice [Conferência] // Knowledge Engineering Review. - 1995.
World of Warcraft Lua - WoWWiki - Your guide to the World of Warcraft [Online] // Lua - WoWWiki - Your guide to the World of Warcraft. - 15 de November de 2008. - 29 de Outubro de 2013. - http://www.wowwiki.com/Lua.
Zeigle B P, Kim, T G, Praehofer, H Theory of Modeling and Simulation [Conferência] // Theory of Modeling and Simulation. - Orlando, FL, USA : [s.n.], 2005.