Parallel and distributed computing models on a graphics processing unit to accelerate simulation of membrane systems

Research output: Contribution to journalArticle

8 Citations (Scopus)

Abstract

Membrane systems are parallel distributed computing models that are used in a wide variety of areas. Use of a sequential machine to simulate membrane systems loses the advantage of parallelism in Membrane Computing. In this paper, an innovative classification algorithm based on a weighted network is introduced. Two new algorithms have been proposed for simulating membrane systems models on a Graphics Processing Unit (GPU). Communication and synchronization between threads and thread blocks in a GPU are time-consuming processes. In previous studies, dependent objects were assigned to different threads. This increases the need for communication between threads, and as a result, performance decreases. In previous studies, dependent membranes have also been assigned to different thread blocks, requiring inter-block communications and decreasing performance. The speedup of the proposed algorithm on a GPU that classifies dependent objects using a sequential approach, for example with 512 objects per membrane, was 82×, while for the previous approach (Algorithm 1), it was 8.2×. For a membrane system with high dependency among membranes, the speedup of the second proposed algorithm (Algorithm 3) was 12×, while for the previous approach (Algorithm 1) and the first proposed algorithm (Algorithm 2) that assign each membrane to one thread block, it was 1.8×.

Original languageEnglish
Pages (from-to)60-78
Number of pages19
JournalSimulation Modelling Practice and Theory
Volume47
DOIs
Publication statusPublished - 2014

Fingerprint

Parallel and Distributed Computing
Distributed computer systems
Graphics Processing Unit
Parallel processing systems
Accelerate
Membrane
Thread
Membranes
Simulation
Model
Dependent
Speedup
Communication
Membrane Computing
Sequential machines
Weighted Networks
Graphics processing unit
Classification Algorithm
Parallel Computing
Distributed Computing

Keywords

  • Distributed computing
  • Graphics processing unit
  • Membrane Computing
  • Membrane systems
  • Parallel processing
  • Weighted network

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software
  • Modelling and Simulation

Cite this

@article{13154cebcb2244019c8109313b79df7d,
title = "Parallel and distributed computing models on a graphics processing unit to accelerate simulation of membrane systems",
abstract = "Membrane systems are parallel distributed computing models that are used in a wide variety of areas. Use of a sequential machine to simulate membrane systems loses the advantage of parallelism in Membrane Computing. In this paper, an innovative classification algorithm based on a weighted network is introduced. Two new algorithms have been proposed for simulating membrane systems models on a Graphics Processing Unit (GPU). Communication and synchronization between threads and thread blocks in a GPU are time-consuming processes. In previous studies, dependent objects were assigned to different threads. This increases the need for communication between threads, and as a result, performance decreases. In previous studies, dependent membranes have also been assigned to different thread blocks, requiring inter-block communications and decreasing performance. The speedup of the proposed algorithm on a GPU that classifies dependent objects using a sequential approach, for example with 512 objects per membrane, was 82×, while for the previous approach (Algorithm 1), it was 8.2×. For a membrane system with high dependency among membranes, the speedup of the second proposed algorithm (Algorithm 3) was 12×, while for the previous approach (Algorithm 1) and the first proposed algorithm (Algorithm 2) that assign each membrane to one thread block, it was 1.8×.",
keywords = "Distributed computing, Graphics processing unit, Membrane Computing, Membrane systems, Parallel processing, Weighted network",
author = "Ali Maroosi and Muniyandi, {Ravie Chandren} and {A Sundararajan}, Elankovan and {Mohd. Zin}, Abdullah",
year = "2014",
doi = "10.1016/j.simpat.2014.05.005",
language = "English",
volume = "47",
pages = "60--78",
journal = "Simulation Modelling Practice and Theory",
issn = "1569-190X",
publisher = "Elsevier",

}

TY - JOUR

T1 - Parallel and distributed computing models on a graphics processing unit to accelerate simulation of membrane systems

AU - Maroosi, Ali

AU - Muniyandi, Ravie Chandren

AU - A Sundararajan, Elankovan

AU - Mohd. Zin, Abdullah

PY - 2014

Y1 - 2014

N2 - Membrane systems are parallel distributed computing models that are used in a wide variety of areas. Use of a sequential machine to simulate membrane systems loses the advantage of parallelism in Membrane Computing. In this paper, an innovative classification algorithm based on a weighted network is introduced. Two new algorithms have been proposed for simulating membrane systems models on a Graphics Processing Unit (GPU). Communication and synchronization between threads and thread blocks in a GPU are time-consuming processes. In previous studies, dependent objects were assigned to different threads. This increases the need for communication between threads, and as a result, performance decreases. In previous studies, dependent membranes have also been assigned to different thread blocks, requiring inter-block communications and decreasing performance. The speedup of the proposed algorithm on a GPU that classifies dependent objects using a sequential approach, for example with 512 objects per membrane, was 82×, while for the previous approach (Algorithm 1), it was 8.2×. For a membrane system with high dependency among membranes, the speedup of the second proposed algorithm (Algorithm 3) was 12×, while for the previous approach (Algorithm 1) and the first proposed algorithm (Algorithm 2) that assign each membrane to one thread block, it was 1.8×.

AB - Membrane systems are parallel distributed computing models that are used in a wide variety of areas. Use of a sequential machine to simulate membrane systems loses the advantage of parallelism in Membrane Computing. In this paper, an innovative classification algorithm based on a weighted network is introduced. Two new algorithms have been proposed for simulating membrane systems models on a Graphics Processing Unit (GPU). Communication and synchronization between threads and thread blocks in a GPU are time-consuming processes. In previous studies, dependent objects were assigned to different threads. This increases the need for communication between threads, and as a result, performance decreases. In previous studies, dependent membranes have also been assigned to different thread blocks, requiring inter-block communications and decreasing performance. The speedup of the proposed algorithm on a GPU that classifies dependent objects using a sequential approach, for example with 512 objects per membrane, was 82×, while for the previous approach (Algorithm 1), it was 8.2×. For a membrane system with high dependency among membranes, the speedup of the second proposed algorithm (Algorithm 3) was 12×, while for the previous approach (Algorithm 1) and the first proposed algorithm (Algorithm 2) that assign each membrane to one thread block, it was 1.8×.

KW - Distributed computing

KW - Graphics processing unit

KW - Membrane Computing

KW - Membrane systems

KW - Parallel processing

KW - Weighted network

UR - http://www.scopus.com/inward/record.url?scp=84902653286&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84902653286&partnerID=8YFLogxK

U2 - 10.1016/j.simpat.2014.05.005

DO - 10.1016/j.simpat.2014.05.005

M3 - Article

VL - 47

SP - 60

EP - 78

JO - Simulation Modelling Practice and Theory

JF - Simulation Modelling Practice and Theory

SN - 1569-190X

ER -