skip to main content
10.1145/1128022.1128037acmconferencesArticle/Chapter ViewAbstractPublication PagescfConference Proceedingsconference-collections
Article

Profile-driven compression scheme for embedded systems

Published:03 May 2006Publication History

ABSTRACT

The extensive usage of embedded systems involves running complex applications that require tightly limited resources such as memory and storage. One efficient way to satisfy the resource requirements is to reduce the code size through code compression. Our work describes a software-based code compression scheme that reduces the storage space of a program, which in turn induces a reduction of access time to off-chip memory in SoC embedded architectures. To select those sections of code that are most advantageous for compression, our scheme utilizes profiling information to evaluate and trade off storage space reduction for future run-time overhead. During run-time, the compressed parts are decompressed as necessary into a run-time buffer for execution. Experimental results on the SPEC CPU2000 and MediaBench suites show reduction in code size averaging 18.5%, along with reasonable memory consumption overhead averaging 3.8%, and a reasonable run-time overhead averaging 7.8%.

References

  1. T. Bell, J. Cleary and I. Witten. Text compression. Prentice Hall, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Benes, S. M. Nowick and A. Wolfe. A Fast Asynchronous Huffman Decoder for Compressed-Code Embedded Processors. In Proceedings of the 4th International Symposium on Advanced Research in Asynchronous Circuits and Systems (ASYNC '98), March 1998, pp. 43--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Benini, A. Macii and M. Poncino. Energy-Aware Design of Embedded Memories: A Survey of Technologies, Architectures, and Optimization Techniques. ACM Transactions on Embedded Computing Systems (TECS), Volume 2, Issue 1 (February 2003), pp. 5--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Debray and W. Evans. Profile-Guided Code Compression. In Proceedings of the conference on Programming Language Design and Implementation (PLDI '02), June 2002, pp. 95--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Game and A. Booker. "CodePack: Code Compression for PowerPC Processors". MicroNews 5(1), IBM, 1999.Google ScholarGoogle Scholar
  6. D. Kirovski, J. Kin and W. H. Mangion-Smith. Procedure Based Program Compression. In Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO '97), December 1997, pp. 204--217. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Kozuch and A. Wolfe. Compression of Embedded Systems Programs. In Proceedings of the IEEE International Conference on Computer Design: VLSI in Computer & Processors (ICCD '94), October 1994, pp. 270--277. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Lefurgy, E. Piccininni and T. Mudge. Reducing Code Size with Run-time Decompression. In Proceedings of the 6th International Symposium on High Performance Computer Architecture (HPCA 2000), January 2000, pp. 218.Google ScholarGoogle Scholar
  9. C. Lefurgy, P. Bird, I.-C. Chen and T. Mudge. Improving Code Density Using Compression Techniques. In Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO '97), December 1997, pp. 194--203. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. H. Lekatas and W. Wolf. Code Compression for embedded Systems. In Proceedings of the 35th Conference on Design Automation (DAC 1998), June 1998, pp. 516--521. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. H. Lekatas and W. Wolf. Random Access Decompression using Binary Arithmetic Coding. In Proceedings of IEEE Data Compression Conference (DCC '99), March 1999, pp. 306--315. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Liao, S. Devadas and K. Keutzer. Code Density Optimization for Embedded DSP Processors Using Data Compression Techniques. In Proceedings of the 16th Conference on Advanced Research in VLSI (ARVLSI'95), March 1995, pp. 272--285. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. W. Lyons. Meeting the Embedded Design Needs of Automotive Applications. In Proceedings of the conference on Design, Automation and Test in Europe (DATE'05), March 2005, pp. 142--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. MediaBench. http://cares.icsl.ucla.edu/mediabench.Google ScholarGoogle Scholar
  15. I. Nahshon and D. Bernstein. FDPR - A Post-Pass Object Code Optimization Tool. In Proceedings of the Poster Session of the 6th International Conference on Compiler Construction (CC'96), April 1996, pp. 97--104.Google ScholarGoogle Scholar
  16. M. Nelson. DataCompression.info. http://datacompression.info/.Google ScholarGoogle Scholar
  17. S. Shogan and B. R. Childers. Compact Binaries with Code Compression in a Software Dynamic Translator. In Proceedings of the conference on Design, Automation and Test in Europe (DATE'04), February 2004, pp. 1052--1057. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. SPEC CPU2000. http://www.spec.org/cpu2000/.Google ScholarGoogle Scholar
  19. M. Timmermans. BICOM BIjective COMpressor. http://www3.sympatico.ca/mt0000/bicom/.Google ScholarGoogle Scholar
  20. R. N. Williams. An Extremely Fast Ziv-Lempel Data Compression Algorithm. In Proceedings of the IEEE Data Compression Conference (DCC 1991), April 1991, pp. 362--371.Google ScholarGoogle ScholarCross RefCross Ref
  21. A. Wolfe and A. Chanin. Executing Compressed Programs on an Embedded RISC Architecture. In Proceedings of the 25th Annual International Symposium on Microarchitecture, December 1992, pp. 81--91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Y. Xie, W. Wolf and H. Lekatsas. Profile-Driven Selective Code Compression. In Proceedings of the conference on Design, Automation and Test in Europe (DATE'03), March 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Y. Yoshida, B.-Y. Song, H. Okuhata, T. Onoye and I. Shirakawa. An Object Code Compression Approach to Embedded Processors. 1997 International Symposium on Low-Power Electronics and Design (ISLPED'97), pp. 265--268. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Profile-driven compression scheme for embedded systems

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        CF '06: Proceedings of the 3rd conference on Computing frontiers
        May 2006
        430 pages
        ISBN:1595933026
        DOI:10.1145/1128022

        Copyright © 2006 ACM

        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 3 May 2006

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate240of680submissions,35%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader