High performance cellular level agent-based simulation with FLAME for the GPU

Driven by the availability of experimental data and ability to simulate a biological scale which is of immediate interest, the cellular scale is fast emerging as an ideal candidate for middle-out modelling. As with 'bottom-up' simulation approaches, cellular level simulations demand a high degree of computational power, which in large-scale simulations can only be achieved through parallel computing. The flexible large-scale agent modelling environment (FLAME) is a template driven framework for agent-based modelling (ABM) on parallel architectures ideally suited to the simulation of cellular systems. It is available for both high performance computing clusters (www.flame.ac.uk) and GPU hardware (www.flamegpu.com) and uses a formal specification technique that acts as a universal modelling format. This not only creates an abstraction from the underlying hardware architectures, but avoids the steep learning curve associated with programming them. In benchmarking tests and simulations of advanced cellular systems, FLAME GPU has reported massive improvement in performance over more traditional ABM frameworks. This allows the time spent in the development and testing stages of modelling to be drastically reduced and creates the possibility of real-time visualisation for simple visual face-validation.

[1]  Hubert Nguyen,et al.  GPU Gems 3 , 2007 .

[2]  Phil McMinn,et al.  An integrated systems biology approach to understanding the rules of keratinocyte colony formation , 2007, Journal of The Royal Society Interface.

[3]  G.E. Moore,et al.  Cramming More Components Onto Integrated Circuits , 1998, Proceedings of the IEEE.

[4]  Bernd Page,et al.  A Discrete Event Simulation Framework for Agent-Based Modelling of Logistic Systems , 2007, GI Jahrestagung.

[5]  Joshua A. Anderson,et al.  General purpose molecular dynamics simulations fully implemented on graphics processing units , 2008, J. Comput. Phys..

[6]  Weiguo Liu,et al.  Accelerating molecular dynamics simulations using Graphics Processing Units with CUDA , 2008, Comput. Phys. Commun..

[7]  R. M. McKeag,et al.  On the Construction of Programs , 1980 .

[8]  Michael Luck,et al.  A Direct Reputation Model for VO Formation , 2005, CEEMAS.

[9]  Nicholas R. Jennings Agent-Oriented Software Engineering , 1999, MAAMAW.

[10]  Michael J. Quinn,et al.  PARALLEL IMPLEMENTATION OF THE SOCIAL FORCES MODEL , 2003 .

[11]  Michael Luck,et al.  Formal Agent Development: Framework to System , 2000, FAABS.

[12]  Dawn C. Walker,et al.  The virtual cellça candidate co-ordinator for ‘middle-out’ modelling of biological systems , 2009 .

[13]  Bernhard Bauer,et al.  Extending UML for agents , 2000 .

[14]  Aviv Regev,et al.  Representation and Simulation of Biochemical Processes Using the pi-Calculus Process Algebra , 2000, Pacific Symposium on Biocomputing.

[15]  Marian Gheorghe,et al.  Communicating Stream X-Machines Systems are no more than X-Machines , 1999, J. Univers. Comput. Sci..

[16]  Roshan M. D'Souza,et al.  Data-parallel algorithms for large-scale real-time simulation of the cellular potts model on graphics processing units , 2009, 2009 IEEE International Conference on Systems, Man and Cybernetics.

[17]  Paul Richmond,et al.  Agent Based GPU , a Real-time 3 D Simulation and Interactive Visualisation Framework for Massive Agent Based Modelling on the GPU , 2008 .

[18]  Gilbert Thomas Laycock,et al.  The theory and practice of specification based software testing , 1993 .

[19]  M. Holcombe,et al.  The epitheliome: agent-based modelling of the social behaviour of cells. , 2004, Bio Systems.

[20]  Craig W. Reynolds Big fast crowds on PS3 , 2006, Sandbox '06.

[21]  Michael Lees,et al.  Distributed simulation of agent-based systems with HLA , 2007, TOMC.

[22]  Phil McMinn,et al.  Validation and discovery from computational biology models , 2008, Biosyst..

[23]  Mike Holcombe X-machines as a basis for dynamic system specification , 1988, Softw. Eng. J..

[24]  Sean Luke,et al.  MASON: A Multiagent Simulation Environment , 2005, Simul..

[25]  Mike Holcombe,et al.  Using X-Machines as a Formal Basis for Describing Agents in Agent-Based Modelling , 2006 .

[26]  Carlos Angel Iglesias,et al.  A Survey of Agent-Oriented Methodologies , 1998, ATAL.

[27]  Jeannette M. Wing What is a specification language ? , 2001 .

[28]  Anselmo Lastra,et al.  Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware , 2002 .

[29]  Ib Holm Sørensen A Specification Language , 1981, Program Specification.

[30]  Samuel Eilenberg,et al.  Automata, languages, and machines. A , 1974, Pure and applied mathematics.

