sugarscape on steroid: simulating over a million...
TRANSCRIPT
![Page 1: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/1.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
SugarScape on Steroid: Simulating Over a Million Agents at Interactive Rates
Presenters: Roshan M. D�Souza, Mikola Lysenko
Agents 2007
Chicago, IL
![Page 2: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/2.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Outline
� Introduction� Agent-based modeling (ABM)� Desktop and cluster ABM systems
� Why use GPU?
� General purpose computation on the GPU (GPGPU)� Programming GPUs
� ABMs on GPUs
� Implementation of SugarScape ABM
� Conclusion and future research
![Page 3: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/3.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Introduction
� Agent-based modeling (ABM)� Evolution of a system is simulated by its individuals� Individuals are heterogeneous and have behavioral rules� Intelligent individuals
� Advantages of ABM� Capturing emergent phenomena� Natural description of complex systems� They can incorporate empirical and historical data into the model� Highly non-linear systems
� Applications� Biological systems� Stock markets� Social sciences
![Page 4: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/4.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Desktop ABM platforms
� Advantages:� Quick prototyping � Based on popular programming languages
and concepts such as OOP
� Disadvantages:� Limited performance
SWARM (heat bugs) MASON (ant colony) NETLOGO (AIDS)
Objective C Java Its own Language interpreter
![Page 5: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/5.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Clusters
� Expensive
� Difficult to program
� Limited by the communication times between CPUs
� Cannot efficiently simulate more than 100,000 agents
� Adding more CPUs does not linearly increase the speed
� Difficult visualization
Example: SIMPDELAgent population limited to 20000 on a static
environment
![Page 6: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/6.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Communication Issues
Inevitable inter-processor communication in cluster computation [SIMPDEL]
� Divide world and agents into chunks, distribute over processors
� Agents may interactor move across boundaries
� Large communication costs are unavoidable and unpredictable
![Page 7: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/7.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
GPU-Based ABM
� Why GPU?� High memory bandwidth =
fast communication� Massively parallel� Strong floating point
capabilities� Cheap� Rendering and visualization
features
� Radically different architecture� Data parallel
Memory bandwidth comparision of CPUs and GPUs
![Page 8: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/8.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
GPU vs. CPU: Architecture
The GPU devotes more transistors to data processing [NVIDIA CUDA]
![Page 9: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/9.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
GPU vs. CPU: Trends
Floating-Point Operations per Second for the CPU and GPU [NVIDIA]
![Page 10: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/10.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Graphics Pipeline
� Two modes of operation: fixed and programmable
� Programmable processors are used in general purpose GPU computation
� Several vertex and fragment processors are available on the GPU to aid parallelism
![Page 11: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/11.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
General Purpose GPU
� Use the GPU toexecute a program
� Textures = Data
� Shaders = Program
� Rendering = For loop
![Page 12: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/12.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Data Update in GPGPU
� Textures can�t be read and written at the same time
� Two textures are used with a processor to update data (ping pong)
� We must �draw� a geometry to write data into a texture
� Draw a quad
Ping pong operation
![Page 13: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/13.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Environments on the GPU
� Environments (Static Agents) can be packed directly into a texture using RGBA values for each state
� Use the ping-pong technique to update each cell in parallel
� Common functions include� Cellular automata [James 2001]� Coupled map lattice [Harris et al. 2002]� Convolution filters[Yang and Welch 2003]� Lattice Boltzmann methods [Li et al. 2005]
![Page 14: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/14.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Mobile Agents
� Much harder than environments� Not stuck to a fixed point� Dynamic neighborhood
� 3 Problems:� Storing and updating agent states� Calculating interactions� Reproduction
![Page 15: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/15.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Managing agent states
� Store the agent states within a stack of textures
� Updating mobile agent can be done using ping-ponging
� Referencing the environment is done using a double look up on the agent�s position
� Can be used for vision
![Page 16: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/16.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Agent Interactions
� Use a scatter operation [Buck 2005]
� The index of the agent is used as an ID
� Agent scatter stores each ID at the corresponding position in a collision map
![Page 17: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/17.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Reproduction
� Memory has to be allocated for new agents
� We cannot do regular serial allocation � GPU memory model not efficient for serial allocation� Transferring memory allocation to CPU is very slow
� Stochastic parallel allocation on the GPU� Randomized algorithm with O(1) time cost.� Asymptotically faster than serial CPU allocation
![Page 18: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/18.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Stochastic Parallel Allocation
Initial state
Random search with r=2
Final state
![Page 19: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/19.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Putting it all together
Loop three steps:
� Update environment
� Update agents
� Scatter agents on environment
![Page 20: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/20.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Over One million SugarScape Agents
Environment size: 2560x1024Agent State Texture: 2048x2048 Frame rate : >50 FPS
![Page 21: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/21.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Scalability
![Page 22: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/22.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Conclusion
� First implementation of ABM simulation on the GPU
� GPUs are viable and efficient platforms for simulating ecology models
� Simulating relatively complex ABMs with more than one million agents on a high resolution land map is possible with GPUs� Dynamic environment� Real-time user-interactivity� Real-time visualization� Stochastic allocation scheme for reproduction
![Page 23: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/23.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Future Research
� Need new visualization strategies to deal with massive amount of data
� Simplify programming
� Real-time statistics gathering on the GPU� Tracking population sizes� Averages of various agent properties
![Page 24: SugarScape on Steroid: Simulating Over a Million …pages.mtu.edu/~rmdsouza/Papers/2007/SugarScape_Slides.pdfDept. of Mechanical ... SugarScape on Steroid: Simulating Over a Million](https://reader034.vdocuments.mx/reader034/viewer/2022052608/5ab501ef7f8b9ab7638c410f/html5/thumbnails/24.jpg)
Manufacturing Computations LabDept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
Questions?