skip to main content
research-article

ILP-Based energy minimization techniques for banked memories

Published: 25 July 2008 Publication History

Abstract

Main memories can consume a significant portion of overall energy in many data-intensive embedded applications. One way of reducing this energy consumption is banking, that is, dividing available memory space into multiple banks and placing unused (idle) memory banks into low-power operating modes. Prior work investigated code-restructuring- and data-layout-reorganization-based approaches for increasing the energy benefits that could be obtained from a banked memory architecture. This article explores different techniques that can potentially coexist within the same optimization framework for maximizing benefits of low-power operating modes. These techniques include employing nonuniform bank sizes, data migration, data compression, and data replication. By using these techniques, we try to increase the chances for utilizing low-power operating modes in a more effective manner, and achieve further energy savings over what could be achieved by exploiting low-power modes alone. Specifically, nonuniform banking tries to match bank sizes with application-data access patterns. The goal of data migration is to cluster data with similar access patterns in the same set of banks. Data compression reduces the size of the data used by an application, and thus helps reduce the number of memory banks occupied by data. Finally, data replication increases bank idleness by duplicating select read-only data blocks across banks. We formulate each of these techniques as an ILP (integer linear programming) problem, and solve them using a commercial solver. Our experimental analysis using several benchmarks indicates that all the techniques presented in this framework are successful in reducing memory energy consumption. Based on our experience with these techniques, we recommend to compiler writers for banked memories to consider data compression, replication, and migration.

References

