Skip to main content
Log in

Evaluating the SAT problem on P systems for different high-performance architectures

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Membrane computing is an emergent research area studying the behavior of living cells to define bio-inspired computing devices, also called P systems. Such devices provide polynomial time solutions to NP-complete problems by trading time for space. The efficient simulation of P systems poses three major challenging issues: an intrinsic massive parallelism of P systems, an exponential computational workspace, and a non-intensive floating point nature. This paper analyzes the simulation of a family of recognizer P systems with active membranes that solves the satisfiability problem in linear time on three different architectures: a shared memory multiprocessor, a distributed memory system, and a manycore graphics processing unit (GPU). For an efficient handling of the exponential workspace created by the P systems computation, we enable different data policies on those architectures to increase memory bandwidth and exploit data locality through tiling. Parallelism inherent to the target P system is also managed on each architecture to demonstrate that GPUs offer a valid alternative for high-performance computing at a considerably lower cost. Our results lead to execution time improvements exceeding 310\(\times \) and 78\(\times \), respectively, for a much cheaper high-performance alternative.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

References

  1. Message Passing Interface (MPI). http://www.mcs.anl.gov/mpi

  2. The OpenMP Specification. http://www.openmp.org

  3. Alonso S, Fernández L, Arroyo F, Gil J (2008) A circuit implementing massive parallelism in transition P systems. Int J Inform Technol Knowl 2(1):35–42

    Google Scholar 

  4. Asanovic K, Bodik R, Catanzaro B, Gebis J, Joseph J, Husbands P, Keutzer K, Patterson DA, Plishker WL, Shalf J, Williams SW, Yelick KA (2006) The landscape of parallel computing research: a view from Berkeley. University of California, Berkeley, EECS Department

  5. Asghar S, Aubanel E, Bremner D (2013) A dynamic moldable job scheduling based parallel SAT solver. In: Proceedings of international conference on parallel processing (ICPP), pp 110–119

  6. Borkar S, Jouppin NP, Stenstrom P (2007) Microprocessors in the era of terascale integration. In DATE 07: Proceedings of the conference on design, automation and test in Europe, EDA Consortium San Jose, CA, USA, ACM, pp 237–242

  7. Cecilia JM, García JM, Guerrero GD, del Amor MAM, Pérez-Hurtado I, Pérez-Jiménez MJ (2010) Simulating a P system based efficient solution to SAT by using GPUs. J Logic Algebraic Program 79(6):317–325

    Article  MATH  Google Scholar 

  8. Cecilia JM, García JM, Guerrero GD, del Amor MAM, Pérez-Hurtado I, Pérez-Jiménez MJ (2010) Simulation of P systems with active membranes on CUDA. Brief Bioinform 11(3):313–322

    Article  Google Scholar 

  9. Cecilia JM, García JM, Guerrero GD, del Amor MAM, Pérez-Jiménez MJ, Ujaldón M (2012) The GPU on the simulation of cellular computing models. J Soft Comput 16(2):231–246 (Special issue on evolutionary computation on general purpose graphics processing units)

    Article  Google Scholar 

  10. 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, NY, USA, ACM, pp 151–158

  11. 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, pp 437–454. Oxford University Press, Oxford

  12. 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. Lecture Notes Comput Sci 5957:264–288

    Article  Google Scholar 

  13. Garland M, Kirk DB (2010) Understanding throughput-oriented architectures. Commun ACM 53(11):58–66

    Article  Google Scholar 

  14. Hwu W (2011) GPU computing gems: Emerald Edition. Morgan Kaufmann, Los Altos

  15. Jin H, Jespersen D, Mehrotra P, Biswas R, Huang L, Chapman B (2011) High performance computing using MPI and OpenMP on multi-core parallel systems. J Parallel Comput 37(9):562–575

    Article  Google Scholar 

  16. Meyer Q, Schonfeld F, Stamminge M, Wanka R (2010) 3-SAT on CUDA: towards a massively parallel SAT solver. In: Proceedings of IEEE international conference on high performance computing and simulation (HPCS), pp 306–313

  17. Nguyen V, Kearney D, Gioiosa G (2010) An extensible, maintainable and elegant approach to hardware source code generation in reconfig-p. J Logic Algebraic Program 79(6):383–396

    Article  MATH  MathSciNet  Google Scholar 

  18. NVIDIA (2011) CUDA Programming Guide 4.0

  19. Paun G (2002) Membrane computing. An introduction. Springer, Berlin, pp 9–419

  20. Paun G, Centre T, Science C (1998) Computing with membranes. J Comput Syst Sci 61:108–143

    Article  Google Scholar 

  21. Pérez-Jiménez MJ, Romero-Jiménez Á, Sancho-Caparrini F (2003) Complexity classes in models of cellular computing with membranes. J Nat Comput 2(3):265–285

    Article  MATH  Google Scholar 

  22. Qasem M (2009) WinSAT website. http://users.ecs.soton.ac.uk/mqq06r/winsat

  23. Rabenseifner R, Hager G, Jost G (2009) Hybrid MPI/OpenMP parallel programming on clusters of multi-core SMP nodes. In: PDP 2009: Proceedings of the 17th euromicro international conference on parallel, distributed, and network-based processing. Computer Society Press, Weimar, pp 227–236

  24. Shi Z (2011) Stochastic modeling, correlation, competition, and cooperation in a CSMA wireless network. ProQuest, UMI Dissertation Publishing

  25. Trieflinger S (2013) High performance peer-to-peer desktop grid computing: architecture, methods and applications. PhD dissertation. University of Stuttgart

Download references

Acknowledgments

This work was jointly supported by the Fundación Séneca (Agencia Regional de Ciencia y Tecnología, Región de Murcia) under grant 15290/PI/2010, the Spanish MEC and European Commission FEDER under grant TIN2012-31345, the Junta de Andalucía under Project of Excellence P12-TIC-1741, the Universidad Católica San Antonio de Murcia (UCAM) under grant PMAFI/26/12 and the supercomputing infrastructure of the NLHPC (ECM-02). We also thank NVIDIA for hardware donation under CUDA Teaching Center 2011-14, CUDA Research Center 2012-14 and CUDA Fellow 2012-14 Awards. Finally, we want to thank all reviewers of this paper for the valuable suggestions they gave us to improve the overall quality of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Manuel Ujaldón.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cecilia, J.M., García, J.M., Guerrero, G.D. et al. Evaluating the SAT problem on P systems for different high-performance architectures. J Supercomput 69, 248–272 (2014). https://doi.org/10.1007/s11227-014-1150-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-014-1150-9

Keywords

Navigation