High-Performance Algorithm Engineering for Computational Phylogenetics
The Journal of Supercomputing - Special issue on computational issues in fluid dynamics optimization and simulation
HiPC '02 Proceedings of the 9th International Conference on High Performance Computing
Using PRAM Algorithms on a Uniform-Memory-Access Shared-Memory Architecture
WAE '01 Proceedings of the 5th International Workshop on Algorithm Engineering
Algorithm engineering for parallel computation
Experimental algorithmics
A Novel FDTD Application Featuring OpenMP-MPI Hybrid Parallelization
ICPP '04 Proceedings of the 2004 International Conference on Parallel Processing
The Euler Tour Technique and Parallel Rooted Spanning Tree
ICPP '04 Proceedings of the 2004 International Conference on Parallel Processing
High-performance algorithms for phylogeny reconstruction with maximum parsimony
High-performance algorithms for phylogeny reconstruction with maximum parsimony
A fast, parallel spanning tree algorithm for symmetric multiprocessors (SMPs)
Journal of Parallel and Distributed Computing
A parallel state assignment algorithm for finite state machines
HiPC'04 Proceedings of the 11th international conference on High Performance Computing
Lock-Free parallel algorithms: an experimental study
HiPC'04 Proceedings of the 11th international conference on High Performance Computing
JSSPP'10 Proceedings of the 15th international conference on Job scheduling strategies for parallel processing
Hi-index | 0.00 |
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.