Skip to Main Content
The GCA (Global Cellular Automata) model consists of a collection of cells which change their states synchronously depending on the states of their neighbors like in the classical CA (Cellular Automata) model. In contrast to the CA model the neighbors can be freely and dynamically selected at runtime. The GCA model is applicable to a wide range of parallel algorithms. We present a mapping of the the well known Nagel-Schreckenberg algorithm for traffic simulation onto the GCA model using agents. The vehicles are considered as agents that are modeled as GCA cells with a certain state. The proposed GCA algorithm uses multiple data and link fields per cell to interconnect the relevant cells. An agent is connected to its agent in front, and an empty cell is connected to its agent behind. In the current generation t the position of an agent is already computed for the generation t+2 (one generation in advance). Thereby the agents movements and all cell updates can directly be calculated as defined by the cell rule. No searching of specific cells during the computation is necessary. The complexity is of O(N) when simulating the N cells of an GCA sequentially. Compared to an optimized CA algorithm (with searching for agents) the GCA algorithm executes significantly faster, especially for low traffic densities and high vehicle speeds. Simulating 2048 cells and 204 agents on a multiprocessor system resulted in a speed-up (measured in clock ticks) of 14.75 for a system with 16 NIOS II processors configured on an FPGA.