[31]  Mark A. Ragan,et al.  Advanced computing for systems biology , 2006, Briefings Bioinform..

[32]  Bernhard Bauer,et al.  Agent UML : A formalism for specifying multiagent interaction , 2001 .

[33]  Samuel Williams,et al.  The potential of the cell processor for scientific computing , 2005, CF '06.

[34]  CA Fitz-Hugh-Nagumo,et al.  Implementation of Cellular Automata using a Graphics Processing Unit , 2004 .

[35]  J. L. Rash,et al.  Requirements of an integrated formal method for intelligent swarms , 2005, FMICS '05.

[36]  Simon Coakley,et al.  Cellular Level Agent Based Modelling on the Graphics Processing Unit , 2009, 2009 International Workshop on High Performance Computational Systems Biology.

[37]  Barry Hilary Valentine Topping,et al.  Parallel and distributed computing for computational mechanics. , 1999 .

[38]  E. Gaffney,et al.  The mathematical modelling of cell kinetics in corneal epithelial wound healing. , 1999, Journal of theoretical biology.

[39]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[40]  Adelinde M. Uhrmacher,et al.  Distributed, parallel simulation of multiple, deliberative agents , 2000, Proceedings Fourteenth Workshop on Parallel and Distributed Simulation.

[41]  Laxmikant V. Kalé,et al.  NAMD: Biomolecular Simulation on Thousands of Processors , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[42]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.

[43]  George Eleftherakis,et al.  Modeling Biology Inspired Reactive Agents Using X-machines , 2007, International Conference on Computational Intelligence.

[44]  Denis Noble,et al.  The rise of computational biology , 2002, Nature Reviews Molecular Cell Biology.

[45]  Yao Zhang,et al.  Scan primitives for GPU computing , 2007, GH '07.

[46]  Tom R. Halfhill NVIDIA's Next-Generation CUDA Compute and Graphics Architecture, Code-Named Fermi, Adds Muscle for Parallel Processing , 2009 .

[47]  SugermanJeremy,et al.  Brook for GPUs , 2004 .

[48]  Vittorio Scarano,et al.  Massive Simulation using GPU of a distributed behavioral model of a flock with obstacle avoidance , 2004, VMV.

[49]  Marian Gheorghe,et al.  A Formal Modelling Framework for Developing Multi-agent Systems with Dynamic Structure and Behaviour , 2005, CEEMAS.

[50]  D. Geer,et al.  Chip makers turn to multicore processors , 2005, Computer.

[51]  Pradeep Dubey,et al.  Larrabee: A Many-Core x86 Architecture for Visual Computing , 2009, IEEE Micro.

[52]  J A Sherratt,et al.  The mathematical modelling of cell kinetics in corneal epithelial wound healing. , 1999, Journal of theoretical biology.

[53]  Christos Faloutsos,et al.  Analysis of the Clustering Properties of the Hilbert Space-Filling Curve , 2001, IEEE Trans. Knowl. Data Eng..

[54]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[55]  Daniela M. Romano,et al.  A high performance agent based modelling framework on graphics card hardware with CUDA , 2009, AAMAS.

[56]  H. Van Dyke Parunak,et al.  Agent-Based Modeling vs. Equation-Based Modeling: A Case Study and Users' Guide , 1998, MABS.

[57]  P. Maini,et al.  Mathematical modeling of cell population dynamics in the colonic crypt and in colorectal cancer , 2007, Proceedings of the National Academy of Sciences.

[58]  David P. Anderson,et al.  BOINC: a system for public-resource computing and storage , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[59]  Mikola Lysenko,et al.  A Framework for Megascale Agent Based Model Simulations on the GPU , 2010 .

[60]  A. Arnold,et al.  Harvesting graphics power for MD simulations , 2007, 0709.3225.

[61]  Michael D. McCool,et al.  Shader metaprogramming , 2002, HWWS '02.

[62]  Nelson Minar,et al.  The Swarm Simulation System: A Toolkit for Building Multi-Agent Simulations , 1996 .

[63]  Phil McMinn,et al.  Agent Based Modelling Helps in Understanding the Rules by Which Fibroblasts Support Keratinocyte Colony Formation , 2008, PloS one.

[64]  Michael Goesele,et al.  Massively-Parallel Simulation of Biochemical Systems , 2009, GI Jahrestagung.

[65]  Osman Balci,et al.  Verification, Validation And Accreditation Of Simulation Models , 1997, Winter Simulation Conference Proceedings,.

[66]  S. Kupka Molecular dynamics on graphics accelerators , 2006 .

[67]  K Y Sanbonmatsu,et al.  High performance computing in biology: multimillion atom simulations of nanoscale systems. , 2007, Journal of structural biology.

[68]  Bertrand Meyer,et al.  Specification Language , 1980, On the Construction of Programs.