MeCoHPC

From The P-Lingua Website

(Difference between revisions)
Jump to: navigation, search
(Simulation of P systems)
Current revision (15:00, 23 October 2012) (view source)
 
(5 intermediate revisions not shown.)
Line 1: Line 1:
-
'''(This page is under construction)'''
+
'''THIS PAGE IS DEPRECATED. Now it is under the [[PMCGPU]] project'''
Line 14: Line 14:
=== Simulation of P systems ===
=== Simulation of P systems ===
-
 
-
[Image:http://www.p-lingua.org/~miguel/images/selex.png|thumb|General scheme of the simulation algorithm used for P systems]
 
The simulators we have developed are based on a two staged simulation algorithm. This scheme was adopted by the sequential simulator for P systems with active membranes developed in [[PLinguaCore]]. In this design, the simulation process is divided into two stages: ''selection stage'' and ''execution stage''. The selection stage consists of the search for the rules to be executed in each membrane in a given configuration. The rules selected are executed at the execution stage. At the end of the execution stage, the simulation process restarts the selection stage in an iterative way until a halting configuration is reached. This stop condition is 2-fold: a certain number of iterations or a final configuration is reached.  
The simulators we have developed are based on a two staged simulation algorithm. This scheme was adopted by the sequential simulator for P systems with active membranes developed in [[PLinguaCore]]. In this design, the simulation process is divided into two stages: ''selection stage'' and ''execution stage''. The selection stage consists of the search for the rules to be executed in each membrane in a given configuration. The rules selected are executed at the execution stage. At the end of the execution stage, the simulation process restarts the selection stage in an iterative way until a halting configuration is reached. This stop condition is 2-fold: a certain number of iterations or a final configuration is reached.  
Line 26: Line 24:
=== Simulators based on CUDA ===
=== Simulators based on CUDA ===
-
 
+
In the simulators developed in CUDA we have designed a solution based on mapping the double parallelism of P systems over the double parallelism of CUDA. In this sense, a ''Block of Threads'' (CUDA) is assigned to each ''Membrane'' of the system, and each ''Thread'' to each ''Object'' in the membrane. Depending on the simulator, we have adopted a different strategy:
-
 
+
* For the simulator of active membranes: each Thread corresponds to each object defined in the alphabet.
 +
* For the simulator of a family solving SAT: each Thread corresponds to each object of the input multiset.
=== Simulators based on OpenMP/MPI ===
=== Simulators based on OpenMP/MPI ===

Current revision

THIS PAGE IS DEPRECATED. Now it is under the PMCGPU project


MeCoHPC (Membrane Computing over High Performance Computing) is a project aimed to develop parallel simulators of P systems. These bio-inspired computing devices are massively parallel and non-deterministic. For this reason, the creation of efficient simulators is a challenge for the scientific community of Membrane Computing. This project is carried out by researchers from the Research Group on Natural Computing (Department of Computer Science and Artificial Intelligence, University of Seville), the Parallel Computer Architecture Research Group (Computer Engineering and Technology Department, University of Murcia) and the Computer Architecture Department (University of Malaga).


Contents

Motivation

Parallel simulation of P systems

Simulation of P systems

The simulators we have developed are based on a two staged simulation algorithm. This scheme was adopted by the sequential simulator for P systems with active membranes developed in PLinguaCore. In this design, the simulation process is divided into two stages: selection stage and execution stage. The selection stage consists of the search for the rules to be executed in each membrane in a given configuration. The rules selected are executed at the execution stage. At the end of the execution stage, the simulation process restarts the selection stage in an iterative way until a halting configuration is reached. This stop condition is 2-fold: a certain number of iterations or a final configuration is reached.

On one hand, at the beginning of the simulation, we define the maximum number of iterations. On the other hand, a halting configuration is obtained when there are no more rules to select at selection stage. As previously explained, the halting configuration is always reached since it is a simulator for recognizer P systems. The input data for the selection stage consists of a description of the membranes with their multisets (strings over the working alphabet O, labels associated with the membrane in H, etc.) and the set of rules R to be selected. The output data of this stage is the set of selected rules per membrane which will be executed on the execution stage.

The execution stage applies the rules previously selected on the selection stage. During the execution stage, membranes can vary by including new objects, dissolving membranes, dividing membranes, etc, obtaining a new configuration of the simulated P system. This new configuration will be the input data for the selection stage of the next iteration.

Simulators based on CUDA

In the simulators developed in CUDA we have designed a solution based on mapping the double parallelism of P systems over the double parallelism of CUDA. In this sense, a Block of Threads (CUDA) is assigned to each Membrane of the system, and each Thread to each Object in the membrane. Depending on the simulator, we have adopted a different strategy:

  • For the simulator of active membranes: each Thread corresponds to each object defined in the alphabet.
  • For the simulator of a family solving SAT: each Thread corresponds to each object of the input multiset.

Simulators based on OpenMP/MPI

Team

  • Miguel Ángel Martínez del Amor, Ph.D. student (University of Seville)
  • Ignacio Pérez Hurtado de Mendoza, Ph.D. (University of Seville)
  • Mario de Jesús Pérez Jiménez, Ph.D. (University of Seville)
  • José María Cecilia Canales, Ph.D. student (University of Murcia)
  • Ginés David Guerrero Hernández, Ph.D. student (University of Murcia)
  • José Manuel García Carrasco, Ph.D. (University of Murcia)
  • Manuel Ujaldón Martínez, Ph.D. (University of Malaga)

Downloads

Publications

Journals

  • José M. Cecilia, José M. García, Ginés D. Guerrero, Miguel A. Martínez-del-Amor, Ignacio Pérez-Hurtado, Mario J. Pérez-Jiménez. Simulating a P system based efficient solution to SAT by using GPUs, Journal of Logic and Algebraic Programming, 19, 6 (2010), 317-325.
  • Jose M. Cecilia, José M. García, Ginés D. Guerrero, Miguel A. Martínez-del-Amor, Ignacio Pérez-Hurtado, Mario J. Pérez-Jiménez. Simulation of P systems with active membranes on CUDA, Briefings in Bioinformatics, 11, 3 (2010), 313-322.
  • Jose M. Cecilia, José M. García, Ginés D. Guerrero, Miguel A. Martínez-del-Amor, Ignacio Pérez-Hurtado, Mario J. Pérez-Jiménez. Implementing P systems parallelism by means of GPUs, Lecture Notes in Computer Science, 5957 (2010), 227-241.

Conference Contributions

  • José M. Cecilia, José M. García, Ginés D. Guerrero, Miguel A. Martínez-del-Amor, Mario J. Pérez-Jiménez, Manuel Ujaldón. P Systems Simulations on Massively Parallel Architectures, 19th Intl. Conference on Parallel Architectures and Compilation Techniques (PACT'10), September 2010, Viena, Austria, (2010).
  • José M. Cecilia, Ginés D. Guerrero, José M. García, Miguel Á. Martínez-del-Amor, Mario J. Pérez-Jiménez, Manuel Ujaldón. Enhancing the Simulation of P Systems for the SAT Problem on GPUs, Symposium on Application Accelerators in High Performance Computing, July 2010, Knoxville, USA, (2010).
  • Miguel A. Martínez-del-Amor, Jose M. Cecilia, Ginés D. Guerrero, Ignacio Pérez-Hurtado. An Overview of P System Simulation on GPUs, I Jornadas Jóvenes Investigadores, 17 April 2010, Cáceres, Spain, p.2-7, (2010).
  • Ginés D. Guerrero, José M. Cecilia, José M. García, Miguel A. Martínez-del-Amor, Ignacio Pérez-Hurtado, Mario J. Pérez-Jiménez. Analysis of P systems simulation on CUDA, XX Jornadas de Paralelismo, September 2009, A coruña, Spain, 289-294, (2009).
  • José M. Cecilia, Ginés D. Guerrero, José M. García, Miguel Á. Martínez-del-Amor, Ignacio Pérez-Hurtado, Mario J. Pérez-Jiménez. Simulation of P Systems with active membranes on CUDA, 2009 International Workshop on High Performance Computational Systems Biology, October 2009, Trento, Italy, 61-71, (2009).
  • José M. Cecilia, Ginés D. Guerrero, José M. García, Miguel Á. Martínez-del-Amor, Ignacio Pérez-Hurtado, Mario J. Pérez-Jiménez. A massively parallel framework using P systems and GPUs, Symposium on Application Accelerators in High Performance Computing, July 2009, Illinois, USA, (2009)
  • Miguel A. Martínez-del-Amor, Ignacio Pérez-Hurtado, Mario J. Pérez-Jiménez, Jose M. Cecilia, Ginés D. Guerrero, José M. García. Simulating active membrane systems using GPUs, 10th Workshop on Membrane Computing, August 2009, Curtea de Arges, Rumania, 369-384, (2009).
  • Miguel A. Martínez-del-Amor, Ignacio Pérez-Hurtado, Mario J. Pérez-Jiménez, José M. Cecilia, Ginés D. Guerrero, José M. García. Simulation of recognizer P systems by using manycore GPUs, 7th Brainstorming Week on Membrane Computing, February 2009, Volume II, Seville, Spain, 45-58, (2009).
Personal tools