Cellular Automata Simulations on a FPGA cluster

The emergence of multicore architectures and the chip industry’s plan to roll out hundreds of cores per die sometime in the near future might have triggered the evolution of von Neumann architectures towards a parallel processing paradigm. The capability to have hundreds of cores per die is exciting, but how optimally we are able to utilize such a resource remains a challenge. Since there are no straightforward solutions we seek inspiration from relevant scientific processes. Cellular automata which are inherently decentralized and spatially extended structures provide a potential candidate among parallel processing alternatives. The availability of spatial parallelism on field programmable gate arrays make them the ideal platform to investigate cellular automata systems as potential parallel processing paradigms on multicore architectures. This article presents a massively parallel implementation for a floating-point-based cellular automata using special purpose hardware such as Field Programmable Gate Array (FPGAs). The challenge is to best map an application to the underlying many-core architecture and address issues such as inter-core communication, scalability, and flexibility both in terms of hardware and software. Maxwell — a 64-node FPGA supercomputer, is used for accelerator implementations that range from a single to a multiple FPGA-enabled system. A performance model is proposed and demonstrated to closely reproduce measured execution times. The performance model enables identification of the main sources of overhead and suggests improvements to the architecture and implementation of the lattice Boltzmann method and compute-bound cellular automata in general. Further, a 2 million cell 2DQ9 lattice Boltzmann method lattice with periodic boundary conditions, simulated using a multiple FPGA chip accelerator implementation, is presented. The performance model shows how the FPGA-enabled PC cluster is the preferred multiple FPGA organization over the multiple FPGA-based PC setup. Latency hiding is fully exploited for PC cluster-based system implementations and demonstrated using system profiling.

[1]  Shekhar Y. Borkar,et al.  Electronics beyond nano-scale CMOS , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[2]  Alan D. George,et al.  Performance analysis challenges and framework for high-performance reconfigurable computing , 2008, Parallel Comput..

[3]  Shekhar Y. Borkar,et al.  Design challenges of technology scaling , 1999, IEEE Micro.

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

[5]  Coniferous softwood GENERAL TERMS , 2003 .

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

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

[8]  Tarek A. El-Ghazawi,et al.  The Promise of High-Performance Reconfigurable Computing , 2008, Computer.

[9]  Peter M. A. Sloot,et al.  Performance evaluation of FPGA-based Cellular Automata accelerators , 2007 .

[10]  Peter M. A. Sloot,et al.  Compute Bound and I/O Bound Cellular Automata Simulations on FPGA Logic , 2009, TRETS.

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

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

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

[14]  James Demmel,et al.  the Parallel Computing Landscape , 2022 .

[15]  P.M.A. Sloot,et al.  Floating point based Cellular Automata simulations using a dual FPGA-enabled system , 2008, 2008 Second International Workshop on High-Performance Reconfigurable Computing Technology and Applications.

[16]  Peter M. A. Sloot,et al.  Cellular Automata, 6th International Conference on Cellular Automata for Research and Industry, ACRI 2004, Amsterdam, The Netherlands, October 25-28, 2004, Proceedings , 2004 .

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

[18]  Maya Gokhale,et al.  Promises and Pitfalls of Reconfigurable Supercomputing , 2006, ERSA.

[19]  Samuel Williams,et al.  The Landscape of Parallel Computing Research: A View from Berkeley , 2006 .

[20]  Stephen Booth,et al.  The FPGA High-Performance Computing Alliance Parallel Toolkit , 2007, Second NASA/ESA Conference on Adaptive Hardware and Systems (AHS 2007).

[21]  Gregory D. Peterson,et al.  Parallel application performance on shared high performance reconfigurable computing resources , 2005, Perform. Evaluation.

[22]  Martin C. Herbordt,et al.  Achieving High Performance with FPGA-Based Computing , 2007, Computer.

[23]  Peter M. A. Sloot,et al.  Simulating Complex Systems by Cellular Automata , 2010, Simulating Complex Systems by Cellular Automata.

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

[25]  Alfons G. Hoekstra,et al.  Introduction to Modeling of Complex Systems Using Cellular Automata , 2010, Simulating Complex Systems by Cellular Automata.

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

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

[28]  Stephen Booth,et al.  Maxwell - a 64 FPGA Supercomputer , 2007, Second NASA/ESA Conference on Adaptive Hardware and Systems (AHS 2007).

[29]  Ralph K. Cavin,et al.  An Assessment of Integrated Digital Cellular Automata Architectures , 2008, Computer.

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

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