Abstract
A cache oblivious matrix transposition algorithm is implemented and analyzed using simulation and hardware performance counters. Contrary to its name, the cache oblivious matrix transposition algorithm is found to exhibit a complex cache behavior with a cache miss ratio that is strongly dependent on the associativity of the cache. In some circumstances the cache behavior is found to be worst than that of a naïve transposition algorithm. While the total size is an important factor in determining cache usage efficiency, the sub-block size, associativity, and cache line replacement policy are also shown to be very important.
Chapter PDF
Similar content being viewed by others
Keywords
- Matrix Dimension
- Cache Size
- Cache Line
- Matrix Transposition
- Performance Application Programmer Interface
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Prokop, H.: Cache-Oblivious Algoirthms, MSc Thesis, Dept. Electrical Eng. and Computer Science, Massachusetts Institute of Technology (1999)
Frigo, M., Leiserson, C., Prokop, H., Ramachandran, S.: Cache-Oblivious Algoirthms. In: Proceedings of the 40th Annual Symposium on Foundations of Computer Science, pp. 285–297. IEEE Computer Science Press, Los Alamitos (1999) (extended abstract)
Frigo, M.: Portable High Performance Programs, PhD Thesis, Dept. Electrical Engineering and Computer Science, Massachusetts Institute of Technology (1999)
Demaine, E.D.: Cache-Oblivious Algoirthms and Data Structures, BRICS, University of Aarhus, Denmark, June 27-July 1. Lecture notes in Computer Science (2002)
Chatterjee, S., Sen, S.: Cache-Efficient Matrix Transposition. In: Proceedings of the 6th International Conference on High Performance Computing Architecture, p. 195 (2000)
Performance Application Programmer Interface (PAPI), http://icl.cs.utk.edu/projects/papi
Performance Counter Library (PCL), http://www.fz-juelich.de/zam/PCL
Olsen, J.H., Skov, S.C.: Cache-Oblivious Algoritsms in Practice, MSc Thesis, Dept Computing, University of Copenhagen (2002)
Arge, L., Bender, M., Demaine, E., Holland-Minkley, B., Munro, J.: Cache-Oblivious Priority Queue and Graph Algorithhm Applications. Submitted to SIAM journal on Computing (May 2003)
Rønn, F.: Cache-0blivious Searching and Sorting, MSc thesis, Dept Computer Science, University of Copenhagen (July 2003)
Vinther, K.: Engineering Cache-Oblivious Sorting Algoirthms, MSc Thesis, Dept. Computer Science, University of Aarhus (June 2003)
May, D., Pas, R., Loh, E.: The RWTH SunFire SMP-Cluster User’s Guide (version 3.1) (July 2003), http://www.rz.rwth-aachen.de/computing/info/sun/primer/primer_V3.1.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tsifakis, D., Rendell, A.P., Strazdins, P.E. (2004). Cache Oblivious Matrix Transposition: Simulation and Experiment. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds) Computational Science - ICCS 2004. ICCS 2004. Lecture Notes in Computer Science, vol 3037. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24687-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-24687-9_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22115-9
Online ISBN: 978-3-540-24687-9
eBook Packages: Springer Book Archive