High-Performance Algorithm Engineering for Large-Scale Graph Problems and Computational Biology
Many large-scale optimization problems rely on graph theoretic solutions; yet high-performance computing has traditionally focused on regular applications with high degrees of locality. We describe our novel methodology for designing and implementing irregular parallel algorithms that attain significant performance on high-end computer systems. Our results for several fundamental graph theory problems are the first ever to achieve parallel speedups. Specifically, we have demonstrated for the first time that significant parallel speedups are attainable for arbitrary instances of a variety of graph problems and are developing a library of fundamental routines for discrete optimization (especially in computational biology) on shared-memory systems.
Phylogenies derived from gene order data may prove crucial in answering some fundamental questions in biomolecular evolution. High-performance algorithm engineering offers a battery of tools that can reduce, sometimes spectacularly, the running time of existing approaches. We discuss one such such application, GRAPPA, that demonstrated over a billion-fold speedup in running time (on a variety of real and simulated datasets), by combining low-level algorithmic improvements, cache-aware programming, careful performance tuning, and massive parallelism. We show how these techniques are directly applicable to a large variety of problems in computational biology.
KeywordsComputational Biology High Performance Computing Computer Engineer Department Parallel Speedup Biconnected Component
Unable to display preview. Download preview PDF.
- 3.Bader, D., Sreshta, S., Weisse-Bernstein, N.: Evaluating arithmetic expressions using tree contraction: A fast and scalable parallel implementation for symmetric multiprocessors (SMPs). In: Sahni, S.K., Prasanna, V.K., Shukla, U. (eds.) HiPC 2002. LNCS, vol. 2552, pp. 63–75. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- 4.Bader, D.A., Cong, G.: A fast, parallel spanning tree algorithm for symmetric multiprocessors (SMPs). In: Proc. Int’l Parallel and Distributed Processing Symp. (IPDPS 2004), Santa Fe, NM (2004)Google Scholar
- 5.Bader, D.A., Cong, G.: A fast, parallel spanning tree algorithm for symmetric multiprocessors (SMPs). Journal of Parallel and Distributed Computing (2004) (to appear)Google Scholar
- 6.Bader, D.A., Cong, G.: Fast shared-memory algorithms for computing the minimum spanning forest of sparse graphs. In: Proc. Int’l Parallel and Distributed Processing Symp. (IPDPS 2004), Santa Fe, NM (2004)Google Scholar
- 7.Cong, G., Bader, D.A.: The Euler tour technique and parallel rooted spanning tree. In: Proc. Int’l Conf. on Parallel Processing (ICPP), Montreal, Canada, pp. 448–457 (2004)Google Scholar
- 8.Su, M.F., El-Kady, I., Bader, D.A., Lin, S.Y.: A novel FDTD application featuring OpenMP-MPI hybrid parallelization. In: Proc. Int’l Conf. on Parallel Processing (ICPP), Montreal, Canada, pp. 373–379 (2004)Google Scholar
- 11.Cong, G., Bader, D.: An experimental study of parallel biconnected components algorithms on symmetric multiprocessors (SMPs). Technical report, Electrical and Computer Engineering Department, The University of New Mexico, Albuquerque, NM (2004) (Submitted for publication)Google Scholar
- 12.Bader, D., Cong, G., Feo, J.: A comparison of the performance of list ranking and connected components algorithms on SMP and MTA shared-memory systems. Technical report, Electrical and Computer Engineering Department, The University of New Mexico, Albuquerque, NM (2004) (Submitted for publication)Google Scholar
- 13.Saitou, N., Nei, M.: The neighbor-joining method: A new method for reconstruction of phylogenetic trees. Molecular Biological and Evolution 4, 406–425 (1987)Google Scholar
- 14.Farris, J.: The logical basis of phylogenetic analysis. In: Platnick, N., Funk, V. (eds.) Advances in Cladistics, pp. 1–36. Columbia Univ. Press, New York (1983)Google Scholar
- 17.Bader, D., Moret, B., Vawter, L.: Industrial applications of high-performance computing for phylogeny reconstruction. In: Siegel, H. (ed.) Proc. SPIE Commercial Applications for High-Performance Computing, Denver, CO, SPIE, vol. 4528, pp. 159–168 (2001)Google Scholar
- 18.Bader, D., Moret, B.M., Warnow, T., Wyman, S., Yan, M.: High-performance algorithm engineering for gene-order phylogenies. In: DIMACS Workshop on Whole Genome Comparison, Piscataway, NJ. Rutgers University (2001)Google Scholar
- 19.Moret, B., Bader, D., Warnow, T.: High-performance algorithm engineering for computational phylogenetics. J. Supercomputing 22, 99–111 (2002) (Special issue on the best papers from ICCS 2001)Google Scholar
- 20.Moret, B., Wyman, S., Bader, D., Warnow, T., Yan, M.: A new implementation and detailed study of breakpoint analysis. In: Proc. 6th Pacific Symp. Biocomputing (PSB 2001), Hawaii, pp. 583–594 (2001)Google Scholar
- 21.Moret, B.M., Bader, D., Warnow, T., Wyman, S., Yan, M.: GRAPPA: a high-performance computational tool for phylogeny reconstruction from gene-order data. In: Proc. Botany, Albuquerque, NM (2001)Google Scholar
- 22.Yan, M.: High Performance Algorithms for Phylogeny Reconstruction with Maximum Parsimony. PhD thesis, Electrical and Computer Engineering Department, University of New Mexico, Albuquerque, NM (2004)Google Scholar