Parallel Implementations of Cellular Automata for Traffic Models
The Biham-Middleton-Levine (BML) traffic model is a simple two-dimensional discrete Cellular Automaton (CA) that has been used to study self-organization and phase transitions in traffic flows. From the computational point of view, the BML model exhibits the usual features of discrete CA, where the new state of each cell is computed according to simple rules involving its current state and that of the immediate neighbors. In this paper we evaluate the impact of various optimizations for speeding up CA computations on shared-memory parallel architectures using the BML model as a case study. In particular, we analyze parallel implementations of the BML automaton for multicore CPUs and GPUs. Experimental evaluation provides quantitative measures of the payoff of different optimization techniques. Contrary to popular claims of “double-digit speedups” of GPU versus CPU implementations, our findings show that the performance gap between CPU and GPU implementations of the BML traffic model can be greatly reduced by clever exploitation of all available CPU features.
KeywordsBiham-Middleton-Levine model Cellular automata Parallel computing
- 5.Kjolstad, F.B., Snir, M.: Ghost cell pattern. In: Proceedings of the 2010 Workshop on Parallel Programming Patterns, ParaPLoP 2010, pp. 4:1–4:9. ACM, New York (2010). https://doi.org/10.1145/1953611.1953615
- 6.Lee, V.W., et al.: Debunking the 100\(\times \) GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU. In: Proceedings of the 37th Annual International Symposium on Computer Architecture, ISCA 2010, pp. 451–460. ACM, New York (2010). https://doi.org/10.1145/1815961.1816021