skip to main content
10.1145/1127908.1127969acmconferencesArticle/Chapter ViewAbstractPublication PagesglsvlsiConference Proceedingsconference-collections
Article

Using Lin-Kernighan algorithm for look-up table compression to improve code density

Published: 30 April 2006 Publication History

Abstract

The presented work uses code compression to improve the design efficiency of an embedded system. In particular, we present a method and architecture for compressing the so-called Look-up Tables that are necessary for the de-compression process. No other work has yet focused on minimizing the Look-up Tables that, as we show, have a significant impact on the total overhead of a hardware-based decompression scheme. We introduce a novel and very efficient hardware-supported approach based on Canonical Huffman Coding. Using the Lin-Kernighan algorithm we reduce the Look-up Table size by up to 45%. As a result, we achieve all-over compression ratios as low as 45% (already including the overhead of the Look-up Tables). Thereby, our scheme is entirely orthogonal to approaches that take particularities of a certain instruction set architecture into account, meaning that compression could be further improved. Factoring in the orthogonality, our scheme is the basis for not-yet-achieved efficiency in hardware-supported compression schemes. We have conducted evaluations using a representative set (in terms of size and application domain) of applications and have applied it to three major embedded processor architectures, namely ARM, MIPS and PowerPC. The hardware evaluation shows no performance penalty.

References

