skip to main content
research-article
Open access

AdaMICA: Adaptive Multicore Intermittent Computing

Published: 07 September 2022 Publication History

Abstract

Recent studies on intermittent computing target single-core processors and underestimate the efficient parallel execution of highly-parallelizable machine learning tasks. Even though general-purpose multicore processors provide a high degree of parallelism and programming flexibility, intermittent computing has not exploited them yet. Filling this gap, we introduce AdaMICA (Adaptive Multicore Intermittent Computing) runtime that supports, for the first time, parallel intermittent computing and provides the highest degree of flexibility of programmable general-purpose multiple cores. AdaMICA is adaptive since it responds to the changes in the environmental power availability by dynamically reconfiguring the underlying multicore architecture to use the power most optimally. Our results demonstrate that AdaMICA significantly increases the throughput (52% on average) and decreases the latency (31% on average) by dynamically scaling the underlying architecture, considering the variations in the unpredictable harvested energy.

Supplementary Material

akhunov (akhunov.zip)
Supplemental movie, appendix, image and software files for, AdaMICA: Adaptive Multicore Intermittent Computing

References

[1]
Cristinel Ababei and Nicholas Mastronarde. 2014. Benefits and costs of prediction based DVFS for NoCs at router level. In 2014 27th IEEE International System-on-Chip Conference (SOCC). IEEE, 255--260.
[2]
Cristinel Ababei and Milad Ghorbani Moghaddam. 2018. A survey of prediction and classification techniques in multicore processor systems. IEEE Transactions on Parallel and Distributed Systems 30, 5 (2018), 1184--1200.
[3]
Adafruit. 2022. Adafruit AMG8833 IR Thermal Camera. Technical Report. Adafruit. https://www.adafruit.com/product/1063
[4]
Adafruit. 2022. Electret Microphone Amplifier - MAX4466 with Adjustable Gain. Technical Report. Adafruit. https://www.adafruit.com/product/3538
[5]
Saad Ahmed, Naveed Anwar Bhatti, Muhammad Hamad Alizai, Junaid Haroon Siddiqui, and Luca Mottola. 2019. Efficient intermittent computing with differential checkpointing. In Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems. 70--81.
[6]
Saad Ahmed, Qurat Ul Ain, Junaid Haroon Siddiqui, Luca Mottola, and Muhammad Hamad Alizai. 2020. Intermittent Computing with Dynamic Voltage and Frequency Scaling. In EWSN. 97--107.
[7]
Arducam. 2022. Arducam Mini Module Camera Shield with OV2640 2 Megapixels Lens. Technical Report. Arducam. https://www.uctronics.com/arducam-mini-module-camera-shield-w-2-mp-ov2640-for-arduino-uno-mega2560-board.html
[8]
ARM. 2022. AMBA Specifications. Technical Report. ARM. https://www.arm.com/architecture/system-architectures/amba/amba-specifications
[9]
Raid Zuhair Ayoub and Tajana Simunic Rosing. 2009. Predict and act: dynamic thermal management for multi-core processors. In Proceedings of the 2009 ACM/IEEE international symposium on Low power electronics and design. 99--104.
[10]
Md Ahsan Ayub, Zishan Ahmed Onik, and Steven Smith. 2019. Parallelized RSA Algorithm: An Analysis with Performance Evaluation using OpenMP Library in High Performance Computing Environment. In 2019 22nd International Conference on Computer and Information Technology (ICCIT). IEEE, 1--6.
[11]
Abu Bakar, Alexander G Ross, Kasim Sinan Yildirim, and Josiah Hester. 2021. REHASH: A Flexible, Developer Focused, Heuristic Adaptation Platform for Intermittently Powered Computing. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies 5, 3 (2021), 1--42.
[12]
Domenico Balsamo, Anup Das, Alex S Weddell, Davide Brunelli, Bashir M Al-Hashimi, Geoff V Merrett, and Luca Benini. 2016. Graceful performance modulation for power-neutral transient computing systems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35, 5 (2016), 738--749.
[13]
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 35, 12 (2016), 1968--1980.
[14]
Naveed Anwar Bhatti and Luca Mottola. 2017. HarvOS: Efficient code instrumentation for transiently-powered embedded sensing. In 2017 16th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN). IEEE, 209--220.
[15]
Michael Buettner, Ben Greenstein, and David Wetherall. 2011. Dewdrop: an energy-aware runtime for computational rfid. In Proc. USENIX NSDI. 197--210.
[16]
Barbara Chapman, Gabriele Jost, and Ruud Van Der Pas. 2007. Using OpenMP: portable shared memory parallel programming. MIT press.
[17]
Zheng Jun Chew and Meiling Zhu. 2019. Adaptive self-configurable rectifier for extended operating range of piezoelectric energy harvesting. IEEE Transactions on Industrial Electronics 67, 4 (2019), 3267--3276.
[18]
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. 514--530.
[19]
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. 767--781.
[20]
Powercast Corp. 2014. Powercast Hardware. Technical Report. https://www.powercastco.com/
[21]
Powercast Corp. 2015. Powercast Hardware. Technical Report. https://www.powercastco.com/wp-content/uploads/2016/11/p2110-evb1.pdf
[22]
Jasper de Winkel, Carlo Delle Donne, Kasim Sinan Yildirim, Przemysław Pawełczak, and Josiah Hester. 2020. Reliable timekeeping for intermittent computing. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems. 53--67.
[23]
Li Deng. 2012. The mnist database of handwritten digit images for machine learning research [best of the web]. IEEE Signal Processing Magazine 29, 6 (2012), 141--142.
[24]
Harsh Desai and Brandon Lucia. 2020. A power-aware heterogeneous architecture scaling model for energy-harvesting computers. IEEE Computer Architecture Letters 19, 1 (2020), 68--71.
[25]
Analog Devices. 2021. Energy Harvesting (EH) Multi-Source Demo Board with Transducers. Technical Report. https://www.analog.com/media/en/technical-documentation/user-guides/DC2080A.PDF
[26]
Digilent. 2021. Analog Discovery 2 Reference Manual. Technical Report. Digilent. https://reference.digilentinc.com/test-and-measurement/analog-discovery-2/reference-manual
[27]
Brittany Finch and William Goh. 2014. MSP430 Advanced Power Optimizations: ULP Advisor Software and EnergyTrace Technology. Technical Report. Texas Instruments. https://ti.com/lit/an/slaa603/slaa603.pdf
[28]
Daniel Friesel, Lennart Kaiser, and Olaf Spinczyk. 2021. Automatic energy model generation with MSP430 EnergyTrace. In Proceedings of the Workshop on Benchmarking Cyber-Physical Systems and Internet of Things. 26--31.
[29]
Angelo Garofalo, Manuele Rusci, Francesco Conti, Davide Rossi, and Luca Benini. 2020. PULP-NN: accelerating quantized neural networks on parallel ultra-low-power RISC-V processors. Philosophical Transactions of the Royal Society A 378, 2164 (2020), 20190155.
[30]
Graham Gobieski, Brandon Lucia, and Nathan Beckmann. 2019. Intelligence beyond the edge: Inference on intermittent embedded systems. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems. 199--213.
[31]
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 52nd Annual IEEE/ACM International Symposium on Microarchitecture. 670--684.
[32]
Andres Gomez, Andreas Tretter, Pascal Alexander Hager, Praveenth Sanmugarajah, Luca Benini, and Lothar Thiele. 2022. Data-flow Driven Partitioning of Machine Learning Applications for Optimal Energy Use in Batteryless Systems. ACM Transactions on Embedded Computing Systems (TECS) (2022).
[33]
Tom Guillaumet, Aayush Sharma, Eric Feron, Madhava Krishna, Ranjani Narayan, Philippe Baufreton, Francois Neumann, and Emmanuel Grolleau. 2016. Using reconfigurable multi-core architectures for safety-critical embedded systems. In 2016 IEEE/AIAA 35th Digital Avionics Systems Conference (DASC). IEEE, 1--6.
[34]
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. 1--13.
[35]
Matthew Hicks. 2017. Clank: Architectural support for intermittent computation. ACM SIGARCH Computer Architecture News 45, 2 (2017), 228--240.
[36]
Texas Instruments. 2021. MSP430 microcontrollers. https://www.ti.com/product/MSP430FR5994
[37]
Texas Instruments. 2021. MSP430FR599x, MSP430FR596x Mixed-Signal Microcontrollers. Technical Report. Texas Instruments. https://www.ti.com/product/MSP430FR5994
[38]
Texas Instruments. 2021. Non-Volatile Memory: Flash & FRAM. Technical Report. Texas Instruments. https://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/MSP430_LaunchPad_Workshop/v4/Chapters/MSP430m09_FLASH_and_FRAM.pdf
[39]
Engin Ipek, Meyrem Kirman, Nevin Kirman, and Jose F Martinez. 2007. Core fusion: accommodating software diversity in chip multiprocessors. In Proceedings of the 34th annual international symposium on Computer architecture. 186--197.
[40]
Bashima Islam and Shahriar Nirjon. 2020. Zygarde: Time-Sensitive On-Device Deep Inference and Adaptation on Intermittently-Powered Systems. Proc. ACM Interact. Mob. Wearable Ubiquitous Technol. 4, 3, Article 82 (sep 2020), 29 pages.
[41]
Hrishikesh Jayakumar, Arnab Raha, Woo Suk Lee, and Vijay Raghunathan. 2015. QuickRecall: A HW/SW approach for computing across power cycles in transiently powered computers. ACM Journal on Emerging Technologies in Computing Systems (JETC) 12, 1 (2015), 1--19.
[42]
Joseph M Kahn, Randy H Katz, and Kristofer SJ Pister. 1999. Next century challenges: mobile networking for "Smart Dust". In Proceedings of the 5th annual ACM/IEEE international conference on Mobile computing and networking. 271--278.
[43]
Victor Kartsch, Marco Guermandi, Simone Benatti, Fabio Montagna, and Luca Benini. 2019. An Energy-Efficient IoT node for HMI applications based on an ultra-low power Multicore Processor. In 2019 IEEE Sensors Applications Symposium (SAS). IEEE, 1--6.
[44]
Vito Kortbeek, Kasim Sinan Yildirim, Abu Bakar, Jacob Sorber, Josiah Hester, and Przemysław Pawełczak. 2020. Time-sensitive intermittent computing meets legacy software. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems. 85--99.
[45]
Marko Kos and Iztok Kramberger. 2018. Tennis stroke consistency analysis using miniature wearable IMU. In 2018 25th International Conference on Systems, Signals and Image Processing (IWSSIP). IEEE, 1--4.
[46]
David Kotz, Tristan Henderson, Ilya Abyzov, and Jihwang Yeo. 2009. CRAWDAD dataset dartmouth/campus (v. 2009-09-09). https://crawdad.org/columbia/enhants/20110407
[47]
Yann LeCun, Léon Bottou, Yoshua Bengio, and Patrick Haffner. 1998. Gradient-based learning applied to document recognition. Proc. IEEE 86, 11 (1998), 2278--2324.
[48]
Edward A Lee, Björn Hartmann, John Kubiatowicz, Tajana Simunic Rosing, John Wawrzynek, David Wessel, Jan Rabaey, Kris Pister, Alberto Sangiovanni-Vincentelli, Sanjit A Seshia, et al. 2014. The swarm at the edge of the cloud. IEEE Design & Test 31, 3 (2014), 8--20.
[49]
Seulki Lee and Shahriar Nirjon. 2019. Neuro. ZERO: a zero-energy neural network accelerator for embedded sensing and inference systems. In Proceedings of the 17th Conference on Embedded Networked Sensor Systems. 138--152.
[50]
Brandon Lucia, Vignesh Balaji, Alexei Colin, Kiwan Maeng, and Emily Ruppel. 2017. Intermittent computing: Challenges and opportunities. In 2nd Summit on Advances in Programming Languages (SNAPL 2017). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
[51]
Brandon Lucia and Benjamin Ransford. 2015. A simpler, safer programming and execution model for intermittent systems. ACM SIGPLAN Notices 50, 6 (2015), 575--585.
[52]
Kaisheng Ma, Xueqing Li, Yongpan Liu, John Sampson, Yuan Xie, and Vijaykrishnan Narayanan. 2015. Dynamic machine learning based matching of nonvolatile processor microarchitecture to harvested energy profile. In 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). IEEE, 670--675.
[53]
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 2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC). IEEE, 678--683.
[54]
Kiwan Maeng, Alexei Colin, and Brandon Lucia. 2017. Alpaca: Intermittent execution without checkpoints. Proceedings of the ACM on Programming Languages 1, OOPSLA (2017), 1--30.
[55]
Kiwan Maeng and Brandon Lucia. 2018. Adaptive dynamic checkpointing for safe efficient intermittent computing. In 13th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 18). 129--144.
[56]
Kiwan Maeng and Brandon Lucia. 2020. Adaptive low-overhead scheduling for periodic and reactive intermittent execution. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation. 1005--1021.
[57]
Amjad Yousef Majid, Carlo Delle Donne, Kiwan Maeng, Alexei Colin, Kasim Sinan Yildirim, Brandon Lucia, and Przemysław Pawełczak. 2020. Dynamic task-based intermittent execution for energy-harvesting devices. ACM Transactions on Sensor Networks (TOSN) 16, 1 (2020), 1--24.
[58]
Alessandro Montanari, Manuja Sharma, Dainius Jenkus, Mohammed Alloulah, Lorena Qendro, and Fahim Kawsar. 2020. ePerceptive: energy reactive embedded intelligence for batteryless sensors. In Proceedings of the 18th Conference on Embedded Networked Sensor Systems. 382--394.
[59]
Matteo Nardello, Harsh Desai, Davide Brunelli, and Brandon Lucia. 2019. Camaroptera: A batteryless long-range remote visual sensing system. In Proceedings of the 7th International Workshop on Energy Harvesting & Energy-Neutral Sensing Systems. 8--14.
[60]
NREL. 2022. Best Research-Cell Efficiency Chart. Technical Report. NREL. https://www.nrel.gov/pv/cell-efficiency.html
[61]
NXP. 2022. NXP's Energy Efficient Cortex-M4 MCU with Cortex-M0+ and Advanced Security. Technical Report. NXP. https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k32-l-series-cortex-m4-m0-plus/nxps-energy-efficient-cortex-m4-mcu-with-cortex-m0-plus-and-advanced-security:K32-L3
[62]
Phitchaya Mangpo Phothilimthana, Tikhon Jelvis, Rohin Shah, Nishant Totla, Sarah Chasins, and Rastislav Bodik. 2014. Chlorophyll: Synthesis-aided compiler for low-power spatial architectures. ACM SIGPLAN Notices 49, 6 (2014), 396--407.
[63]
Karol J Piczak. 2015. ESC: Dataset for environmental sound classification. In Proceedings of the 23rd ACM international conference on Multimedia. 1015--1018.
[64]
Keni Qiu, Nicholas Jao, Mengying Zhao, Cyan Subhra Mishra, Gulsum Gudukbay, Sethu Jose, Jack Sampson, Mahmut Taylan Kandemir, and Vijaykrishnan Narayanan. 2020. ResiRCA: A resilient energy harvesting ReRAM crossbar-based accelerator for intelligent embedded processors. In 2020 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 315--327.
[65]
Benjamin Ransford and Brandon Lucia. 2014. Nonvolatile memory is a broken time machine. In Proceedings of the workshop on Memory Systems Performance and Correctness. 1--3.
[66]
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. 159--170.
[67]
Salonik Resch, S Karen Khatamifard, Zamshed I Chowdhury, Masoud Zabihi, Zhengyang Zhao, Husrev Cilasun, Jian-Ping Wang, Sachin S Sapatnekar, and Ulya R Karpuzcu. 2020. MOUSE: Inference in non-volatile memory for energy harvesting applications. In 2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 400--414.
[68]
Jenna M Roper, Jose F Garcia, and Hideaki Tsutsui. 2021. Emerging technologies for monitoring plant health in vivo. ACS omega 6, 8 (2021), 5101--5107.
[69]
Davide Rossi, Igor Loi, Francesco Conti, Giuseppe Tagliavini, Antonio Pullini, and Andrea Marongiu. 2014. Energy efficient parallel computing on the PULP platform with support for OpenMP. In 2014 IEEE 28th Convention of Electrical & Electronics Engineers in Israel (IEEEI). IEEE, 1--5.
[70]
Emily Ruppel and Brandon Lucia. 2019. Transactional concurrency control for intermittent, energy-harvesting computing systems. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. 1085--1100.
[71]
Joshua San Miguel, Karthik Ganesan, Mario Badr, Chunqiu Xia, Rose Li, Hsuan Hsiao, and Natalie Enright Jerger. 2018. The eh model: Early design space exploration of intermittent processor architectures. In 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 600--612.
[72]
Sivert T Sliper, Domenico Balsamo, Alex S Weddell, and Geoff V Merrett. 2018. Enabling intermittent computing on high-performance out-of-order processors. In Proceedings of the 6th International Workshop on Energy Harvesting & Energy-Neutral Sensing Systems. 19--25.
[73]
Sivert T Sliper, William Wang, Nikos Nikoleris, Alex S Weddell, Anand Savanth, Pranay Prabhat, and Geoff V Merrett. 2022. Pragmatic Memory-System Support for Intermittent Computing using Emerging Non-Volatile Memory. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (2022).
[74]
Lionel Sujay Vailshery. 2018. IoT connected devices worldwide 2030. https://www.statista.com/statistics/802690/worldwide-connected-devices-by-access-technology/
[75]
Joel Van Der Woude and Matthew Hicks. 2016. Intermittent computation without hardware support or programmer intervention. In 12th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 16). 17--32.
[76]
Marco Willi, Ross T Pitman, Anabelle W Cardoso, Christina Locke, Alexandra Swanson, Amy Boyer, Marten Veldthuis, and Lucy Fortson. 2019. Identifying animal species in camera trap images using deep learning and citizen science. Methods in Ecology and Evolution 10, 1 (2019), 80--91.
[77]
Harrison Williams, Michael Moukarzel, and Matthew Hicks. 2021. Failure Sentinels: Ubiquitous Just-in-time Intermittent Computation via Low-cost Hardware Support for Voltage Monitoring. In 2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture (ISCA). IEEE, 665--678.
[78]
Kasim Sinan Yildirim, Amjad Yousef Majid, Dimitris Patoukas, Koen Schaper, Przemyslaw Pawelczak, and Josiah Hester. 2018. Ink: Reactive kernel for tiny batteryless sensors. In Proceedings of the 16th ACM Conference on Embedded Networked Sensor Systems. 41--53.
[79]
Eren Yildiz, Lijun Chen, and Kasim Sinan Yildirim. 2022. Immortal Threads: Multithreaded Event-driven Intermittent Computing on {Ultra-Low-Power} Microcontrollers. In 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22). 339--355.
[80]
Seyed Alireza Zamani and Yasser Baleghi. 2020. Visible-thermal database of rice field. In Mendeley Data, V1.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies
Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies  Volume 6, Issue 3
September 2022
1612 pages
EISSN:2474-9567
DOI:10.1145/3563014
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

Publication History

Published: 07 September 2022
Published in IMWUT Volume 6, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. batteryless systems
  2. energy-aware adaptive systems
  3. intermittent computing
  4. multicore systems
  5. parallelism

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)335
  • Downloads (Last 6 weeks)66
Reflects downloads up to 22 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media