Comparing Parallel Simulation of Social Agents Using Cilk and OpenCL

Recent advances in wireless/mobile communication and body worn sensors, together with ambient intelligence and seamless integrated pervasive technology have paved the way for applications operating based on social signals, i.e., sensing and processing of group behavior, interpersonal relationships, or emotions. Thinking in large, it should be apparent that modeling social systems allowing to study crowd behavior emerging from individual entities' (agents') condition and/or characteristics is, in fact, a challenging task. To address the heterogeneity, analytical agent-based models (ABMs) are gaining popularity due to its capability of directly representing individual entities and their interactions, unfortunately, ABMs (in which each agent has unique behavior) are not very well suited for large populations, expressed by exponentially rising simulation time. To solve this problem, the questions (i) how does the parallel execution of such models scale with capabilities of both the machine (number of cores, cluster size, etc.) and agents (behavioral adaptation function, interaction extent, etc.) and (ii) what is, in comparison, the performance coefficient applying the approach of model execution on graphical processors (GPUs) with its different pipelining architecture, need answers. To this end, we have performed simulation runs with parameter variation on a real parallel and distributed hardware platform using Cilk as well as on a GPU employing OpenCL. Simulation efficiency for two realistic models with varying complexity on a scale of 107 agents has shown the usefulness of both approaches.

[1]  H. Simon,et al.  A Behavioral Model of Rational Choice , 1955 .

[2]  Joshua M. Epstein,et al.  Growing Artificial Societies: Social Science from the Bottom Up , 1996 .

[3]  D. Kahneman Maps of Bounded Rationality: Psychology for Behavioral Economics , 2003 .

[4]  Shivakant Mishra,et al.  Interagent Communication and Synchronization Support in the DaAgent Mobile Agent-Based Computing System , 2003, IEEE Trans. Parallel Distributed Syst..

[5]  Sascha Ossowski,et al.  Applications of Agent Technology in Traffic and Transportation , 2005, Whitestein series in software agent technologies and autonomic computing.

[6]  Anthony Patt,et al.  Taking the uncertainty in climate-change vulnerability assessment seriously , 2005 .

[7]  Paul Davidsson,et al.  Agent-Based Approaches to Transport Logistics , 2005, Applications of Agent Technology in Traffic and Transportation.

[8]  R. D'Souza SUGARSCAPE ON STEROIDS : SIMULATING OVER A MILLION AGENTS , 2007 .

[9]  R. Matthews,et al.  A Wearable Physiological Sensor Suite for Unobtrusive Monitoring of Physiological and Cognitive State , 2007, 2007 29th Annual International Conference of the IEEE Engineering in Medicine and Biology Society.

[10]  Kevin Skadron,et al.  A performance study of general-purpose applications on graphics processors using CUDA , 2008, J. Parallel Distributed Comput..

[11]  Michel Barlaud,et al.  Fast k nearest neighbor search using GPU , 2008, 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

[12]  Stefan Leye,et al.  A Grid-Inspired Mechanism for Coarse-Grained Experiment Execution , 2008, 2008 12th IEEE/ACM International Symposium on Distributed Simulation and Real-Time Applications.

[13]  Johan Holmgren,et al.  Multi-Agent-Based Simulation and Optimization of Production and Transportation , 2008 .

[14]  Kalyan S. Perumalla,et al.  Data parallel execution challenges and runtime performance of agent simulations on GPUs , 2008, SpringSim '08.

[15]  Scott E. Page,et al.  Agent-Based Models , 2014, Encyclopedia of GIS.

[16]  Stefan Leye,et al.  An Efficient and Adaptive Mechanism for Parallel Simulation Replication , 2009, 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation.

[17]  Adelinde M. Uhrmacher,et al.  Experiments with Single Core, Multi-core, and GPU Based Computation of Cellular Automata , 2009, 2009 First International Conference on Advances in System Simulation.

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

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

[20]  J. Xu OpenCL – The Open Standard for Parallel Programming of Heterogeneous Systems , 2009 .

[21]  Jiehan Zhou,et al.  Pervasive Social Computing: augmenting five facets of human intelligence , 2010, 2010 7th International Conference on Ubiquitous Intelligence & Computing and 7th International Conference on Autonomic & Trusted Computing.

[22]  Paul Lukowicz,et al.  Scenario Based Modeling for Very Large Scale Simulations , 2010, 2010 IEEE/ACM 14th International Symposium on Distributed Simulation and Real Time Applications.

[23]  Juan Carlos Augusto,et al.  Handbook of Ambient Intelligence and Smart Environments , 2009, HAIS 2010.

[24]  Sudip K. Seal,et al.  Efficient simulation of agent-based models on multi-GPU and multi-core clusters , 2010, SimuTools.

[25]  Jesús Fernández-Villaverde,et al.  Tapping the Supercomputer Under Your Desk: Solving Dynamic Equilibrium Models With Graphics Processors , 2010 .

[26]  Daniela M. Romano,et al.  Template-Driven Agent-Based Modeling and Simulation with CUDA , 2011 .

[27]  Mark Hoogendoorn,et al.  Agent-Based Modelling of the Emergence of Collective States Based on Contagion of Individual States in Groups , 2011, Trans. Comput. Collect. Intell..

[28]  Marcelo Yuffe,et al.  A fully integrated multi-CPU, GPU and memory controller 32nm processor , 2011, 2011 IEEE International Solid-State Circuits Conference.

[29]  Avi Bleiweiss,et al.  Multi Agent Navigation on the GPU , 2011 .

[30]  Jan Treur,et al.  Abstraction relations between internal and behavioural agent models for collective decision making , 2012, Web Intell. Agent Syst..

[31]  Andreas Riener,et al.  Sitting Postures and Electrocardiograms: A Method for Continuous and Non-Disruptive Driver Authentication , 2012 .