skip to main content
research-article

Heterogeneity-aware Multicore Synchronization for Intermittent Systems

Published: 17 September 2021 Publication History

Abstract

Intermittent systems enable batteryless devices to operate through energy harvesting by leveraging the complementary characteristics of volatile (VM) and non-volatile memory (NVM). Unfortunately, alternate and frequent accesses to heterogeneous memories for accumulative execution across power cycles can significantly hinder computation progress. The progress impediment is mainly due to more CPU time being wasted for slow NVM accesses than for fast VM accesses. This paper explores how to leverage heterogeneous cores to mitigate the progress impediment caused by heterogeneous memories. In particular, a delegable and adaptive synchronization protocol is proposed to allow memory accesses to be delegated between cores and to dynamically adapt to diverse memory access latency. Moreover, our design guarantees task serializability across multiple cores and maintains data consistency despite frequent power failures. We integrated our design into FreeRTOS running on a Cypress device featuring heterogeneous dual cores and hybrid memories. Experimental results show that, compared to recent approaches that assume single-core intermittent systems, our design can improve computation progress at least 1.8x and even up to 33.9x by leveraging core heterogeneity.

References

[1]
n.d. A Heterogeneity-aware Multicore Intermittent Operating System. Available: https://github.com/EMCLab-Sinica/Intermittent-Multicore.
[2]
n.d. An Intermittent Operating System. Available: https://github.com/EMCLab-Sinica/Intermittent-OS.
[3]
n.d. The FreeRTOS™ Kernel. Available: https://www.freertos.org.
[4]
D. Balsamo, A. S. Weddell, A. Das, A. R. Arreola, D. Brunelli, B. M. Al-Hashimi, G. V. Merrett, and L. Benini. 2016. Hibernus++: A self-calibrating and adaptive system for transiently-powered embedded devices. IEEE TCAD 35, 12 (2016), 1968–1980. https://doi.org/10.1109/TCAD.2016.2547919
[5]
G. Berthou, T. Delizy, K. Marquet, T. Risset, and G. Salagnac. 2019. Sytare: A lightweight kernel for NVRAM-based transiently-powered systems. IEEE TC 68, 9 (2019), 1390–1403. https://doi.org/10.1109/TC.2018.2889080
[6]
Milind Chabbi, Michael Fagan, and John Mellor-Crummey. 2015. High performance locks for multi-level NUMA systems. In Proc. of ACM PPoPP. 215–226.
[7]
Milind Chabbi and John Mellor-Crummey. 2016. Contention-conscious, locality-preserving locks. In Proc. of ACM PPoPP. 1–14.
[8]
W.-M. Chen, Y.-T. Chen, P.-C. Hsiu, and T.-W. Kuo. 2019. Multiversion concurrency control on intermittent systems. In Proc. of IEEE/ACM ICCAD. 1–8.
[9]
W.-M. Chen, P.-C. Hsiu, and T.-W. Kuo. 2019. Enabling failure-resilient intermittently-powered systems without runtime checkpointing. In Proc. of IEEE/ACM DAC. 1–6.
[10]
W.-M. Chen, T.-W. Kuo, and P.-C. Hsiu. 2020. Enabling failure-resilient intermittent systems without runtime checkpointing. IEEE TCAD 39, 12 (2020), 4399–4412.
[11]
J. Choi, H. Joe, Y. Kim, and C. Jung. 2019. Achieving stagnation-free intermittent computation with boundary-free adaptive execution. In Proc. of IEEE RTAS. 331–344.
[12]
Alexei Colin and Brandon Lucia. 2016. Chain: Tasks and channels for reliable intermittent programs. In Proc. of ACM OOPSLA. 514–530.
[13]
Jasper de Winkel, Vito Kortbeek, Josiah Hester, and Przemysław Pawełczak. 2020. Battery-free game boy. In Prof. of ACM IMWUT 4, 3, Article 111 (2020), 34 pages.
[14]
Zahra Ghodsi, Siddharth Garg, and Ramesh Karri. 2017. Optimal checkpointing for secure intermittently-powered IoT devices. In Proc. of IEEE/ACM ICCAD. 376–383.
[15]
Graham Gobieski, Nathan Beckmann, and Brandon Lucia. 2019. Intelligence beyond the edge: Inference on intermittent embedded systems. In Proc. of ACM ASPLOS. 199–213.
[16]
Jim Gray and Andreas Reuter. 1992. Transaction Processing: Concepts and Techniques (1st ed.). Morgan Kaufmann Publishers Inc. 661–744 pages.
[17]
Josiah Hester and Jacob Sorber. 2017. The future of sensing is batteryless, intermittent, and awesome. In Proc. of ACM SenSys (Delft, Netherlands). Article 21, 6 pages. https://doi.org/10.1145/3131672.3131699
[18]
Matthew Hicks. 2017. Clank: Architectural support for intermittent computation. In Proc. of ISCA. 228–240.
[19]
H. Jayakumar, A. Raha, and V. Raghunathan. 2014. QUICKRECALL: A low overhead HW/SW approach for enabling computations across power cycles in transiently powered computers. In Proc. of IEEE VLSID. 330–335. https://doi.org/10.1109/VLSID.2014.63
[20]
Chih-Kai Kang, Chun-Han Lin, Pi-Cheng Hsiu, and Ming-Syan Chen. 2018. HomeRun: HW/SW co-design for program atomicity on self-powered intermittent systems. In Proc. of IEEE/ACM ISLPED. 29:1–29:6.
[21]
C.-K. Kang, H. R. Mendis, C.-H. Lin, M.-S. Chen, and P.-C. Hsiu. 2020. Everything leaves footprints: Hardware accelerated intermittent deep inference. IEEE TCAD 39, 11 (2020), 3479–3491. https://doi.org/10.1109/TCAD.2020.3012217
[22]
P. Kansakar and A. Munir. 2018. Selecting microarchitecture configuration of processors for internet of things (IoT). IEEE TETC 8, 4 (2018), 973–985.
[23]
H. T. Kung and John T. Robinson. 1981. On optimistic methods for concurrency control. ACM TODS 6, 2 (1981), 213–226. https://doi.org/10.1145/319566.319567
[24]
Qingan Li, Mengying Zhao, Jingtong Hu, Y. Liu, Yanxiang He, and C. J. Xue. 2015. Compiler directed automatic stack trimming for efficient non-volatile processors. In Proc. of IEEE/ACM DAC. 1–6.
[25]
Beng-Hong Lim and Anant Agarwal. 1994. Reactive synchronization algorithms for multiprocessors. SIGOPS Oper. Syst. Rev. 28, 5 (1994), 25–35.
[26]
Y. Lin, P. Hsiu, and T. Kuo. 2019. Autonomous I/O for intermittent IoT systems. In Proc. of IEEE/ACM ISLPED. 1–6. https://doi.org/10.1109/ISLPED.2019.8824923
[27]
S. Liu, W. Zhang, M. Lv, Q. Chen, and N. Guan. 2020. LATICS: A low-overhead adaptive task-based intermittent computing system. IEEE TCAD 39, 11 (2020), 3711–3723. https://doi.org/10.1109/TCAD.2020.3012214
[28]
Yongpan Liu, Zewei Li, Hehe Li, Yiqun Wang, Xueqing Li, Kaisheng Ma, Shuangchen Li, Meng-Fan Chang, Sampson John, Yuan Xie, Jiwu Shu, and Huazhong Yang. 2015. Ambient energy harvesting nonvolatile processors: From circuit to system. In Proc. of IEEE/ACM DAC. 150:1–150:6.
[29]
Brandon Lucia and Benjamin Ransford. 2015. A simpler, safer programming and execution model for intermittent systems. In Proc. of ACM PLDI. 575–585.
[30]
K. Ma, Y. Zheng, S. Li, K. Swaminathan, X. Li, Y. Liu, J. Sampson, Y. Xie, and V. Narayanan. 2015. Architecture exploration for ambient energy harvesting nonvolatile processors. In Proc. of IEEE HPCA. 526–537.
[31]
Kiwan Maeng, Alexei Colin, and Brandon Lucia. 2017. Alpaca: Intermittent execution without checkpoints. Proc. of ACM OOPSLA (2017), 96:1–96:30.
[32]
Kiwan Maeng and Brandon Lucia. 2018. Adaptive dynamic checkpointing for safe efficient intermittent computing. In Proc. of USENIX OSDI (Carlsbad, CA, USA). 129–144.
[33]
Kiwan Maeng and Brandon Lucia. 2019. Supporting peripherals in intermittent systems with just-in-time checkpoints. In Proc. of ACM PLDI. 1101–1116.
[34]
Hashan Roshantha Mendis and Pi-Cheng Hsiu. 2019. Accumulative display updating for intermittent systems. ACM TECS 18, 5s, Article 72 (2019), 22 pages.
[35]
S. K. Nayar, D. C. Sims, and M. Fridberg. 2015. Towards self-powered cameras. In Proc. of IEEE ICCP. 1–10.
[36]
Benjamin Ransford and Brandon Lucia. 2014. Nonvolatile memory is a broken time machine. In Proc. of MSPC. 5:1–5:3.
[37]
Benjamin Ransford, Jacob Sorber, and Kevin Fu. 2011. Mementos: System support for long-running computation on RFID-scale devices. In Proc. of ACM ASPLOS (Newport Beach, California, USA). 159–170. https://doi.org/10.1145/1950365.1950386
[38]
M. Raynal and D. Beeson. 1986. Algorithms for Mutual Exclusion. MIT Press, Cambridge, MA, USA.
[39]
J. Ren, J. Zhao, S. Khan, J. Choi, Y. Wu, and O. Mutiu. 2015. ThyNVM: Enabling software-transparent crash consistency in persistent memory systems. In Proc. of IEEE/ACM MICRO. 672–685.
[40]
Emily Ruppel and Brandon Lucia. 2019. Transactional concurrency control for intermittent, energy-harvesting computing systems. In Proc. of ACM PLDI. 1085–1100.
[41]
Farzad Samie, Lars Bauer, and Jörg Henkel. 2016. IoT technologies for embedded computing: A survey. In Proc. of IEEE/ACM CODES+ISSS (Pittsburgh, Pennsylvania). Article 8, 10 pages. https://doi.org/10.1145/2968456.2974004
[42]
Vamsi Talla, Bryce Kellogg, Shyamnath Gollakota, and Joshua R. Smith. 2017. Battery-free cellphone. In Prof. of ACM IMWUT 1, 2 (2017), 20 pages.
[43]
Y. Wang, Y. Liu, S. Li, D. Zhang, B. Zhao, M. F. Chiang, Y. Yan, B. Sai, and H. Yang. 2012. A 3us wake-up time nonvolatile processor based on ferroelectric flip-flops. In Proc. of IEEE ESSCIRC. 149–152.
[44]
Mimi Xie, Chen Pan, Mengying Zhao, Yongpan Liu, Chun Jason Xue, and Jingtong Hu. 2018. Avoiding data inconsistency in energy harvesting powered embedded systems. ACM TODAES (2018), 38:1–38:25.
[45]
M. Xie, M. Zhao, C. Pan, Jingtong Hu, Y. Liu, and C. J. Xue. 2015. Fixing the broken time machine: Consistency-aware checkpointing for energy harvesting powered non-volatile processor. In Proc. of IEEE/ACM DAC. 1–6.
[46]
M. Xie, M. Zhao, C. Pan, H. Li, Y. Liu, Y. Zhang, C. J. Xue, and J. Hu. 2016. Checkpoint aware hybrid cache architecture for NV processor in energy harvesting powered systems. In Proc. of IEEE/ACM CODES+ISSS. 1–10.
[47]
Teng Xu and Miodrag Potkonjak. 2016. Energy-efficient fault tolerance approach for internet of things applications. In Proc. of IEEE/ACM ICCAD. 62:1–62:8.
[48]
Dingtian Zhang, Jung Wook Park, Yang Zhang, Yuhui Zhao, Yiyang Wang, Yunzhi Li, Tanvi Bhagwat, Wen-Fang Chou, Xiaojia Jia, Bernard Kippelen, Canek Fuentes-Hernandez, Thad Starner, and Gregory D. Abowd. 2020. OptoSense: Towards ubiquitous self-powered ambient light sensing surfaces. In Prof. of ACM IMWUT 4, 3, Article 103 (2020), 27 pages.
[49]
M. Zhao, C. Fu, Z. Li, Q. Li, M. Xie, Y. Liu, J. Hu, Z. Jia, and C. J. Xue. 2017. Stack-size sensitive on-chip memory backup for self-powered nonvolatile processors. IEEE TCAD 36 (2017), 1804–1816.

