Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Online memory compression for embedded systems

Published: 05 March 2010 Publication History

Abstract

Memory is a scarce resource during embedded system design. Increasing memory often increases packaging costs, cooling costs, size, and power consumption. This article presents CRAMES, a novel and efficient software-based RAM compression technique for embedded systems. The goal of CRAMES is to dramatically increase effective memory capacity without hardware or application design changes, while maintaining high performance and low energy consumption. To achieve this goal, CRAMES takes advantage of an operating system's virtual memory infrastructure by storing swapped-out pages in compressed format. It dynamically adjusts the size of the compressed RAM area, protecting applications capable of running without it from performance or energy consumption penalties. In addition to compressing working data sets, CRAMES also enables efficient in-RAM filesystem compression, thereby further increasing RAM capacity.
CRAMES was implemented as a loadable module for the Linux kernel and evaluated on a battery-powered embedded system. Experimental results indicate that CRAMES is capable of doubling the amount of RAM available to applications running on the original system hardware. Execution time and energy consumption for a broad range of examples are rarely affected. When physical RAM is reduced to 62.5% of its original quantity, CRAMES enables the target embedded system to support the same applications with reasonable performance and energy consumption penalties (on average 9.5% and 10.5%), while without CRAMES those applications either may not execute or suffer from extreme performance degradation or instability. In addition to presenting a novel framework for dynamic data memory compression and in-RAM filesystem compression in embedded systems, this work identifies the software-based compression algorithms that are most appropriate for use in low-power embedded systems.

References

[1]
Barkley, R. E. and Lee, T. P. 1989. A lazy buddy system bounded by two coalescing delays per class. In Proceedings of the ACM Symposium Operating Systems Principles. 167--176.
[2]
Bell, T. C., Cleary, J. G., and Witten, I. H. 1990. Text Compression. Prentice Hall.
[3]
Benini, L., Bruni, D., Macii, A., and Macii, E. 2002. Hardware-assisted data compression for energy minimization in systems with embedded processors. In Proceedings of the Design, Automation & Test in Europe Conference.
[4]
Bovet, D. P. and Cesati, M. 2002. Understanding the Linux Kernel 2nd Ed., O'Reilly & Associates, Inc.
[5]
Chen, G., Kandemir, M., Vijaykrishnan, N., Irwin, M. J., Mathiske, B., and Wolczko, M. 2003. Heap compression for memory-constrained Java environments. In Proceedings of the OOPSLA Conference. 282--301.
[6]
Cortes, T., Becerra, Y., and Cervera, R. 2000. Swap compression: Resurrecting old ideas. Softw.-Pract. Exper. J. 30, 567--587.
[7]
Douglis, F. 1993. The compression cache: Using on-line compression to extend physical memory. In Proceedings of the USENIX Conference.
[8]
Kjelso, M., Gooch, M., and Jones, S. 1996. Design and performance of a main memory hardware data compressor. In Proceedings of the Euromicro Conference. 423--430.
[9]
Kjelso, M., Gooch, M., and Jones, S. 1999. Performance evaluation of computer architectures with main memory data compression. In J. Syst. Architect. 45. 571--590.
[10]
Lee, C., Potkonjak, M., and Smith, W. H. M. Mediabench: A tool for evaluating and synthesizing multimedia and communications systems. http://cares.icsl.ucla.edu/MediaBench.
[11]
Lee, T. P. and Barkley, R. E. 1989. A watermark-based lazy buddy system for kernel memory allocation. In Proceedings of the USENIX Conference. 1--13.
[12]
Lekatsas, H., Henkel, J., and Wolf, W. 2000. Code compression for low power embedded system design. In Proceedings of the Design Automation Conference. 294--299.
[13]
McKusick, M. K. and Karels, M. J. 1988. Design of a general-purpose memory allocator for the 4.3BSD UNIX kernel. In Proceedings of the USENIX Conference. 295--303.
[14]
Peterson, J. L. and Norman, T. A. 1977. Buddy systems. Comm. ACM 20, 6, 421--431.
[15]
Rizzo, L. 1997. A very fast algorithm for RAM compression. Oper. Syst. Rev. 31, 2, 36--45.
[16]
Roy, S., Kumar, R., and Prvulovic, M. 2001. Improving system performance with compressed memory. In Proceedings of the Parallel & Distributed Processing Symposium.
[17]
Russinovich, M. and Cogswell, B. 1996. RAM compression analysis. http://ftp.uni-mannheim.de/info/OReilly/windows/win95.update/model.html.
[18]
Shaw, C., Chatterji, D., Sen, P. M. S., Roy, B. N., and Chauduri, P. P. 2003. A pipeline architecture for encompression (encryption + compression) technology. In Proceedings of the International Conference on VLSI Design.
[19]
Tremaine, B., Franaszek, P. A., Robinson, J. T., Schulz, C. O., Smith, T. B., Wazlowski, M., and Bland, P. M. 2001. IBM memory expansion technology. IBM J. Res. Devel. 45, 2.
[20]
Tuduce, I. C. and Gross, T. 2005. Adaptive main memory compression. In Proceedings of the USENIX Conference.
[21]
Wilson, P. R., Kaplan, S. F., and Smaragdakis, Y. 1999. The case for compressed caching in virtual memory systems. In Proceedings of the USENIX Conference. 101--116.
[22]
Woodhouse, D. 2001. JFFS: The journalling flash file system. In Proceedings of the Ottawa Linux Symposium. RedHat Inc.
[23]
Xu, X. H., Clarke, C. T., and Jones, S. R. 2004. High performance code compression architecture for the embedded ARM/Thumb processor. In Proceedings of the Conference Computing Frontiers. 451--456.
[24]
Yang, L., Dick, R. P., Lekatsas, H., and Chakradhar, S. 2005. CRAMES: Compressed RAM for embedded systems. In Proceedings of the International Conference Hardware/Software Codesign and System Synthesis.
[25]
Yokotsuka, M. 2004. Memory motivates cell-phone growth. Wirel. Syst. Design.

