EasyPDP: an efficient parallel dynamic programming runtime system for computational biology

Dynamic programming (DP) is a popular and efficient technique in many scientific applications such as computational biology. Nevertheless, its performance is limited due to the burgeoning volume of scientific data, and parallelism is necessary and crucial to keep the computation time at acceptable l...

Full description

Saved in:
Bibliographic Details
Main Authors: Tang, Shanjiang, Yu, Ce, Sun, Jizhou, Lee, Bu-Sung, Zhang, Tao, Xu, Zhen, Wu, Huabei
Other Authors: School of Computer Engineering
Format: Article
Language:English
Published: 2013
Subjects:
Online Access:https://hdl.handle.net/10356/100238
http://hdl.handle.net/10220/16509
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-100238
record_format dspace
spelling sg-ntu-dr.10356-1002382020-05-28T07:17:34Z EasyPDP: an efficient parallel dynamic programming runtime system for computational biology Tang, Shanjiang Yu, Ce Sun, Jizhou Lee, Bu-Sung Zhang, Tao Xu, Zhen Wu, Huabei School of Computer Engineering DRNTU::Engineering::Computer science and engineering::Theory of computation::Analysis of algorithms and problem complexity Dynamic programming (DP) is a popular and efficient technique in many scientific applications such as computational biology. Nevertheless, its performance is limited due to the burgeoning volume of scientific data, and parallelism is necessary and crucial to keep the computation time at acceptable levels. The intrinsically strong data dependency of dynamic programming makes it difficult and error-prone for the programmer to write a correct and efficient parallel program. Therefore, this paper builds a runtime system named EasyPDP aiming at parallelizing dynamic programming algorithms on multicore and multiprocessor platforms. Under the concept of software reusability and complexity reduction of parallel programming, a DAG Data Driven Model is proposed, which supports those applications with a strong data interdependence relationship. Based on the model, EasyPDP runtime system is designed and implemented. It automatically handles thread creation, dynamic data task allocation and scheduling, data partitioning, and fault tolerance. Five frequently used DAG patterns from biological dynamic programming algorithms have been put into the DAG pattern library of EasyPDP, so that the programmer can choose to use any of them according to his/her specific application. Besides, an ideal computing distribution model is proposed to discuss the optimal values for the performance tuning arguments of EasyPDP. We evaluate the performance potential and fault tolerance feature of EasyPDP in multicore system. We also compare EasyPDP with other methods such as Block-Cycle Wavefront (BCW). The experimental results illustrate that EasyPDP system is fine and provides an efficient infrastructure for dynamic programming algorithms. 2013-10-16T03:47:27Z 2019-12-06T20:19:03Z 2013-10-16T03:47:27Z 2019-12-06T20:19:03Z 2012 2012 Journal Article Tang, S. J., Yu, C., Sun, J. Z., Lee, B. S., Zhang, T., Xu, Z., & Wu, H. B. (2012). EasyPDP: an efficient parallel dynamic programming runtime system for computational biology. IEEE transactions on parallel and distributed systems, 23(5), 862-872. https://hdl.handle.net/10356/100238 http://hdl.handle.net/10220/16509 10.1109/TPDS.2011.218 en IEEE transactions on parallel and distributed systems
institution Nanyang Technological University
building NTU Library
country Singapore
collection DR-NTU
language English
topic DRNTU::Engineering::Computer science and engineering::Theory of computation::Analysis of algorithms and problem complexity
spellingShingle DRNTU::Engineering::Computer science and engineering::Theory of computation::Analysis of algorithms and problem complexity
Tang, Shanjiang
Yu, Ce
Sun, Jizhou
Lee, Bu-Sung
Zhang, Tao
Xu, Zhen
Wu, Huabei
EasyPDP: an efficient parallel dynamic programming runtime system for computational biology
description Dynamic programming (DP) is a popular and efficient technique in many scientific applications such as computational biology. Nevertheless, its performance is limited due to the burgeoning volume of scientific data, and parallelism is necessary and crucial to keep the computation time at acceptable levels. The intrinsically strong data dependency of dynamic programming makes it difficult and error-prone for the programmer to write a correct and efficient parallel program. Therefore, this paper builds a runtime system named EasyPDP aiming at parallelizing dynamic programming algorithms on multicore and multiprocessor platforms. Under the concept of software reusability and complexity reduction of parallel programming, a DAG Data Driven Model is proposed, which supports those applications with a strong data interdependence relationship. Based on the model, EasyPDP runtime system is designed and implemented. It automatically handles thread creation, dynamic data task allocation and scheduling, data partitioning, and fault tolerance. Five frequently used DAG patterns from biological dynamic programming algorithms have been put into the DAG pattern library of EasyPDP, so that the programmer can choose to use any of them according to his/her specific application. Besides, an ideal computing distribution model is proposed to discuss the optimal values for the performance tuning arguments of EasyPDP. We evaluate the performance potential and fault tolerance feature of EasyPDP in multicore system. We also compare EasyPDP with other methods such as Block-Cycle Wavefront (BCW). The experimental results illustrate that EasyPDP system is fine and provides an efficient infrastructure for dynamic programming algorithms.
author2 School of Computer Engineering
author_facet School of Computer Engineering
Tang, Shanjiang
Yu, Ce
Sun, Jizhou
Lee, Bu-Sung
Zhang, Tao
Xu, Zhen
Wu, Huabei
format Article
author Tang, Shanjiang
Yu, Ce
Sun, Jizhou
Lee, Bu-Sung
Zhang, Tao
Xu, Zhen
Wu, Huabei
author_sort Tang, Shanjiang
title EasyPDP: an efficient parallel dynamic programming runtime system for computational biology
title_short EasyPDP: an efficient parallel dynamic programming runtime system for computational biology
title_full EasyPDP: an efficient parallel dynamic programming runtime system for computational biology
title_fullStr EasyPDP: an efficient parallel dynamic programming runtime system for computational biology
title_full_unstemmed EasyPDP: an efficient parallel dynamic programming runtime system for computational biology
title_sort easypdp: an efficient parallel dynamic programming runtime system for computational biology
publishDate 2013
url https://hdl.handle.net/10356/100238
http://hdl.handle.net/10220/16509
_version_ 1681059787120312320