Fabrice HARROUET - The TransProg library
  • TransProg is an individual-based simulation engine which aims to use modern general purpose multicore and multiprocessor computers to their fullest potential.
  • It is dedicated to interactive simulations of highly dynamic multiagent systems where entities can move, change, appear, disappear and interact with each other and the user at any time.
  • Experiments with various computers, operating systems and compilers yield very satisfying results in terms of performance and scalability relating to the number of CPUs used.
  • A dynamic load-balancing mechanism, taking into account the applicative affinity between entities ensures good data locality within cache memories.
  • The following article describes the design of this library:
        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
        url: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5989785&isnumber=6144277
  • The source code will be released under the GNU LGPL license as soon as the definitive version the previous article is published.
Source code: (soon to be made available)
Descriptive article
Preprint