Cited By

View all
  • (2022)Prediction-Guided Performance Improvement on Compressed Memory Swap2022 IEEE International Conference on Consumer Electronics (ICCE)10.1109/ICCE53296.2022.9730361(1-6)Online publication date: 7-Jan-2022
  • (2020)Data Compression and Re-computation Based Performance Improvement in Multi-Core Architectures2020 10th Annual Computing and Communication Workshop and Conference (CCWC)10.1109/CCWC47524.2020.9031221(0390-0395)Online publication date: Jan-2020
  • (2019)Modeling the Power Consumption of Function-Level Code Relocation for Low-Power Embedded SystemsApplied Sciences10.3390/app91123549:11(2354)Online publication date: 8-Jun-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 9, Issue 3
February 2010
442 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/1698772
Issue’s Table of Contents
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

Journal Family

Publication History

Published: 05 March 2010
Accepted: 01 August 2006
Revised: 01 May 2006
Received: 01 November 2005
Published in TECS Volume 9, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Embedded system
  2. compression
  3. memory

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)30
  • Downloads (Last 6 weeks)2
Reflects downloads up to 17 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Prediction-Guided Performance Improvement on Compressed Memory Swap2022 IEEE International Conference on Consumer Electronics (ICCE)10.1109/ICCE53296.2022.9730361(1-6)Online publication date: 7-Jan-2022
  • (2020)Data Compression and Re-computation Based Performance Improvement in Multi-Core Architectures2020 10th Annual Computing and Communication Workshop and Conference (CCWC)10.1109/CCWC47524.2020.9031221(0390-0395)Online publication date: Jan-2020
  • (2019)Modeling the Power Consumption of Function-Level Code Relocation for Low-Power Embedded SystemsApplied Sciences10.3390/app91123549:11(2354)Online publication date: 8-Jun-2019
  • (2019)Enhanced Flash Swap: Using NAND Flash As a Swap Device with Lifetime Control2019 IEEE International Conference on Consumer Electronics (ICCE)10.1109/ICCE.2019.8662047(1-5)Online publication date: Jan-2019
  • (2019)Lifetime-Optimal Buffer Management on Flash-based Swap Framework for Smart TV2019 IEEE 9th International Conference on Consumer Electronics (ICCE-Berlin)10.1109/ICCE-Berlin47944.2019.8966227(114-119)Online publication date: Sep-2019
  • (2019)$ezswap$ : Enhanced Compressed Swap Scheme for Mobile DevicesIEEE Access10.1109/ACCESS.2019.29423627(139678-139691)Online publication date: 2019
  • (2019)Context-Aware Energy Optimization for Perpetual IoT-Based Safe CommunitiesSustainable Computing: Informatics and Systems10.1016/j.suscom.2019.01.016Online publication date: Feb-2019
  • (2017)MOCHA: Morphable Locality and Compression Aware Architecture for Convolutional Neural Networks2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS.2017.59(276-286)Online publication date: May-2017
  • (2017)SAFEPOWER projectMicroprocessors & Microsystems10.1016/j.micpro.2017.05.01652:C(89-105)Online publication date: 1-Jul-2017
  • (2017)Improving of entropy adaptive on-line compressionWireless Networks10.1007/s11276-016-1289-923:8(2521-2532)Online publication date: 1-Nov-2017
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media