[1]
Anand, M., Nightingale, E. B., and Flinn, J. 2003. Self-Tuning wireless network power management. In Proceedings of the 9th Annual International Conference on Mobile Computing and Networking (MobiCom), 176--189.
[2]
Azizi, N., Najm., F. N., and Moshovos, A. 2003. Low-Leakage asymmetric-cell sram. IEEE Trans. Very Large Scale Integr. Syst. 11, 4, 701--715.
[3]
Brooks, D., Tiwari, V., and Martonosi, M. 2000. Wattch: A framework for architectural-level power analysis and optimizations. In Proceedings of the 27th Annual International Symposium on Computer Architecture, 83--94.
[4]
Bunda, J., Fussell, D., and Athas, W. C. 1995. Energy-Efficient instruction set architecture for CMOS microprocessors. In Proceedings of the 28th Hawaii International Conference on System Sciences (HICSS), 298.
[5]
Cao, Y., Tomiyama, H., Okuma, T., and Yasuura, H. 2002. Data memory design considering effective bitwidth for low-energy embedded systems. In Proceedings of the 15th International Symposium on System Synthesis, 201--206.
[6]
Catthoor, F., de Greef, E., and Suytack, S. 1998. Custom Memory Management Methodology: Exploration of Memory Organisation for Embedded Multimedia System Design. Kluwer Academic, Norwell, MA.
[7]
Chandra, S. and Vahdat, A. 2002. Application-Specific network management for energy-aware streaming of popular multimedia formats. In Proceedings of the General Track: USENIX Annual Technical Conference. USENIX Association, Berkeley, CA, 329--342.
[8]
Chang, N., Choi, I., and Shim, H. 2004. DLS: Dynamic backlight luminance scaling of liquid crystal display. IEEE Trans. Very Large Scale Integr. Syst. 12, 8, 837--846.
[9]
Choi, I., Shim, H., and Chang, N. 2002. Low-Power color TFT LCD display for hand-held embedded systems. In Proceedings of the International Symposium on Low Power Electronics and Design (ISPLED), 112--117.
[10]
Delaluz, V., Kandemir, M., and Sezer, U., eds. 2003. Improving Off-Chip Memory Energy Behavior in a Multi-Processor, Multi-Bank Environment. Lecture Notes in Computer Science, vol. 2624. Springer.
[11]
Delaluz, V., Kandemir, M., Vijaykrishnan, N., and Irwin, M. J. 2000. Energy-Oriented compiler optimizations for partitioned memory architectures. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), 138--147.
[12]
Delaluz, V., Kandemir, M., Vijaykrishnan, N., Sivasubramaniam, A., and Irwin, M. J. 2001. DRAM energy management using software and hardware directed power mode control. In Proceedings of the 7th International Symposium on High-Performance Computer Architecture (HPCA), 159.
[13]
Douglis, F., Krishnan, P., and Bershad, B. N. 1995. Adaptive disk spin-down policies for mobile computers. In Proceedings of the 2nd Symposium on Mobile and Location-Independent Computing (MLICS), USENIX Association, Berkeley, CA, 121--137.
[14]
eun Lee, J., Choi, K., and Dutt, N. D. 2003. Energy-Efficient instruction set synthesis for application-specific processors. In Proceedings of the International Symposium on Low Power Electronics and Design (ISPLED), 330--333.
[15]
Fan, X., Ellis, C., and Lebeck, A. 2001. Memory controller policies for dram power management. In Proceedings of the 2001 International Symposium on Low Power Electronics and Design. 129--134.
[16]
Fan, X., Ellis, C., and Lebeck, A. 2002. Modeling of DRAM power control policies using deterministic and stochastic Petri nets. In Proceedings of the Workshop on Power Aware Computer Systems (PACS). Springer.
[17]
Farkas, K. I., Flinn, J., Back, G., Grunwald, D., and Anderson, J. M. 2000. Quantifying the energy consumption of a pocket computer and a Java virtual machine. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, 252--263.
[18]
Farrahi, A., Tellez, G., and Sarrafzadeh, M. 1998. Exploiting sleep mode for memory partitions and other applications. In Proceedings of the VLSI Design Conference, 271--287.
[19]
Flautner, K., Kim, N. S., Martin, S., Blaauw, D., and Mudge, T. 2002. Drowsy caches: Simple techniques for reducing leakage power. In Proceedings of the 29th Annual International Symposium on Computer Architecture (ISCA), 148--157.
[20]
Ghose, K. and Kamble, M. B. 1999. Reducing power in superscalar processor caches using subbanking, multiple line buffers and bit-line segmentation. In Proceedings of the International Symposium on Low Power Electronics and Design (ISPLED), 70--75.
[21]
Greenawalt, P. M. 1994. Modeling power management for hard disks. In Proceedings of the 2nd International Workshop on Modeling, Analysis, and Simulation on Computer and Telecommunication Systems (MASCOTS), 62--66.
[22]
Gurumurthi, S., Sivasubramaniam, A., Kandemir, M., and Franke, H. 2003. Reducing disk power consumption in servers with DRPM. Comput. 36, 12, 59--66.
[23]
Helmbold, D. P., Long, D. D. E., and Sherrod, B. 1996. A dynamic disk spin-down technique for mobile computing. In Proceedings of the 2nd Annual International Conference on Mobile Computing and Networking (MobiCom), 130--142.
[24]
Inoue, K., Ishihara, T., and Murakami, K. 1999. Way-Predicting set-associative cache for high performance and low energy consumption. In Proceedings of the International Symposium on Low Power Electronics and Design (ISPLED), 273--275.
[25]
Inoue, K., Moshnyaga, V. G., and Murakami, K. 2002. A history-based i-cache for low-energy multimedia applications. In Proceedings of the International Symposium on Low Power Electronics and Design (ISPLED), 148--153.
[26]
Jejurikar, R., Pereira, C., and Gupta, R. 2004. Leakage aware dynamic voltage scaling for real-time embedded systems. In Proceedings of the 41st Annual Conference on Design Automation (DAC), 275--280.
[27]
Kamble, M. B. and Ghose, K. 1997. Analytical energy dissipation models for low-power caches. In Proceedings of the International Symposium on Low Power Electronics and Design (ISPED), 143--148.
[28]
Kandemir, M., Kolcu, I., and Kadayif, I. 2002. Influence of loop optimizations on energy consumption of multi-bank memory systems. In Proceedings of the 11th International Conference on Compiler Construction, 276--292.
[29]
Kandemir, M., Ramanujam, J., and Choudhary, A. 1999. Improving cache locality by a combination of loop and data transformations. IEEE Trans. Comput. 48, 2, 159--167.
[30]
Kaxiras, S., Hu, Z., and Martonosi, M. 2001. Cache decay: Exploiting generational behavior to reduce cache leakage power. In Proceedings of the 28th Annual International Symposium on Computer Architecture (ISCA).
[31]
Kesselman, A., Kowalski, D., and Segal, M. 2005. Energy efficient communication in ad hoc networks from user's and designer's perspective. SIGMOBILE Mob. Comput. Commun. Rev. 9, 1, 15--26.
[32]
Kim, S., Vijaykrishnan, N., Kandemir, M., Sivasubramaniam, A., Irwin, M. J., and Geethanjali, E. 2001. Power-Aware partitioned cache architectures. In Proceedings of the International Symposium on Low Power Electronics and Design (ISPLED), 64--67.
[33]
Kim, W., Kim, J., and Min, S. L. 2004. Preemption-Aware dynamic voltage scaling in hard real-time systems. In Proceedings of the International Symposium on Low Power Electronics and Design (ISPLED), 393--398.
[34]
Lebeck, A. R., Fan, X., Zeng, H., and Ellis, C. 2000. Power aware page allocation. SIGPLAN Not. 35, 11, 105--116.
[35]
Magnusson, P. S., Christensson, M., Eskilson, J., Forsgren, D., Hllberg, G., Hgberg, J., Larsson, F., Moestedt, A., and Werner, B. 2002. Simics: A full system simulation platform. IEEE Comput. 35, 2, 50--58.
[36]
MiBench. 2001. MiBench version 1.0. http://www.eecs.umich.edu/mibench/.
[37]
Moon, J.-S., Athas, W. C., Beerel, P. A., and Draper, J. T., eds. 2002. Low-Power Sequential Access Memory Design.
[38]
Nemhauser, G. L. and Wolsey, L. A. 1988. Integer and Combinatorial Optimization. Wiley-Interscience, New York.
[39]
Ozturk, O., Chen, G., and Kandemir, M. 2006. Compiler-Guided data compression for reducing memory consumption of embedded applications. In Proceedings of the Conference on Asia South Pacific Design Automation.
[40]
Ozturk, O. and Kandemir, M. 2005a. Integer linear programming based energy optimization for banked DRAMs. In Proceedings of the ACM Great Lakes Symposium on VLSI, 92--95.
[41]
Ozturk, O. and Kandemir, M. 2005b. Nonuniform banking for reducing memory energy consumption. In Proceedings of the Design Automation and Test in Europe (DATE), 814--819.
[42]
Panda, P. R. 1999. Memory bank customization and assignment in behavioral synthesis. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 477--481.
[43]
Rambus. 1999. 128/144-mbit direct rdram data sheet.
[44]
Saghir, M. A. R., Chow, P., and Lee, C. G. 1996. Exploiting dual data-memory banks in digital signal processors. In Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-VII), 234--243.
[45]
Su, C.-L. and Despain, A. M. 1995. Cache design trade-offs for power and performance optimization: A case study. In Proceedings of the International Symposium on Low Power Design (ISPLED), 63--68.
[46]
Sudarsanam, A. and Malik, S. 2000. Simultaneous reference allocation in code generation for dual data memory bank ASIPS. ACM Trans. Des. Autom. Electron. Syst. 5, 2, 242--264.
[47]
Wilson, R. P., French, R. S., Wilson, C. S., Amarasinghe, S. P., Anderson, J. M., Tjiang, S. W. K., Liao, S.-W., Tseng, C.-W., Hall, M. W., Lam, M. S., and Hennessy, J. L. 1994. Suif: An infrastructure for research on parallelizing and optimizing compilers. SIGPLAN Not. 29, 12, 31--37.
[48]
Xpress. 2002. Xpress-mp. http://www.dashoptimization.com/pdf/Mosel1.pdf.
[49]
Ye, W., Vijaykrishnan, N., Kandemir, M., and Irwin, M. J. 2000. The design and use of SimplePower: A cycle-accurate energy estimation tool. In Proceedings of the 37th Conference on Design Automation (DAC), 340--345.
[50]
Zervas, N. D., Masselos, K., and Goutis, C. 1998. Code transformations for embedded multimedia applications: Impact on power and performance. In Proceedings of the ISCA Power-Driven Microarchitecture Workshop.
[51]
Zhuo, J. and Chakrabarti, C. 2005. System-Level energy-efficient dynamic task scheduling. In Proceedings of the 42nd Annual Conference on Design Automation (DAC), 628--631.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Design Automation of Electronic Systems
ACM Transactions on Design Automation of Electronic Systems  Volume 13, Issue 3
July 2008
370 pages
ISSN:1084-4309
EISSN:1557-7309
DOI:10.1145/1367045
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: 25 July 2008
Accepted: 01 November 2007
Revised: 01 September 2006
Received: 01 February 2006
Published in TODAES Volume 13, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. DRAM
  2. Memory banking
  3. compilers
  4. data compression
  5. low-power operating modes
  6. migration
  7. replication

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

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