EuroPVM/MPI 2004: Recent Advances in Parallel Virtual Machine and Message Passing Interface pp 139-146 | Cite as
BSP/CGM Algorithms for Maximum Subsequence and Maximum Subarray
Abstract
The maximum subsequence problem finds the contiguous subsequence of n real numbers with the highest sum. This problem appears in the analysis of DNA or protein sequences. It can be solved sequentially in O(n) time. In the 2-D version, given an n × n array A, the maximum subarray of A is the contiguous subarray that has the maximum sum. The sequential algorithm for the maximum subarray problem takes O(n 3) time. We present efficient BSP/CGM parallel algorithms that require a constant number of communication rounds for both problems. In the first algorithm, the sequence stored on each processor is reduced to only five numbers, so that the resulting values can be concentrated on a single processor which runs an adaptation of the sequential algorithm to obtain the result. The parallel algorithm requires O(n/p) computing time. In the second algorithm, the input array is partitioned equally among the processors and we first reduce each subarray to a sequence, and then apply the first algorithm to solve it. The parallel algorithm takes O(n 3/p) computing time. The good performance of the parallel algorithms is confirmed by experimental results run on a 64-node Beowulf parallel computer.
Preview
Unable to display preview. Download preview PDF.
References
- 1.Alves, C.E.R., Cáceres, E.N., Song, S.W.: Computing maximum subsequence in parallel. In: Proceedings II Brazilian Workshop on Bioinformatics - WOB 2003, December 2003, pp. 80–87 (2003)Google Scholar
- 2.Bates, J.L., Constable, R.L.: Proofs as programs. ACM Transactions on Programming Languages and Systems 7(1), 113–136 (1985)MATHCrossRefGoogle Scholar
- 3.Bentley, J.: Programming Pearls. Addison-Wesley, Reading (1986)Google Scholar
- 4.Dehne, F., Fabri, A., Rau-Chaplin, A.: Scalable parallel geometric algorithms for coarse grained multicomputers. In: Proc. ACM 9th Annual Computational Geometry, pp. 298–307 (1993)Google Scholar
- 5.Karlin, S., Brendel, V.: Chance and significance in protein and dna sequence analysis. Science 257, 39–49 (1992)CrossRefGoogle Scholar
- 6.Perumalla, K., Deo, N.: Parallel algorithms for maximum subsequence and maximum subarray. Parallel Processing Letters 5(3), 367–373 (1995)CrossRefGoogle Scholar
- 7.Qiu, K., Akl, S.G.: Parallel maximum sum algorithms on interconnection networks. Technical report, Queen’s Unversity, Department of Computer and Information Science, No. 99-431 (1999)Google Scholar
- 8.Ruzzo, W.L., Tompa, M.: A linear time algorithm for finding all maximal scoring subsequences. In: Proceedings of the Seventh International Conference on Intelligent Systems for Molecular Biology, August 1999, pp. 234–241. AAAI Press, Menlo Park (1999)Google Scholar
- 9.Smith, D.R.: Applications of a strategy for designing divide-and-conquer algorithms. Sci. Comput. Programs 8, 213–229 (1987)MATHCrossRefGoogle Scholar
- 10.Snustad, D.P., Simmons, M.J.: Principles of Genetics. John Wiley and Sons, Chichester (2000)Google Scholar
- 11.Valiant, L.: A bridging model for parallel computation. Communication of the ACM 33(8), 103–111 (1990)CrossRefGoogle Scholar
- 12.Wen, Z.: Fast parallel algorithm for the maximum sum problem. Parallel Computing 21, 461–466 (1995)MATHCrossRefMathSciNetGoogle Scholar