A Generic Parallel Pattern-Based System for Bioinformatics

Parallel program design patterns provide users a new way to get parallel programs without much effort. However, it is always a serious limitation for most existing parallel pattern-based systems that there is no generic description for the structure and behavior of a pattern at application level. This limitation has so far greatly hindered the practical use of these systems. In this paper, we present a new parallel pattern-based system for bioinformatics. The underlying programming techniques are based on generic programming, a programming technique suited for the generic representation of abstract concepts. This allows the new system to be built in a generic way at application level. We show how this system efficiently addresses the shortcomings of existing systems and leads to significant runtime savings for some popular applications in bioinformatics on PC clusters.

[1]  Michael Zuker,et al.  Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information , 1981, Nucleic Acids Res..

[2]  M S Waterman,et al.  Identification of common molecular subsequences. , 1981, Journal of molecular biology.

[3]  Eugene W. Myers,et al.  Optimal alignments in linear space , 1988, Comput. Appl. Biosci..

[4]  James C. Browne,et al.  CODE: a unified approach to parallel programming , 1989, IEEE Software.

[5]  Zvi Galil,et al.  Dynamic Programming with Convexity, Concavity, and Sparsity , 1992, Theor. Comput. Sci..

[6]  Jonathan Schaeffer,et al.  The Enterprise model for developing distributed applications , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[7]  James C. Browne,et al.  Visual programming and debugging for parallel computing , 1995, IEEE Parallel Distributed Technol. Syst. Appl..

[8]  Gianluca Dini,et al.  Graphical design of distributed applications through reusable components , 1995, IEEE Parallel Distributed Technol. Syst. Appl..

[9]  P. Pevzner,et al.  Gene recognition via spliced sequence alignment. , 1996, Proceedings of the National Academy of Sciences of the United States of America.

[10]  Ajit Singh,et al.  Design patterns for parallel computing using a network of processors , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

[11]  Sean R. Eddy,et al.  Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids , 1998 .

[12]  D. Mount Bioinformatics: Sequence and Genome Analysis , 2001 .

[13]  Bruno R. Preiss,et al.  From Design Patterns to Parallel Architectural Skeletons , 2002, J. Parallel Distributed Comput..

[14]  Jens Gerlach Generic Programming of Parallel Applications with Janus , 2002, Parallel Process. Lett..

[15]  Weiguo Liu,et al.  Parallel design pattern for computational biology and scientific computing applications , 2003, 2003 Proceedings IEEE International Conference on Cluster Computing.

[16]  Erik Hagersten,et al.  THROOM — Supporting POSIX Multithreaded Binaries on a Cluster , 2003 .

[17]  Jonathan Schaeffer,et al.  Why Not Use a Pattern-Based Parallel Programming System? , 2003, Euro-Par.

[18]  Kun-Mao Chao,et al.  A generalized global alignment algorithm , 2003, Bioinform..