# CS 5220
## Parallelism and locality in simulation
## 15 Sep 2015
### Parallelism and locality
- Real world has *parallelism* and *locality*
- Particles, people, etc function independently
- Near interactions stronger than distant ones
- Can often simplify dependence on distant objects
- More parallelism / locality through model
- Limited dependency between adjacent time steps
- Can neglect or approximate far-field effects
- Often get parallelism at multiple levels
- Hierarchical circuit simulation
- Interacting models for climate
- Parallelizing trials/fevals in MC or optimization
### Common ideas / issues
- Load balancing
- Imbalance from lack of parallelism, poor distribution
- Can be static or dynamic
- Locality
- Want big blocks with low surface-to-volume ratio
- Minimizes communication / computation ratio
- Can generalize ideas to graph setting
- Tensions and tradeoffs
- Irregular spatial decompositions for load balance at the cost of
complexity, maybe extra communication
Basic styles of simulation
Often more than one type of simulation appropriate.
Sometimes more than one at a time!
Basic styles of simulation
Discrete event systems
- Continuous or discrete time
- Game of life, logic-level circuit simulation
- Network simulation
Basic styles of simulation
Particle systems
- Billiards, electrons, galaxies, ...
- Ants, cars, ...?
Basic styles of simulation
Lumped parameter models
- Systems of Ordinary Differential Equations (ODEs)
- Circuits (SPICE), structures, chemical kinetics
Basic styles of simulation
Distributed parameter models
- PDEs / integral equations
- Heat, elasticity, electrostatics, ...