Cited By

View all
  • (2024)REC: REtime Convolutional layers to fully exploit harvested energy for ReRAM-based CNN acceleratorsACM Transactions on Embedded Computing Systems10.1145/3652593Online publication date: 15-Mar-2024
  • (2024)Toward Energy-efficient STT-MRAM-based Near Memory Computing Architecture for Embedded SystemsACM Transactions on Embedded Computing Systems10.1145/365072923:3(1-24)Online publication date: 25-Apr-2024
  • (2024)Empowering Intermittent IoT Networks2024 International Conference on Science Technology Engineering and Management (ICSTEM)10.1109/ICSTEM61137.2024.10560786(1-6)Online publication date: 26-Apr-2024
  • Show More Cited By

Index Terms

  1. Heterogeneity-aware Multicore Synchronization for Intermittent Systems

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Embedded Computing Systems
    ACM Transactions on Embedded Computing Systems  Volume 20, Issue 5s
    Special Issue ESWEEK 2021, CASES 2021, CODES+ISSS 2021 and EMSOFT 2021
    October 2021
    1367 pages
    ISSN:1539-9087
    EISSN:1558-3465
    DOI:10.1145/3481713
    • Editor:
    • Tulika Mitra
    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: 17 September 2021
    Accepted: 01 July 2021
    Revised: 01 June 2021
    Received: 01 April 2021
    Published in TECS Volume 20, Issue 5s

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Multicore synchronization
    2. task concurrency
    3. data consistency
    4. batteryless devices
    5. intermittent computing

    Qualifiers

    • Research-article
    • Refereed

    Funding Sources

    • Ministry of Science and Technology, Taiwan

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)49
    • Downloads (Last 6 weeks)8
    Reflects downloads up to 28 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)REC: REtime Convolutional layers to fully exploit harvested energy for ReRAM-based CNN acceleratorsACM Transactions on Embedded Computing Systems10.1145/3652593Online publication date: 15-Mar-2024
    • (2024)Toward Energy-efficient STT-MRAM-based Near Memory Computing Architecture for Embedded SystemsACM Transactions on Embedded Computing Systems10.1145/365072923:3(1-24)Online publication date: 25-Apr-2024
    • (2024)Empowering Intermittent IoT Networks2024 International Conference on Science Technology Engineering and Management (ICSTEM)10.1109/ICSTEM61137.2024.10560786(1-6)Online publication date: 26-Apr-2024
    • (2023)Energy-Efficient Communications for Improving Timely Progress of Intermittent-Powered BLE DevicesACM Transactions on Embedded Computing Systems10.1145/362619722:6(1-20)Online publication date: 9-Nov-2023
    • (2023)Experimental Demonstration of STT-MRAM-based Nonvolatile Instantly On/Off System for IoT Applications: Case StudiesACM Transactions on Embedded Computing Systems10.1145/354619322:2(1-24)Online publication date: 27-Jan-2023
    • (2023)Pragmatic Memory-System Support for Intermittent Computing Using Emerging Nonvolatile MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.316826342:1(95-108)Online publication date: Jan-2023
    • (2022)Intermittent-Aware Distributed Concurrency ControlIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.319750241:11(3721-3732)Online publication date: 1-Nov-2022
    • (2022)Compiler-Directed High-Performance Intermittent Computation with Power Failure Immunity2022 IEEE 28th Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS54340.2022.00012(40-54)Online publication date: May-2022
    • (2022)Transient computing for energy harvesting systemsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2022.102743132:COnline publication date: 1-Nov-2022

    View Options

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media