skip to main content
10.1145/1140389.1140393acmconferencesArticle/Chapter ViewAbstractPublication PagesscopesConference Proceedingsconference-collections
Article

A software-only compression system for trading-offs between performance and code size

Published: 29 September 2005 Publication History

Abstract

The design of an embedded system is often heavily constrained by its performance objective and budget envelope. Software code compression may reduce the instruction memory space and then the overall cost of the system. However, it may also induce performance degradation. Previous studies proposed selective code compression using profile information in order to reduce the performance penalty. In this paper, we go one step further. We propose a software-only compression system, called SCS, that automatically finds trade-offs between code size and performance. Through an iterative approach, SCS automatically determines which functions to be compressed given a performance constraint and/or a code size constraint in order to guarantee a minimal performance and a maximal code size for an application. Experimentations illustrate that even with a non-optimal software decompression approach, SCS achieves a high compression rate with a minimal performance degradation.

References

[1]
B. De Sutter and H. Vandierendonck and B. De Bus and K. De Bosschere. On the side-effects of code abstraction. In Proc. of LCTES, pages 244--253, 2003.]]
[2]
A. Beszedes, R. Ferenc, T. Gyimothy, A. Dolenc, and K. Karsisto. Survey of code-size reduction methods. ACM Computing Survey, 35(3):223--267, 2003.]]
[3]
S. Debray and W. Evans. Profile-guided code compression. ACM SICPLAN Notices, 37(5):95--105, May 2002.]]
[4]
J. Ernst, W. Evans, C. W. Fraser, T. A. Proebsting, and S. Lucco. Code compression. In Proc. of PLDI, pages 358--365, 1997.]]
[5]
L. Goudge and S. Segars. Thumb: Reducing the cost of 32-bit rise performance in portable and consumer application. In Proc. of COMPCON, pages 176--181, 1996.]]
[6]
The PowerPC Processor Reference Guide. http://www.xilinx.com/bvdocs/userguides/ppc_ref_guide.pdf.]]
[7]
H263.http://www.ee.ubc.ca/image/h263plus/.]]
[8]
K. Heydemann. Schéma global de compilation sous contrainte pour la recherche de compromis entre la taille d'un code et sa performance. PhD thesis, University of Rennes 1, France, 2004.]]
[9]
J. Hoogerbrugge, L. Augusteijn, J. Trum, and R. van de Wiel. A code compression system based on pipelined interpreters. Software : Practice and Experience, 29(11):1005--1023, 1999.]]
[10]
D. A. Huffman. A method for a construction of minimum redundancy codes. IERE, 40(9):1098--1101, 1952.]]
[11]
K. Kissell. Mips16: High-density MIPS for the embedded market. Silicon Graphics MIPS Group, 1997.]]
[12]
T. Kisuki, P. M. W Knijnenburg, and M. F. P. O'Boyle. Combining selection of tile size arid unroll factors using iterative compilation. In Proc. of PACT, pages 237--248, 2000.]]
[13]
S. Y. Larin and T. M. Conte. Compiler-driven cached code compression schemes for embedded ILP processors. In Pro. of MICRO, pages 82--92. IEEE Computer Society Press, 1999.]]
[14]
C. Lee, M. Potkonjak, and W. H. Mangione-Smith. Mediabench: A tool for evaluating and synthesizing multimedia and communications systems. In Proc. of MICRO, pages 330--335, 1997.]]
[15]
C. Lefurgy, E. Piccininni, and T. N. Mudge. Reducing code size with run-time decompression. In Proc. of HPCA, pages 218--227, 2000.]]
[16]
H. Lekatsas, J. Henkel, and W. Wolf. Design and simulation of a pipelined decompression architecture for embedded systems. In Proc. of ISSS, pages 63--68, 2001.]]
[17]
H. Lekatsas, J. Henkel, and W. Wolf. Design of an one-cycle decompression hardware for performance increase in embedded systems. In Proc. of DAC, pages 34--39, 2002.]]
[18]
S. Liao, S. Devadas, and K. Keutzer. A text-compression-based method for code size minimization in embedded systems. ACM Transactions on Design Automation of Electronics Systems, 4(1):12--38, 1999.]]
[19]
The SPARC Architecture Manual. SPARC International Inc. http://www.sparc.org/standards/V8.pdf.]]
[20]
S. Lucco. Split stream dictionnary program compression. In Proc. of PLD1, 2000.]]
[21]
S. Zhou and R. Childers and N. Kumar. Profile guided management of code partition for embedded systems. In Proc. of DATE, pages 1396--1399, 2004.]]
[22]
MIPS32 Architecture For Programmers Vol. II: The MIPS32(tm) Instruction Set. 2001 MIPS Technologies, Inc. http://lsdpl.net/references.html.]]
[23]
Y. Xie, H. Lekatsas, and W. Wolf. Profile-driven code compression. In Proc. of DATE, pages 1--6, 2003.]]
[24]
J. Ziv and A. Lempel. Compression of individual sequences via variable-rate coding. IEEE Transactions on Information Theory, 24(5):530--536, 1978.]]

Cited By

View all
  • (undefined)A Comprehensive Survey of Benchmarks for Improvement of Software's Non-Functional PropertiesACM Computing Surveys10.1145/3711119
  1. A software-only compression system for trading-offs between performance and code size

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SCOPES '05: Proceedings of the 2005 workshop on Software and compilers for embedded systems
    September 2005
    132 pages
    ISBN:1595932070
    DOI:10.1145/1140389
    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: 29 September 2005

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate 38 of 79 submissions, 48%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 05 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (undefined)A Comprehensive Survey of Benchmarks for Improvement of Software's Non-Functional PropertiesACM Computing Surveys10.1145/3711119

    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