Parallel Hardware Architecture to Simulate Movable Creatures in the CA Model
The general question of our investigation is: how can the simulation of moving objects (or agents) in a cellular automaton (CA) be accelerated by hardware architectures. We exemplify our approach using the creatures’ exploration problem: n creatures are moving around in an unknown environment in order to visit all cells in shortest time. This problem is modeled as CA because this model is massively parallel and therefore it can be perfectly supported by hardware (FPGA technology). We need a very fast simulation because we want to observe and evaluate the collaborative performance for a different number of creatures, different behaviors of the creatures and for many different environments. As a main result from these simulations and evaluations we expect to find the best algorithms which can fulfill the task with the lowest work units (generations × creatures). In this contribution we have investigated the question how the creatures’ exploration problem can be accelerated in hardware with a minimum of hardware resources. We have designed and evaluated five different architectures that vary in the combination or separation of the logic for the environment, for the creatures and for the collision detection. A speedup in the range of thousands compared to software can be reached using an architecture which separates the environment from the creatures and makes use of the memory banks embedded in the FPGA.
KeywordsState Machine Cellular Automaton Clock Cycle Collision Detection Memory Bank
Unable to display preview. Download preview PDF.
- 1.Halbach, M., Heenes, W., Hoffmann, R., Tisje, J.: Optimizing the Behavior of a Moving Creature in Software and in Hardware. In: Sloot, P.M.A., Chopard, B., Hoekstra, A.G. (eds.) ACRI 2004. LNCS, vol. 3305, pp. 841–850. Springer, Heidelberg (2004)Google Scholar
- 2.Hoffmann, R., Heenes, W., Halbach, M.: Implementation of the Massively Parallel Model GCA. In: Parallel Computing in Electrical Engineering (PARELEC), Parallel System Architectures (September 2004)Google Scholar
- 3.Halbach, M., Hoffmann, R.: Implementing Cellular Automata in FPGA Logic. In: International Parallel & Distributed Processing Symposium (IPDPS), Workshop on Massively Parallel Processing (WMPP), IEEE Computer Society, Los Alamitos (2004)Google Scholar
- 4.Halbach, M., Hoffmann, R.: Minimising the Hardware Resources for a Cellular Automaton with Moving Creatures. In: Karl, W., Becker, J., Gropietsch, K.E., Hochberger, C., Maehle, E. (eds.) ARCS 2006. 19th International Conference on Architecture of Computing Systems, Workshop Proceedings. Lecture Notes in Informatics (LNI). vol. P-81, pp. 323–332. Frankfurt, Germany (March 2006)Google Scholar
- 5.Mesot, B., Sanchez, E., Pena, C.A., Perez-Uribe, A.: SOS++: Finding Smart Behaviors Using Learning and Evolution. In: Standish, Abbass, Bedau. (eds.) Artificial Life VIII, p. 264. MIT Press, Cambridge (2002)Google Scholar
- 9.Hochberger, C.: CDL – Eine Sprache für die Zellularverarbeitung auf verschiedenen Zielplattformen. PhD thesis, TU Darmstadt, Darmstädter Dissertation D17 (1998)Google Scholar