Abstract
In embedded systems, especially battery-driven mobile devices, energy is one of the most critical performance metrics. Due to its high density and low standby power, phase change memory (PCM), an emerging non-volatile memory device, is becoming a promising dynamic random access memory (DRAM) alternative. Recent studies have proposed the hybrid main memory architecture integrating both PCM and DRAM to fully take advantage of the properties of both memories. However, the low power performance of PCM in the hybrid main memory architecture has not been fully explored. Therefore, it becomes an interesting problem to utilize PCM and DRAM as hybrid main memory for energy optimization in embedded systems. In this paper, we present an energy optimization technique for hybrid main memory architecture. The objective is to fully utilize PCM to reduce the energy consumption while ensuring that the real-time performance of applications are guaranteed. We propose a two-phase approach to solve hybrid main memory address mapping problem. In the first phase, we calculate energy and time cost for each address based on the task models. Then the applications can be modeled as data-flow graph nodes, and different access times will associate with different energy consumption. In the second phase, for different memory types and the given timing constraint, we formulate the scheduling problem as an integer linear programming (ILP) model and obtain an optimal solution. The ILP model can map a proper memory type for each address such that the total energy consumption can be minimized while the timing constraint is satisfied. In addition, we propose a heuristic approach to efficiently obtain a near-optimal solution. We conduct experiments on an ARM-based simulator. The experimental results show that our method can effectively reduce the energy consumption with the least system cost compared with the previous work.









Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Eilertand S, Leinwander M, Crisenza G (2009) Phase change memory: a new memory enables new memory usage models. In: Proceedings of the 2009 IEEE international memory workshop (IMW ’09), pp 1–2
Qureshi MK, Srinivasan V, Rivers JA (2009) Scalable high performance main memory system using phase-change memory technology. In: Proceedings of the 2009 international symposium on computer architecture (ISCA ’09), pp 24–33
Dhiman G, Ayoub R, Rosing T (2009) PDRAM: a hybrid pram and dram main memory system. In: Proceedings of the 46th ACM/IEEE design automation conference (DAC ’09), pp 664–669
Dong X, Xu C, Xie Y, Jouppi N (2012) NVSim: a circuit-level performance, energy, and area model for emerging nonvolatile memory. IEEE Trans Comput Aided Des Integr Circuits Syst 31(7):994–1007
Zhou P, Zhao B, Yang J, Zhang Y (2009) A durable and energy efficient main memory using phase change memory technology. In: Proceedings of the 36th annual international symposium on computer architecture (ISCA ’09), New York, NY, USA. ACM, pp 14–23
Tian W, Zhao Y, Shi L, Li Q, Li J, Xue C et al (2013) Task allocation on nonvolatile-memory-based hybrid main memory. IEEE Trans Very Large Scale Integr (VLSI) Syst 21(7):1271–1284
Zhou M, Du Y, Childers B, Melhem R, Mossé D (2012) Writeback-aware partitioning and replacement for last-level caches in phase change main memory systems. ACM Trans Archit Code Optim 8(4):53:1–53:21
Yu C, Jie R, Hui Z, Chun SY (2006) Dynamic binary translation and optimization in a whole-system emulator-skyeye. In: Proceedings of the 2006 international conference on parallel processing workshops (ICPP ’06), pp 327–336
Guthaus M, Ringenberg J, Ernst D, Austin T, Mudge T, Brown R (2001) Mibench: a free, commercially representative embedded benchmark suite. In: Proceedings of the 2001 IEEE international workshop on workload characterization (WWC-4 2001), pp 3–14
Powell M, Yang SH, Falsafi B, Roy K, Vijaykumar T (2000) Gated-vdd: a circuit technique to reduce leakage in deep-submicron cache memories. In: Proceedings of the 2000 international symposium on low power electronics and design, 2000. ISLPED ’00, pp 90–95
Sun G, Niu D, Ouyang J, Xie Y (2011) A frequent-value based pram memory architecture. In: Proceedings of the 16th Asia and South Pacific design automation conference (ASP-DAC ’11), pp 211–216
Cintra M, Linkewitsch N (2013) Characterizing the impact of process variation on write endurance enhancing techniques for non-volatile memory systems. In: Proceedings of the ACM SIGMETRICS/international conference on measurement and modeling of computer systems (SIGMETRICS ’13), New York, NY, USA. ACM, pp 217–228
Cho S, Lee H (2009) Flip-N-write: a simple deterministic technique to improve pram write performance, energy and endurance. In: Proceedings of the 42nd annual IEEE/ACM international symposium on microarchitecture (MICRO-42 ’09), pp 347–357
Yoon H, Meza J, Ausavarungnirun R, Harding R, Mutlu O (2011) Row buffer locality-aware data placement in hybrid memories. Technical Report. CMU
Zhang W, Li T (2009) Exploring phase change memory and 3D die-stacking for power/thermal friendly, fast and durable memory architectures. In: Proceedings of the 18th international conference on parallel architectures and compilation techniques (PACT ’09), pp 101–112
Joo Y, Niu D, Dong X, Sun G, Chang N, Xie Y (2010) Energy and endurance-aware design of phase change memory caches. In: Proceedings of the 2010 design, automation test in Europe conference exhibition (DATE ’10), pp 136–141
Qureshi M, Karidis J, Franceschini M, Srinivasan V, Lastras L, Abali B (2009) Enhancing lifetime and security of PCM-based main memory with start-gap wear leveling. In: Proceedings of the 42nd annual IEEE/ACM international symposium on microarchitecture (MICRO-42 ’09), pp 14–23
Seong NH, Woo DH, Lee HHS (2010) Security refresh: prevent malicious wear-out and increase durability for phase-change memory with dynamically randomized address mapping. In: Proceedings of the 37th annual international symposium on computer architecture (ISCA ’10), New York, NY, USA. ACM, pp 383–394
Qureshi M, Seznec A, Lastras L, Franceschini M (2011) Practical and secure PCM systems by online detection of malicious write streams. In: Proceedings of IEEE 17th international symposium on high performance computer architecture (HPCA ’11), pp 478–489
Seznec A (2010) A phase change memory as a secure main memory. Comput Archit Lett 9(1):5–8
Kong J, Zhou H (2010) Improving privacy and lifetime of PCM-based main memory. In: Proceedings of 2010 IEEE/IFIP international conference on dependable systems and networks (DSN ’10), pp 333–342
Chhabra S, Solihin Y (2011) i-NVMM: a secure non-volatile main memory system with incremental encryption. In: Proceedings of the 38th annual international symposium on computer architecture (ISCA ’11), New York, NY, USA. ACM, pp 177–188
Chang YH, Hsieh JW, Kuo TW (2007) Endurance enhancement of flash-memory storage systems: an efficient static wear leveling design. In: Proceedings of the 44th annual design automation conference (DAC ’07), New York, NY, USA. ACM, pp 212–217
Chang LP, Kuo TW (2002) An adaptive striping architecture for flash memory storage systems of embedded systems. In: Proceedings of the 8th IEEE real-time and embedded technology and applications symposium (RTAS ’02), pp 187–196
Hu J, Zhuge Q, Xue CJ, Tseng WC, Sha EHM (2013) Software enabled wear-leveling for hybrid PCM main memory on embedded systems. In: Design, automation test in Europe conference exhibition (DATE), 2013, pp. 599–602
Hu J, Xie M, Pan C, Xue C, Zhuge Q, Sha E (2014) Low overhead software wear leveling for hybrid PCM + DRAM main memory on embedded systems. IEEE Trans Very Large Scale Integr (VLSI) Syst PP(99):1–6
Hu J, Xue CJ, Zhuge Q, Tseng WC, Sha EHM (2013) Write activity reduction on non-volatile main memories for embedded chip multiprocessors. ACM Trans Embed Comput Syst 12(3):77:1–77:27
Hu J, Xue C, Zhuge Q, Tseng WC, Sha EM (2011) Towards energy efficient hybrid on-chip scratch pad memory with non-volatile memory. In: Design, automation test in Europe conference exhibition (DATE), 2011, pp 1–6
Hu J, Xue C, Zhuge Q, Tseng WC, Sha E (2013) Data allocation optimization for hybrid scratch pad memory with SRAM and nonvolatile memory. IEEE Trans Very Large Scale Integr (VLSI) Syst 21(6):1094–1102
Hu J, Tseng WC, Xue C, Zhuge Q, Zhao Y, Sha EM (2011) Write activity minimization for nonvolatile main memory via scheduling and recomputation. IEEE Trans Comput Aided Des Integr Circuits Syst 30(4):584–592
Hu J, Xue C, Tseng WC, He Y, Qiu M, Sha EM (2010) Reducing write activities on non-volatile memories in embedded CMPs via data migration and recomputation. In: Proceedings of the 47th ACM/EDAC/IEEE design automation conference (DAC ’10), pp 350–355
Jiang L, Zhang Y, Yang J (2012) ER: elastic RESET for low power and long endurance MLC based phase change memory. In: Proceedings of the 2012 ACM/IEEE international symposium on low power electronics and design (ISLPED ’12), New York, NY, USA. ACM, pp 39–44
Ferreira A, Zhou M, Bock S, Childers B, Melhem R, Mosse D (2010) Increasing PCM main memory lifetime. In: Proceedings of the 2010 design, automation test in Europe conference exhibition (DATE ’10), pp 914–919
Li Y, Chen Y, Jones AK (2012) A software approach for combating asymmetries of non-volatile memories. In: Proceedings of the 2012 ACM/IEEE international symposium on low power electronics and design (ISLPED ’12), New York, NY, USA. ACM, pp 191–196
Dong J, Zhang L, Han Y, Wang Y, Li X (2011) Wear rate leveling: lifetime enhancement of PRAM with endurance variation. In: Proceedings of the 48th ACM/EDAC/IEEE design automation conference (DAC ’11), pp 972–977
Bathen L, Dutt N (2012) HaVOC: a hybrid memory-aware virtualization layer for on-chip distributed scratchpad and non-volatile memories. In: Proceedings of the 49th ACM/EDAC/IEEE design automation conference (DAC ’12), pp 447–452
Bathen LAD, Gottscho M, Dutt N, Nicolau A, Gupta P (2012) ViPZonE: OS-level memory variability-driven physical address zoning for energy savings. In: Proceedings of the eighth IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis (CODES+ISSS ’12), New York, NY, USA. ACM, pp 33–42
Acknowledgments
The work described in this paper is partially supported by the grants from the Research Grants Council of the Hong Kong Special Administrative Region, China (GRF 152138/14E), National Natural Science Foundation of China (Project 61272103 and Project 61373049), National 863 Program 2013AA013202, the Hong Kong Polytechnic University (4-ZZD7,G-YK24, G-YM10 and G-YN36), the Project of Construction of Innovative Teams and Teacher Career Development for Universities and Colleges Under Beijing Municipality (IDHT20150507), Guangdong Province Key Laboratory Project (2012A061400024), Guangdong Natural Science Foundation (2014A030310269), and Natural Science Foundation of SZU (201534).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Wang, G., Guan, Y., Wang, Y. et al. Energy-aware assignment and scheduling for hybrid main memory in embedded systems. Computing 98, 279–301 (2016). https://doi.org/10.1007/s00607-015-0464-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-015-0464-7