Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3470496.3527413acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
research-article

NvMR: non-volatile memory renaming for intermittent computing

Published: 11 June 2022 Publication History

Abstract

Intermittent systems on energy-harvesting devices have to frequently back up data because of an unreliable energy supply to make forward progress. These devices come with non-volatile memories like Flash/FRAM on board that are used to back up the system state. However, quite paradoxically, writing to a non-volatile memory consumes a lot of energy that makes backups expensive. Idem-potency violations inherent to intermittent programs are major contributors to the problem, as they render system state inconsistent and force backups to occur even when plenty of energy is available. In this work, we first characterize the complex persist dependencies that are unique to intermittent computing. Based on these insights, we propose NvMR, an intermittent architecture that eliminates idempotency violations in the program by renaming non-volatile memory addresses. This can reduce the number of backups to their theoretical minimum and decouple the decision of when to perform backups from the memory access constraints imposed by the program. Our evaluations show that compared to a state-of-the-art intermittent architecture, NvMR can save about 20% energy on average when running common embedded applications.

References

[1]
ARM Ltd. 2012. Cortex-M0+ Technical Reference Manual - Arm Developer. ARM Ltd.
[2]
Domenico Balsamo, Alex S. Weddell, Anup Das, Alberto Rodriguez Arreola, Davide Brunelli, Bashir M. Al-Hashimi, Geoff V. Merrett, and Luca Benini. 2016. Hibernus++: A Self-Calibrating and Adaptive System for Transiently-Powered Embedded Devices. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (2016).
[3]
Domenico Balsamo, Alex S. Weddell, Geoff V. Merrett, Bashir M. Al-Hashimi, Davide Brunelli, and Luca Benini. 2015. Hibernus: Sustaining Computation During Intermittent Supply for Energy-Harvesting Systems. IEEE Embedded Systems Letters (2015).
[4]
Kevin Barker, Thomas Benson, Dan Campbell, David Ediger, Roberto Gioiosa, Adolfy Hoisie, Darren Kerbyson, Joseph Manzano, Andres Marquez, Leon Song, Nathan Tallent, and Antonino Tumeo. 2013. PERFECT (Power Efficiency Revolution For Embedded Computing Technologies) Benchmark Suite Manual. Pacific Northwest National Laboratory and Georgia Tech Research Institute. http://hpc.pnnl.gov/projects/PERFECT/.
[5]
P. Bogdan, M. Pajic, P. P. Pande, and V. Raghunathan. 2016. Making the internet-of-things a reality: From smart models, sensing and actuation to energy-efficient architectures. In IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis.
[6]
Miao Cai, Chance C. Coats, and Jian Huang. 2020. HOOP: Efficient Hardware-Assisted Out-of-Place Update for Non-Volatile Memory. In 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA). 584--596.
[7]
Alexei Colin and Brandon Lucia. 2016. Chain: Tasks and Channels for Reliable Intermittent Programs. In Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (Amsterdam, Netherlands) (OOPSLA 2016). ACM, New York, NY, USA, 514--530.
[8]
Alexei Colin, Emily Ruppel, and Brandon Lucia. 2018. A Reconfigurable Energy Storage Architecture for Energy-harvesting Devices. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems (Williamsburg, VA, USA) (ASPLOS '18). ACM, New York, NY, USA, 767--781.
[9]
Samuel DeBruin, Bradford Campbell, and Prabal Dutta. 2013. Monjolo: An Energy-Harvesting Energy Meter Architecture. In Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems (Roma, Italy) (SenSys '13). Association for Computing Machinery, New York, NY, USA, Article 18, 14 pages.
[10]
Graham Gobieski, Amolak Nagi, Nathan Serafin, Mehmet Meric Isgenc, Nathan Beckmann, and Brandon Lucia. 2019. MANIC: A vector-dataflow architecture for ultra-low-power embedded systems. In Proceedings of the Annual International Symposium on Microarchitecture, MICRO. IEEE Computer Society, New York, NY, USA, 670--684.
[11]
Shyamnath Gollakota, Matthew S. Reynolds, Joshua R. Smith, and David J. Wetherall. 2014. The emergence of rf-powered computing. Computer 47, 1 (jan 2014), 32--39.
[12]
K. Gudan, S. Chemishkian, J.J. Hull, M. S. Reynolds, and S. Thomas. 2012. Feasibility of wireless sensors using ambient 2.4GHz RF energy. In SENSORS, 2012 IEEE. 1--4.
[13]
Matthew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trever Mudge, and Richard B. Brown. 2001. MiBench: A free, commercially representative embedded benchmark suite. In Proceedings of the IEEE International Workshop on Workload Characterization (IISWC). 3--14.
[14]
Lance Hammond, Benedict A. Hubbert, Michael Siu, Manohar K. Prabhu, Michael Chen, and Kunle Olukotun. 2000. The Stanford Hydra CMP. IEEE Micro 20, 2 (March 2000), 71--84.
[15]
Josiah Hester, Kevin Storer, and Jacob Sorber. 2017. Timely Execution on Intermittently Powered Batteryless Sensors. In Proceedings of the 15th ACM Conference on Embedded Network Sensor Systems (Delft, Netherlands) (SenSys '17). Association for Computing Machinery, New York, NY, USA, Article 17, 13 pages.
[16]
Matthew Hicks. 2017. Clank: Architectural Support for Intermittent Computation. In Proceedings of the ACM/IEEE International Symposium on Computer Architecture (ISCA). 228--240.
[17]
Hrishikesh Jayakumar, Arnab Raha, Woo Suk Lee, and Vijay Raghunathan. 2015. Quick Recall. ACM Journal on Emerging Technologies in Computing Systems 12, 1 (2015), 1--19.
[18]
Stephen Jourdan, Ronny Ronen, Michael Bekerman, Bishara Shomar, and Adi Yoaz. 1998. A Novel Renaming Scheme to Exploit Value Temporal Locality Through Physical Register Reuse and Unification. In Proceedings of the 31st Annual ACM/IEEE International Symposium on Microarchitecture (Dallas, Texas, USA) (MICRO 31). IEEE Computer Society Press, Los Alamitos, CA, USA, 216--225. http://dl.acm.org/citation.cfm?id=290940.290985
[19]
Stephen Jourdan, Ronny Ronen, Michael Bekerman, Bishara Shomar, and Adi Yoaz. 1998. A Novel Renaming Scheme to Exploit Value Temporal Locality through Physical Register Reuse and Unification. In Proceedings of the 31st Annual ACM/IEEE International Symposium on Microarchitecture (Dallas, Texas, USA) (MICRO 31). IEEE Computer Society Press, Washington, DC, USA, 216--225.
[20]
Aasheesh Kolli, Vaibhav Gogte, Ali Saidi, Stephan Diestelhorst, Peter M. Chen, Satish Narayanasamy, and Thomas F. Wenisch. 2017. Language-Level Persistency. In Proceedings of the 44th Annual International Symposium on Computer Architecture (Toronto, ON, Canada) (ISCA '17). Association for Computing Machinery, New York, NY, USA, 481--493.
[21]
Sheng Li, Jung Ho Ahn, Richard D. Strong, Jay B. Brockman, Dean M. Tullsen, and Norman P. Jouppi. 2009. McPAT: An Integrated Power, Area, and Timing Modeling Framework for Multicore and Manycore Architectures. In MICRO 42: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture. 469--480.
[22]
Brandon Lucia and Benjamin Ransford. 2015. A Simpler, Safer Programming and Execution Model for Intermittent Systems. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (Portland, OR, USA) (PLDI '15). ACM, New York, NY, USA, 575--585.
[23]
Kaisheng Ma, Xueqing Li, Srivatsa Rangachar Srinivasa, Yongpan Liu, John Sampson, Yuan Xie, and Vijaykrishnan Narayanan. 2017. Spendthrift: Machine learning based resource and frequency scaling for ambient energy harvesting nonvolatile processors. In Proceedings of the Asia and South Pacific Design Automation Conference, ASP-DAC. Institute of Electrical and Electronics Engineers Inc., 678--683.
[24]
K. Ma, X. Li, S. R. Srinivasa, Y. Liu, J. Sampson, Y. Xie, and V. Narayanan. 2017. Spendthrift: Machine learning based resource and frequency scaling for ambient energy harvesting nonvolatile processors. In 2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC). 678--683.
[25]
Kiwan Maeng, Alexei Colin, and Brandon Lucia. 2017. Alpaca: Intermittent Execution without Checkpoints. Proc. ACM Program. Lang. 1, OOPSLA, Article 96 (Oct. 2017), 30 pages.
[26]
Kiwan Maeng and Brandon Lucia. 2007. Adaptive dynamic checkpointing for safe efficient intermittent computing. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2018. 129--144.
[27]
Scott A. Mahlke, William Y. Chen, Roger A. Bringmann, Richard E. Hank, Wen Mei W. Hwu, B. Ramakrishna Rau, and Michael S. Schlansker. 1993. Sentinel Scheduling: A Model for Compiler-Controlled Speculative Execution. ACM Transactions on Computer Systems (TOCS) 11, 4 (jan 1993), 376--408.
[28]
Josiah Hester Matthew Furlong. 2017. PERSISTLab/BatterylessSim. https://github.com/PERSISTLab/BatterylessSim
[29]
Geoff V. Merrett and Bashir M. Al-Hashimi. 2017. Energy-driven computing: Rethinking the design of energy harvesting systems. In Proceedings of the 2017 Design, Automation and Test in Europe, DATE 2017.
[30]
Andreas Moshovos and Gurindar S. Sohi. 1997. Streamlining Inter-operation Memory Communication via Data Dependence Prediction. In In Proceedings of the 30th International Symposium on Microarchitecture.
[31]
Naveen Muralimanohar, Rajeev Balasubramonian, and Norm Jouppi. 2007. Optimizing NUCA organizations and wiring alternatives for large caches with CACTI 6.0. In Proceedings of the Annual International Symposium on Microarchitecture, MICRO. 3--14.
[32]
A. N. Parks, A. P. Sample, Y. Zhao, and J. R. Smith. 2013. A wireless sensing platform utilizing ambient RF energy. In 2013 IEEE Topical Conference on Biomedical Wireless Technologies, Networks, and Sensing Systems. 154--156.
[33]
Steven Pelley, Peter M. Chen, and Thomas F. Wenisch. 2014. Memory Persistency. In Proceeding of the 41st Annual International Symposium on Computer Architecuture (Minneapolis, Minnesota, USA) (ISCA '14). IEEE Press, 265--276.
[34]
Benjamin Ransford and Brandon Lucia. 2014. NVM is a broken Time Machine. In Proceedings of the 2014 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness.
[35]
Benjamin Ransford, Jacob Sorber, and Kevin Fu. 2011. Mementos: System Support for Long-Running Computation on RFID-Scale Devices. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (Newport Beach, California, USA) (ASPLOS XVI). Association for Computing Machinery, New York, NY, USA, 159--170.
[36]
Glenn Reinman, Brad Calder, Dean Tullsen, Gary Tyson, and Todd Austin. 1999. Classifying Load and Store Instructions for Memory Renaming. In Proceedings of the 13th International Conference on Supercomputing (Rhodes, Greece) (ICS '99). Association for Computing Machinery, New York, NY, USA, 399--407.
[37]
Renesas Microcomputers 2020. Arm® Cortex®-M0+ Ultra-low Power MCU Based on SOTB™ Process Technology. Renesas Microcomputers. Rev. 1.10.
[38]
Ohad Rodeh. 2008. B-Trees, Shadowing, and Clones. ACM Trans. Storage 3, 4, Article 2 (Feb. 2008), 27 pages.
[39]
Joshua San Miguel, Karthik Ganesan, Mario Badr, Steven Xia, Rose Li, Hsuan Hsiao, and Natalie Enright Jerger. 2018. The EH Model: Early Design Space Exploration of Intermittent Processor Architectures. In Proceedings of the ACM/IEEE International Symposium on Microarchitecture (MICRO).
[40]
STMicroelectronics 2017. Access line ultra-low-power 32-bit MCU Arm®-based Cortex®-M0+, up to 16KB Flash, 2KB SRAM, 512B EEPROM, ADC. STMicroelectronics. https://www.st.com/resource/en/datasheet/stm32l011k4.pdf Rev. 5.
[41]
Milijana Surbatovich, Limin Jia, and Brandon Lucia. 2021. Automatically Enforcing Fresh and Consistent Inputs in Intermittent Systems. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (Virtual, Canada) (PLDI 2021). Association for Computing Machinery, New York, NY, USA, 851--866.
[42]
Milijana Surbatovich, Brandon Lucia, and Limin Jia. 2020. Towards a Formal Foundation of Intermittent Computing. Proc. ACM Program. Lang. 4, OOPSLA, Article 163 (Nov. 2020), 31 pages.
[43]
Texas Instruments Inc. 2021. MSP430FR599x, MSP430FR596x Mixed-Signal Microcontrollers datasheet. Texas Instruments Inc.
[44]
Gary S. Tyson and Todd M. Austin. 1997. Improving the Accuracy and Performance of Memory Communication Through Renaming. In Proceedings of the 30th Annual ACM/IEEE International Symposium on Microarchitecture (Research Triangle Park, North Carolina, USA) (MICRO 30). IEEE Computer Society, Washington, DC, USA, 218--227. http://dl.acm.org/citation.cfm?id=266800.266821
[45]
Gary S Tyson and Todd M. Austin.1997. Improving the accuracy and performance of memory communication through renaming. In Proceedings of the Annual International Symposium on Microarchitecture. 218--227.
[46]
Joel Van Der Woude and Matthew Hicks. 2016. Intermittent Computation Without Hardware Support or Programmer Intervention. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation (Savannah, GA, USA) (OSDI'16). USENIX Association, Berkeley, CA, USA, 17--32. http://dl.acm.org/citation.cfm?id=3026877.3026880
[47]
Xingbo Wu, Wenguang Wang, and Song Jiang. 2015. TotalCOW: Unleash the Power of Copy-On-Write for Thin-Provisioned Containers. In Proceedings of the 6th Asia-Pacific Workshop on Systems (Tokyo, Japan) (APSys '15). Association for Computing Machinery, New York, NY, USA, Article 15, 7 pages.
[48]
Jianping Zeng, Jongouk Choi, Xinwei Fu, Ajay Paddayuru Shreepathi, Dongyoon Lee, Changwoo Min, and Changhee Jung. 2021. ReplayCache: Enabling Volatile Cachesfor Energy Harvesting Systems. In MICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture (Virtual Event, Greece) (MICRO '21). Association for Computing Machinery, New York, NY, USA, 170--182.

Cited By

View all
  • (2024)A Hash-Based Clustering System Software for Intermittent Computing Devices With NAND Flash MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2024.338055343:9(2565-2577)Online publication date: Sep-2024
  • (2024)Compiler-Directed Whole-System Persistence2024 ACM/IEEE 51st Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA59077.2024.00074(961-977)Online publication date: 29-Jun-2024
  • (2024)FlipBit: Approximate Flash Memory for IoT Devices2024 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA57654.2024.00072(876-890)Online publication date: 2-Mar-2024
  • Show More Cited By

Index Terms

  1. NvMR: non-volatile memory renaming for intermittent computing

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ISCA '22: Proceedings of the 49th Annual International Symposium on Computer Architecture
    June 2022
    1097 pages
    ISBN:9781450386104
    DOI:10.1145/3470496
    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

    In-Cooperation

    • IEEE CS TCAA: IEEE CS technical committee on architectural acoustics

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 11 June 2022

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. energy-harvesting
    2. idempotency
    3. intermittent computing

    Qualifiers

    • Research-article

    Funding Sources

    • Wisconsin Alumni Research Foundation
    • NSF/Intel

    Conference

    ISCA '22
    Sponsor:

    Acceptance Rates

    ISCA '22 Paper Acceptance Rate 67 of 400 submissions, 17%;
    Overall Acceptance Rate 543 of 3,203 submissions, 17%

    Upcoming Conference

    ISCA '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)327
    • Downloads (Last 6 weeks)32
    Reflects downloads up to 28 Sep 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A Hash-Based Clustering System Software for Intermittent Computing Devices With NAND Flash MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2024.338055343:9(2565-2577)Online publication date: Sep-2024
    • (2024)Compiler-Directed Whole-System Persistence2024 ACM/IEEE 51st Annual International Symposium on Computer Architecture (ISCA)10.1109/ISCA59077.2024.00074(961-977)Online publication date: 29-Jun-2024
    • (2024)FlipBit: Approximate Flash Memory for IoT Devices2024 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA57654.2024.00072(876-890)Online publication date: 2-Mar-2024
    • (2024)LACTJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2024.103213153:COnline publication date: 1-Aug-2024
    • (2023)An NVM Performance Study Towards Whole System Persistence on Server PlatformsProceedings of the 1st Workshop on Disruptive Memory Systems10.1145/3609308.3625269(45-51)Online publication date: 23-Oct-2023

    View Options

    Get Access

    Login options

    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