Compute Bound and I/O Bound Cellular Automata Simulations on FPGA Logic

FPGA-based computation engines have been used as Cellular Automata accelerators in the scientific community for some time now. With the recent availability of more advanced FPGA logic it becomes necessary to better understand the mapping of Cellular Automata to these systems. There are many trade-offs to consider when mapping a Cellular Automata algorithm from an abstract system to the physical implementation using FPGA logic. The trade-offs include both the available FPGA resources and the Cellular Automata algorithm's execution time. The most important aspect is to fully understand the behavior of the specified CA algorithm in terms of its execution times which are either compute bound or I/O bound. In this article, we present a methodology to categorize a specified CA algorithm as a compute bound or an I/O bound. We take the methodology further by presenting rigorous analysis for each of the two cases identifying the various parameters that control the mapping process and are defined both by the Cellular Automata algorithm and the given FPGA hardware specifications. This methodology helps to predict the performance of running Cellular Automata algorithms on specific FPGA hardware and to determine optimal values for the various parameters that control the mapping process. The model is validated for both compute and I/O bound two-dimensional Cellular Automata algorithms. We find that our model predictions are accurate within 7%.

[1]  Bastien Chopard,et al.  Cellular Automata Modeling of Physical Systems , 1999, Encyclopedia of Complexity and Systems Science.

[2]  Bruce M. Boghosian Lattice gases and cellular automata , 1999, Future Gener. Comput. Syst..

[3]  E. F. Codd,et al.  Cellular automata , 1968 .

[4]  Stephen Wolfram,et al.  Cellular Automata And Complexity , 1994 .

[5]  Y. Pomeau,et al.  Time evolution of a two‐dimensional model system. I. Invariant states and time correlation functions , 1973 .

[6]  Peter M. A. Sloot,et al.  Self-organized criticality in simulated correlated systems , 2001 .

[7]  Tsutomu Maruyama,et al.  A Cellular Automata System with FPGA , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[8]  Franco Bagnoli,et al.  Cellular Automata , 2002, Lecture Notes in Computer Science.

[9]  Andrew Ilachinski,et al.  Cellular Automata: A Discrete Universe , 2001 .

[10]  Daniel H. Rothman,et al.  Lattice-Gas Cellular Automata: Simple Models of Complex Hydrodynamics , 1997 .

[11]  Tommaso Toffoli,et al.  Cellular Automata Machines , 1987, Complex Syst..

[12]  Peter M. A. Sloot,et al.  Performance Modeling of 2D Cellular Automata on FPGA , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[13]  P. Lallemand,et al.  Lattice-gas cellular automata, simple models of complex hydrodynamics , 1998 .

[14]  Peter M. A. Sloot,et al.  Dynamic structure factor in single- and two-species thermal GBL lattice gas , 2000 .

[15]  W. Paul Cockshott,et al.  Implementation of lattice gases using FPGAs , 1996, J. VLSI Signal Process..

[16]  Bastien Chopard,et al.  Cellular Automata Modeling of Physical Systems: Index , 1998 .

[17]  Peter M. A. Sloot,et al.  Modeling Dynamic Systems with Cellular Automata , 2007, Handbook of Dynamic System Modeling.

[18]  Peter M. A. Sloot,et al.  Cellular Automata as a Mesoscopic Approach to Model and Simulate Complex Systems , 2001, International Conference on Computational Science.

[19]  Peter M. A. Sloot,et al.  Distributed Cellular Automata: Large Scale Simulation of Natural Phenomena , 2000 .