[1]
http://www.prodesigncad.com.
[2]
T. O. at el. Instruction encoding techniques for area minimization of instruction rom. ISSS, 1998.
[3]
T. Bell, J. Cleary, and I. Witten. Text compression. Prentice-Hall, Englewood Cliffs, 1990.
[4]
L. Benini and et al. Cached-code compression for energy minimization in embedded processors. International Symposium on Low Power Electronics and Design, Aug. 2001.
[5]
L. Benini and et al. Hardware-assisted data compression for energy minimization in systems with embedded processors. Proc. Design, Automation & Test in Europe Conf., Mar. 2002.
[6]
M. Corliss and et al. Dise: a programmable macro engine for customizing applications. Proc. of the 13th International Symposium on Computer Architecture,ISCA '03, June 2003.
[7]
D. Das, R. Kumar, and P. Chakrabarti. Code compression using unused encoding space for variable length instruction encodings. 8th VLSI Design & Test Workshop, Aug. 2004.
[8]
D. Das, R. Kumar, and P. Chakrabarti. Dictionary based code compression for variable length instruction encodings. 18th Int. Conf. VLSI Design, pages 545--550, 2005.
[9]
M. B. Game. Codepack: Code compression for powerpc processors. PowerPC Embedded Processor Solutions, 2000.
[10]
K. Helsgaun. An effective implementation of the lin-kernighan traveling salesman heuristic. European Journal of Operational Research, 2000.
[11]
S. Klein. Space- and time-efficient decoding with canonical huffman trees. Proceedings of the 8th Annual Symposium on Combinatorial Pattern Matching, 1997.
[12]
C. Lefurgy, P.Bird, I.Chen, and T.Mudge. Improving code density using compression techniques. Micro- 30, 1997.
[13]
H. Lekatsas, J. Henkel., V. Jakkula, and S. Chakradhar. A unified architecture for adaptive compression of data and code on embedded systems. Proc. of 18th. the International Conference on VLSI Design, 2005.
[14]
H. Lekatsas and W. Wolf. Samc: A code compression algorithm for embedded processors. IEEE Transactions on CAD, 1999.
[15]
C. Lin, Y. Xie, and W. Wolf. Lzw-based code compression for vliw embedded systems. Proc. of the Design, Automation and Test in Europe conf.(DATE'04), 2004.
[16]
Y. Nekritch. Decoding of canonical huffman codes with Look-up Tables. Proceedings of the Conference on Data Compression, 2000.
[17]
M. K. Rudberg and L. Wainhamar. High speed pipeline parallel huffman decoding. IEEE International Symposium on Circuits and Systems, 1997.
[18]
Y. Sergei, Larin, and M. Conte. Compiler-driven cached code compression schemes for embedded ilp processors. Proc. of the Annual International Symposium on Microarchitecture, 1999.
[19]
I. Tuduce and T. Gross. Adaptive main memory compression. Proc. USENIX Conf., Apr. 2005.
[20]
A. Wolfe and C. Chanin. Executing compressed programs on an embedded risc processor. in Proc. 25th Annual Int. Symp. Microarchitecture, pages 81--91, Dec. 1992.
[21]
X. Xu, C. Clarke, and S. Jones. High performance codecompression architecture for the embedded arm/thumb processor. Proc. Conf. Computing Frontiers, Apr. 2004.
[22]
L. Yang and et al. Crames: Compressed ram for embedded systems. Proc. CODES+ISSS'05 Conf., Sep. 2005.
[23]
Y. Yoshida and at el. An object code compression approach to embedded processors. ISLPED-97, 1997.

Cited By

View all
  • (2024)An eye tracking system for controlling home devicesReal-time Processing of Image, Depth, and Video Information 202410.1117/12.3028926(29)Online publication date: 20-Jun-2024
  • (2022)Cursor Control Using electroencephalogram (EEG) Technology2022 International Conference on Electrical and Computing Technologies and Applications (ICECTA)10.1109/ICECTA57148.2022.9990531(415-419)Online publication date: 23-Nov-2022
  • (2021)Recent developments in code compression techniques for embedded systemsMaterials Today: Proceedings10.1016/j.matpr.2021.02.643Online publication date: Mar-2021
  • Show More Cited By

Index Terms

  1. Using Lin-Kernighan algorithm for look-up table compression to improve code density

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    GLSVLSI '06: Proceedings of the 16th ACM Great Lakes symposium on VLSI
    April 2006
    450 pages
    ISBN:1595933476
    DOI:10.1145/1127908
    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: 30 April 2006

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. code compression
    2. embedded systems
    3. huffman coding

    Qualifiers

    • Article

    Conference

    GLSVLSI06
    Sponsor:
    GLSVLSI06: Great Lakes Symposium on VLSI 2006
    April 30 - May 1, 2006
    PA, Philadelphia, USA

    Acceptance Rates

    Overall Acceptance Rate 312 of 1,156 submissions, 27%

    Upcoming Conference

    GLSVLSI '25
    Great Lakes Symposium on VLSI 2025
    June 30 - July 2, 2025
    New Orleans , LA , USA

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)An eye tracking system for controlling home devicesReal-time Processing of Image, Depth, and Video Information 202410.1117/12.3028926(29)Online publication date: 20-Jun-2024
    • (2022)Cursor Control Using electroencephalogram (EEG) Technology2022 International Conference on Electrical and Computing Technologies and Applications (ICECTA)10.1109/ICECTA57148.2022.9990531(415-419)Online publication date: 23-Nov-2022
    • (2021)Recent developments in code compression techniques for embedded systemsMaterials Today: Proceedings10.1016/j.matpr.2021.02.643Online publication date: Mar-2021
    • (2019)A universal placement technique of compressed instructions for efficient parallel decompressionIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2009.202173028:8(1224-1236)Online publication date: 3-Jan-2019
    • (2012)VLSI IMPLEMENTATION OF EFFICIENT CODE COMPRESSOR FOR BIO-SIGNAL PROCESSORSProcedia Engineering10.1016/j.proeng.2012.01.95030(953-962)Online publication date: 2012
    • (2010)Huffman-based code compression techniques for embedded processorsACM Transactions on Design Automation of Electronic Systems10.1145/1835420.183542415:4(1-37)Online publication date: 7-Oct-2010
    • (2010)VLSI implementation of single bit control system processor with efficient code density2010 INTERNATIONAL CONFERENCE ON COMMUNICATION CONTROL AND COMPUTING TECHNOLOGIES10.1109/ICCCCT.2010.5670536(103-108)Online publication date: Oct-2010
    • (2008)Instruction re-encoding facilitating dense embedded codeProceedings of the conference on Design, automation and test in Europe10.1145/1403375.1403561(770-775)Online publication date: 10-Mar-2008
    • (2008)Access pattern-based code compression for memory-constrained systemsACM Transactions on Design Automation of Electronic Systems10.1145/1391962.139196813:4(1-30)Online publication date: 3-Oct-2008
    • (2008)Efficient code compression for embedded processorsIEEE Transactions on Very Large Scale Integration (VLSI) Systems10.1109/TVLSI.2008.200195016:12(1696-1707)Online publication date: 1-Dec-2008
    • Show More Cited By

    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