Cache-Oblivious Computation: Algorithms and Experimental Evaluation

We describe our recent research results on cache-oblivious algorithms for certain types of dynamic programs and triply-nested loop computations, and for priority queues and their application in shortest path problems in graphs. We present some preliminary results from our ongoing experimental work on comparing our cache-oblivious algorithms to currently available code for these problems. Our results demonstrate that cache-oblivious methods can give rise to efficient algorithms both in theory and in practice

[1]  Michael A. Bender,et al.  Cache-oblivious priority queue and graph algorithm applications , 2002, STOC '02.

[2]  Bjarne Knudsen,et al.  Optimal Multiple Parsimony Alignment with Affine Gap Cost Using a Phylogenetic Tree , 2003, WABI.

[3]  Ulrich Meyer,et al.  I/O-Efficient Undirected Shortest Paths , 2003, ESA.

[4]  Alok Aggarwal,et al.  The input/output complexity of sorting and related problems , 1988, CACM.

[5]  Peter Sanders,et al.  Fast priority queues for cached memory , 1999, JEAL.

[6]  R. Ladner,et al.  Cache efficient simple dynamic programming , 2005 .

[7]  Vijaya Ramachandran,et al.  Cache-oblivious dynamic programming , 2006, SODA '06.

[8]  Ulrich Meyer,et al.  Elementary Graph Algorithms in External Memory , 2002, Algorithms for Memory Hierarchies.

[9]  Edward F. Grove,et al.  External-memory graph algorithms , 1995, SODA '95.

[10]  Yuefan Deng,et al.  New trends in high performance computing , 2001, Parallel Computing.

[11]  L. Allison,et al.  Fast, optimal alignment of three sequences using linear gap costs. , 2000, Journal of theoretical biology.

[12]  Charles E. Leiserson,et al.  Cache-Oblivious Algorithms , 2003, CIAC.

[13]  Viktor K. Prasanna,et al.  Optimizing graph algorithms for improved cache performance , 2002, IEEE Transactions on Parallel and Distributed Systems.

[14]  Sivan Toledo Locality of Reference in LU Decomposition with Partial Pivoting , 1997, SIAM J. Matrix Anal. Appl..

[15]  Vijaya Ramachandran,et al.  External-memory exact and approximate all-pairs shortest-paths in undirected graphs , 2005, SODA '05.

[16]  Gerth Stølting Brodal,et al.  Funnel Heap - A Cache Oblivious Priority Queue , 2002, ISAAC.

[17]  Jack J. Dongarra,et al.  Automated empirical optimizations of software and the ATLAS project , 2001, Parallel Comput..

[18]  Ulrich Meyer,et al.  Cache-Oblivious Data Structures and Algorithms for Undirected Breadth-First Search and Shortest Paths , 2004, SWAT.

[19]  Sean R Eddy,et al.  What is dynamic programming? , 2004, Nature Biotechnology.

[20]  Daniel S. Hirschberg,et al.  A linear space algorithm for computing maximal common subsequences , 1975, Commun. ACM.

[21]  Vijaya Ramachandran,et al.  The cache-oblivious gaussian elimination paradigm: theoretical framework and experimental evaluation , 2006, SPAA '06.

[22]  Ulrich Meyer,et al.  External Memory Algorithms for Diameter and All-Pairs Shortest-Paths on Sparse Graphs , 2004, ICALP.

[23]  H. Le,et al.  Cache-oblivious String Algorithms for Bioinformatics 1 , 2007 .

[24]  L FredmanMichael,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1987 .

[25]  Hai-Son Le Algorithms for Identification of Patterns in Biogeography and Median Alignment of Three Sequences in Bioinformatics , 2006 .

[26]  Vijaya Ramachandran,et al.  Cache-oblivious shortest paths in graphs using buffer heap , 2004, SPAA '04.

[27]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1987, JACM.

[28]  Vijay Kumar,et al.  Improved algorithms and data structures for solving graph problems in external memory , 1996, Proceedings of SPDP '96: 8th IEEE Symposium on Parallel and Distributed Processing.