• DocumentCode
    1300590
  • Title

    EasyPDP: An Efficient Parallel Dynamic Programming Runtime System for Computational Biology

  • Author

    Tang, Shanjiang ; Yu, Ce ; Sun, Jizhou ; Lee, Bu-Sung ; Zhang, Tao ; Xu, Zhen ; Wu, Huabei

  • Author_Institution
    Sch. of Comput. Sci. & Techonology, Tianjin Univ., Tianjin, China
  • Volume
    23
  • Issue
    5
  • fYear
    2012
  • fDate
    5/1/2012 12:00:00 AM
  • Firstpage
    862
  • Lastpage
    872
  • Abstract
    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.
  • Keywords
    biology computing; dynamic programming; multiprocessing systems; parallel programming; processor scheduling; software fault tolerance; software reusability; DAG data driven model; DAG pattern library; EasyPDP runtime system; biological dynamic programming algorithms; block-cycle wavefront; complexity reduction; computation time; computational biology; computing distribution model; data dependency; data interdependence relationship; data partitioning; dynamic data task allocation; dynamic data task scheduling; fault tolerance; multicore platforms; multicore system; multiprocessor platforms; parallel dynamic programming runtime system; parallel programming; scientific applications; software reusability; thread creation; Data models; Fault tolerance; Fault tolerant systems; Instruction sets; Libraries; Materials; Runtime; DAG data driven model; DAG pattern; Dynamic programming; Easypdp; block cycle.; fault tolerance; multicore;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2011.218
  • Filename
    5989801