# 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, ...

What next?