skip to main content
10.1145/1810085.1810124acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
research-article

A compiler-automated array compression scheme for optimizing memory intensive programs

Published: 02 June 2010 Publication History

Abstract

This paper proposes a compiler-automated array compression scheme to reduce the memory bandwidth consumption of programs and thereby to improve their execution speed. Three encoding methods are developed for such compression. Formulas are derived to analyze the cost and benefit of such methods. To ease the programmer's effort for writing and maintaining complex source code that utilizes compression, we implement our technique in a compiler which automatically transforms the program into different versions corresponding to different encoding methods. The compiler also inserts operations to adaptively invoke the preferred version at run time, including the original version which performs no compression. Results show that our compiler-automated adaptive scheme improves the execution speed over the original version by an average of 9% for a set of benchmark programs which perform memory-intensive sparse matrix-vector multiplications (SpMV). These results take into account of overhead to make the adaptive decision. When tested separately, the individual encoding methods speed up program execution by as high as 41%, which compares favorably against previous compression methods manually applied to SpMV.

References

[1]
Williams, S., Oliker, L., Vuduc, R., Shalf, J., Yelick, K., and Demmel, J. Optimization of sparse matrix-vector multiplication on emerging multicore platforms. In Proceedings of the 2007 ACM/IEEE Conference on Supercomputing. SC'07, ACM, New York, NY, 1--12.
[2]
Kourtis, K., Goumas, G., and Koziris, N. Optimizing sparse matrix-vector multiplication using index and value compression. In Proceedings of the 2008 Conference on Computing Frontiers. CF '08. ACM, New York, NY, 87--96.
[3]
Jin, H., Frumkin, M., and Yan, J. The OpenMP Implementation of NAS Parallel Benchmarks and Its Performance. NAS technical report NAS-99-011, NASA Ames Research Center, 1999.
[4]
T. Davis. University of Florida sparse matrix collection. In NA Digest, volume 97, June 1997. http://www.cise.ufl.edu/research/sparse/matrices/
[5]
Jack Dongarra, Andrew Lumsdaine, Xinhiu Niu, Roldan Pozo, Karin Remington. Sparse Matrix Library in C++ for High Performance Architectures. In Proceedings of the Second Object Oriented Numerics Conference, pp. 214--218, 1994.
[6]
Willcock, J. and Lumsdaine, A. Accelerating sparse matrix computations via data compression. In Proceedings of the 20th Annual international Conference on Supercomputing. ICS '06. ACM, New York, NY, 307--316.
[7]
Liu, L., Li, Z., and Sameh, A. H. Analyzing memory access intensity in parallel programs on multicore. In Proceedings of the 22nd Annual international Conference on Supercomputing. ICS '08. ACM, New York, NY, 359--367.
[8]
Open64: A Framework for High performance Compiler. International Symposium on Code Generation and Optimization (CGO) 2007. http://www.open64.net
[9]
Youcef Saad. SPARSKIT: a basic tool-kit for sparse matrix computations. Technique report, Computer Science Department, University of Minnesota, Minneapolis, MN 55455, June 1994. Version 2
[10]
Sadaf R. Alam, Richard F. Barrett, Jeffery A. Kuehn, Philip C. Roth, and Jeffrey S. Vetter. Characterization of Scientific Workloads on Systems with Multi-Core Processors. In International Symposium on Workload Characterization. IISWC'06 225--236.
[11]
Lei Chai, et al. Understanding the Impact of Multi-Core Architecture in Cluster Computing: A Case Study with Intel Dual-Core System, In Cluster Computing and the Grid, 2007.
[12]
B. Steensgaard. Points-to analysis in almost linear time. In ACM Symposium on Principles of Programming Languages, January 1996.
[13]
Lili Ju. MGMRES: Restarted GMRES solver for sparse linear systems. http://people.sc.fsu.edu/~burkardt/c_src/mgmres/mgmres.html.
[14]
E. Polizzi, Ahmed H. Sameh. The SPIKE algorithm: a parallel hybrid banded system solver. Parallel Computing, 2006
[15]
Jack Dongarra, Victor Eijkhout. SparseBench: a sparse iterative benchmark. http://www.netlib.org/benchmark/sparsebench/
[16]
Saad, Y. and Sosonkina, M. pARMS: A package for the parallel iterative solution of general large sparse linear systems user's guide. Report UMSI2004-8, Minnesota Supercomputer Institute, University of Minnesota, Minneapolis, MN, 2004.
[17]
W. H. Harrison. Compiler Analysis of the Value Ranges for Variables, IEEE Transactions on Software Engineering, vol. 3, no. 3, pp. 243--250, May 1977.
[18]
Zukowski, M., Heman, S., Nes, N., and Boncz, P. 2006. Super-Scalar RAM-CPU Cache Compression. In Proceedings of the 22nd international Conference on Data Engineering. ICDE IEEE Computer Society, Washington, DC, 59.
[19]
Zukowski, M. 2009. Balancing vectorized query execution with bandwidth-optimized storage. Ph.D thesis, University of Amsterdam.

Cited By

View all
  • (2012)Extendable pattern-oriented optimization directivesACM Transactions on Architecture and Code Optimization (TACO)10.1145/2355585.23555879:3(1-37)Online publication date: 5-Oct-2012
  • (2011)Extendable pattern-oriented optimization directivesProceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization10.5555/2190025.2190058(107-118)Online publication date: 2-Apr-2011
  • (2011)Extendable pattern-oriented optimization directivesInternational Symposium on Code Generation and Optimization (CGO 2011)10.1109/CGO.2011.5764679(107-118)Online publication date: Apr-2011

Index Terms

  1. A compiler-automated array compression scheme for optimizing memory intensive programs

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICS '10: Proceedings of the 24th ACM International Conference on Supercomputing
    June 2010
    365 pages
    ISBN:9781450300186
    DOI:10.1145/1810085
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 June 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. adaptive code selection
    2. bandwidth consumption reduction
    3. compiler implementation
    4. compression
    5. memory intensive programs

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ICS'10
    Sponsor:
    ICS'10: International Conference on Supercomputing
    June 2 - 4, 2010
    Ibaraki, Tsukuba, Japan

    Acceptance Rates

    Overall Acceptance Rate 629 of 2,180 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 25 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2012)Extendable pattern-oriented optimization directivesACM Transactions on Architecture and Code Optimization (TACO)10.1145/2355585.23555879:3(1-37)Online publication date: 5-Oct-2012
    • (2011)Extendable pattern-oriented optimization directivesProceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization10.5555/2190025.2190058(107-118)Online publication date: 2-Apr-2011
    • (2011)Extendable pattern-oriented optimization directivesInternational Symposium on Code Generation and Optimization (CGO 2011)10.1109/CGO.2011.5764679(107-118)Online publication date: Apr-2011

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media