This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Designing a Multicore and Multiprocessor Individual-Based Simulation Engine
January/February 2012 (vol. 32 no. 1)
pp. 54-65
Fabrice Harrouet, National Engineering School of Brest

This article describes the design of an individual-based simulation engine that can harness the full potential of modern general-purpose multicore and multiprocessor computers. This design aims to enable interactive simulations of highly dynamic multiagent systems in which entities can move, change, appear, disappear, and interact with one another and the user at any time.

1. L. Gaubert et al., "A First Mathematical Model of Brood Sorting by Ants: Functional Self-Organization without Swarm-Intelligence," Ecological Complexity, vol. 4, no. 4, 2007, pp. 234-241.
2. G. Desmeulles et al., "In Virtuo Experiments Based on the Multi-interaction System Framework: The RéISCOPMeta-Model," Computer Modeling in Eng. & Sciences, vol. 47, no. 3, 2009, pp. 299-329.
3. M. Combes et al., "Multiscale Multiagent Architecture Validation by Virtual Instruments in Molecular Dynamics Experiments," Proc. Int'l Conf. Computational Science (ICCS 10), Elsevier, 2010, pp. 761-770.
4. M. Chau et al., "MPI Implementation of Parallel Subdomain Methods for Linear and Nonlinear Convection–Diffusion Problems," J. Parallel and Distributed Computing, vol. 67, no. 5, 2007, pp. 581-591.
5. J. Liu et al., "Distributed Individual-Based Simulation," Proc. 15th Int'l Euro-Par Conf. Parallel Processing (Euro-Par 09), LNCS 5704, Springer, 2009, pp. 590-601.
6. J. Reinders, Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism, O'Reilly Media, 2007.
7. F. Massaioli, F. Castiglione, and M. Bernaschi, "OpenMP Parallelization of Agent-Based Models," Parallel Computing, vol. 31, nos. 10-12, 2005, pp. 1066-1081.
8. H. Gao and W.H. Hesselink, "A General Lock-Free Algorithm Using Compare-and-Swap," J. Information and Computation, vol. 205, no. 2, 2007, pp. 225-241.
9. G. Cong and D.A. Bader, "Designing Irregular Parallel Algorithms with Mutual Exclusion and Lock-Free Protocols," J. Parallel and Distributed Computing, vol. 66, no. 6, 2006, pp. 854-866.
10. M. Chynoweth and M.R. Lee, "Implementing Scalable Atomic Locks for Multi-core Intel EM64T and IA32 Architectures,"8 Nov. 2009; http://software.intel.com/en-us/articles implementing-scalable-atomic- locks-for-multi-core-intel-em64t-and-ia32- architectures.
11. E. Raman, R. Hundt, and S. Mannarswamy, "Structure Layout Optimization for Multithreaded Programs," Proc. Int'l Symp. Code Generation and Optimization (CGO 07), IEEE CS Press, 2007, pp. 271-282.
12. D. Tiwari et al., "MMT: Exploiting Fine-Grained Parallelism in Dynamic Memory Management," Proc. IEEE Int'l Parallel & Distributed Processing Symp. (IPDPS 10), IEEE CS Press, 2010, doi:10.1109/IPDPS. 2010.5470428.
13. C.W. Reynolds, "Flocks, Herds and Schools: A Distributed Behavioral Model," ACM SIGGRAPH Computer Graphics, vol. 21, no. 4, 1987, pp. 25-34.

Index Terms:
Concurrent Programming, multicore, multiprocessor, simulation engine.
Citation:
Fabrice Harrouet, "Designing a Multicore and Multiprocessor Individual-Based Simulation Engine," IEEE Micro, vol. 32, no. 1, pp. 54-65, Jan.-Feb. 2012, doi:10.1109/MM.2011.80
Usage of this product signifies your acceptance of the Terms of Use.