Abstract
Membrane Computing is a discipline aiming to abstract formal computing models, called membrane systems or P systems, from the structure and functioning of the living cells as well as from the cooperation of cells in tissues, organs, and other higher order structures. This framework provides polynomial time solutions to NP-complete problems by trading space for time, and whose efficient simulation poses challenges in three different aspects: an intrinsic massively parallelism of P systems, an exponential computational workspace, and a non-intensive floating point nature. In this paper, we analyze the simulation of a family of recognizer P systems with active membranes that solves the Satisfiability problem in linear time on different instances of Graphics Processing Units (GPUs). For an efficient handling of the exponential workspace created by the P systems computation, we enable different data policies to increase memory bandwidth and exploit data locality through tiling and dynamic queues. Parallelism inherent to the target P system is also managed to demonstrate that GPUs offer a valid alternative for high-performance computing at a considerably lower cost. Furthermore, scalability is demonstrated on the way to the largest problem size we were able to run, and considering the new hardware generation from Nvidia, Fermi, for a total speed-up exceeding four orders of magnitude when running our simulations on the Tesla S2050 server.







Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Alonso S, Fernández L, Arroyo F, Gil J (2008) A circuit implementing massive parallelism in transition P systems. Int J Inf Technol Knowl 2(1):35–42
Cardona M, Colomer MA, Margalida A, Palau A, Pérez-Hurtado I, Pérez-Jiménez MJ, Sanuy D (2010a) A computational modeling for real ecosystems based on P systems. Nat Comput. doi:10.1007/s11047-010-9191-3
Cardona M, Colomer MA, Margalida A, Pérez-Hurtado I, Pérez-Jiménez MJ, Sanuy D (2010b) A P system based model of an ecosystem of some scavenger birds. LNCS 5957:182–195
Cecilia JM, García JM, Guerrero GD, Martínez-del-Amor MA, Pérez-Hurtado I, Pérez-Jiménez MJ (2010a) Simulating a P system based efficient solution to SAT by using GPUs. Int J Log Alg Prog 79(6):317–325
Cecilia JM, García JM, Guerrero GD, Martínez-del-Amor MA, Pérez-Hurtado I, Pérez-Jiménez MJ (2010b) Simulation of P systems with active membranes on CUDA. Brief Bioinform 11(3):313–322
Cecilia JM, García JM, Ujaldón M (2010c) CUDA 2D stencil computation for the Jacobi method. In: Proceedings of the 10th international workshop on state-of-the-art in scientific and parallel computing, Reykjavik, Iceland
Cook SA (1971) The complexity of theorem-proving procedures. In STOC ’71: Proceedings of the third annual ACM symposium on theory of computing, New York, USA, pp 151–158
Datta K, Murphy M, Volkov V, Williams S, Carter J, Oliker L, Patterson DA, Shalf J, Yelick K (2008) Stencil computation optimization and auto-tuning on State-of-the-art multicore architectures. In: Proceedings ACM/IEEE Supercomputing 2008, pp 1–12
Díaz D, Graciani C, Gutiérrez-Naranjo MA, Pérez-Hurtado I, Pérez-Jiménez MJ (2009) Software for P systems. In Paun Gh, Rozenberg G, Salomaa A (eds) The Oxford handbook of membrane computing. Oxford University Press, Oxford, pp 437–454
García-Quismondo M, Gutiérrez-Escudero R, Pérez-Hurtado I, Pérez-Jiménez MJ, Riscos-Núñez A (2010) An overview of p-lingua 2.0. LNCS 5957:264–288
Krishnamoorthy S, Baskaran MM, Bondhugula U, Ramanujan J, Rountev A, Sadayappan P (2010) Effective automatic parallelization of stencil computation. In: Proceedings 2010 ACM conference on programming languages, design and implementation, pp 235–244
Li J, Hu X, Pang Z, Qian K (2009) A parallel ant colony optimization algorithm based on fine-grained model with GPU acceleration. Int J Innov Comput Inf Control 5(11):3707–3715
Martínez-del-Amor MA, Pérez-Hurtado I, Pérez-Jiménez MJ, Riscos-Núñez A, Colomer MA (2010) A new simulation algorithm for multienvironment probabilistic P systems. In BIC-TA’2010: proceedings 2010 IEEE fifth international conference on bio-inspired computing: theories and applications, vol 1, pp 59–68
Mussi L, Cagnoni S (2009) Particle swarm optimization within the CUDA architecture. In: GECCO conference
Nguyen V, Kearney D, Gioiosa G (2010) An extensible, maintainable and elegant approach to hardware source code generation in reconfig-p. Int J Log Alg Prog 79(6):383–439
NVIDIA (2008) CUDA programming guide 2.0
NVIDIA (2010) Next generation CUDA architecture. Code named Fermi. http://www.nvidia.com/object/fermi_architecture.html
Păun G (2000) Computing with membranes. J Comput Sys Sci 61:108–143 (TUCS report no 208)
Păun G (2002) Membrane computing: an introduction. Springer, Berlin
Păun G (2009) Active membranes. In: Păun Gh, Rozenberg G, Salomaa A (eds) The Oxford handbook of membrane computing. Oxford University Press, Oxford, pp 282–301
Păun G, Romero-Campero-FJ (2008) Membrane computing as a modeling framework. LNCS 5016: 168–214
Pérez-Jiménez MJ, Romero-Campero FJ (2006) P systems, a new computational modelling tool for systems biology. LNCS 4220:176–97
Pérez-Jiménez MJ, Romero-Jiménez Á Sancho-Caparrini F (2003) Complexity classes in models of cellular computing with membranes. Nat Comput 2(3):265–285
Pospichal P, Jaros J (2009) GPU-based acceleration of the genetic algorithm. In: GECCO conference
Stutzle T (1998) Parallelization strategies for ant colony optimization. Springer, Berlin
Qasem M (2009) WinSAT. http://users.ecs.soton.ac.uk/mqq06r/winsat
Acknowledgments
This work has been jointly supported by the Fundación Séneca (Agencia Regional de Ciencia y Tecnología, Región de Murcia) under grant 00001/CS/2007, by the Spanish MICINN under grants TIN2009-13192 and TIN2009-14475-C04, by the European Commission FEDER funds under grant Consolider Ingenio-2010 CSD2006-00046, and by the Junta of Andalucia of Spain under projects P06-TIC02109 and P08-TIC04200. The authors wish to thank anonymous reviewers for the suggestions received to improve the quality of this article.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cecilia, J.M., García, J.M., Guerrero, G.D. et al. The GPU on the simulation of cellular computing models. Soft Comput 16, 231–246 (2012). https://doi.org/10.1007/s00500-011-0716-1
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-011-0716-1