Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3461648.3463842acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Robust I/O-compute concurrency for machine learning pipelines in constrained cyber-physical devices

Published: 22 June 2021 Publication History

Abstract

Cyberphysical systems have numerous industrial and commercial applications. Such systems are often built using low-resource devices that gather and process data, using machine-learning (ML) models, to make intelligent decisions and provide value to users. Programming such low-resource devices with an impoverished system runtime is often challenging.
This paper presents a new domain-specific language called PiCon for programming ML pipelines in low-resource devices. PiCon allows safe I/O-compute concurrency, ruling out a large class of errors, while providing a simple and sequential coding abstraction to the programmer. PiCon compiles to C code and easily interfaces with existing C/C++ code. Furthermore, the generated code does not rely on multi-threading support or dynamic memory allocation, dramatically reducing its footprint on the device. We present experience porting two real-world ML applications that demonstrate simplification in programmability, in addition to several safe-by-construction guarantees.

References

[1]
Motor Industry Software Reliability Association. 2008. MISRA C++: 2008: guidelines for the use of the C++ language in critical systems. MIRA.
[2]
Charles Bell. 2017. MicroPython for the Internet of Things. Springer. isbn:978-1-4842-3123-4
[3]
Don Kurian Dennis, Shishir G Patil, Chirag Pabbaraju, Nadeem Shaheer, Harsha Simhadri, Vivek Seshadri, Manik Varma, and Prateek Jain. 2018. GesturePod: Gesture-based Interaction Cane for People with Visual Impairments. Technical Report MSR-TR-2018–14. Microsoft.
[4]
Dennis, Don Kurian and Gaurkar, Yash and Gopinath, Sridhar and Goyal, Sachin and Gupta, Chirag and Jain, Moksh and Jaiswal, Shikhar and Kumar, Ashish and Kusupati, Aditya and Lovett, Chris and Patil, Shishir G and Saha, Oindrila and Simhadri, Harsha Vardhan. [n.d.]. EdgeML: Machine Learning for resource-constrained edge devices. https://github.com/Microsoft/EdgeML
[5]
Adam Dunkels, Bjorn Gronvall, and Thiemo Voigt. 2004. Contiki-a lightweight and flexible operating system for tiny networked sensors. In 29th annual IEEE international conference on local computer networks. 455–462. https://doi.org/10.1109/LCN.2004.38
[6]
Adam Dunkels, Fredrik Osterlind, Nicolas Tsiftes, and Zhitao He. 2007. Software-based on-line energy estimation for sensor nodes. In Proceedings of the 4th workshop on Embedded networked sensors. 28–32. https://doi.org/10.1145/1278972.1278979
[7]
Adam Dunkels, Oliver Schmidt, Thiemo Voigt, and Muneeb Ali. 2006. Protothreads: Simplifying event-driven programming of memory-constrained embedded systems. In Proceedings of the 4th international conference on Embedded networked sensor systems. 29–42. https://doi.org/10.1145/1182807.1182811
[8]
Chirag Gupta, Arun Sai Suggala, Ankit Goyal, Harsha Vardhan Simhadri, Bhargavi Paranjape, Ashish Kumar, Saurabh Goyal, Raghavendra Udupa, Manik Varma, and Prateek Jain. 2017. ProtoNN: compressed and accurate kNN for resource-scarce devices. In International Conference on Machine Learning. 1331–1340.
[9]
John Hunt. 2019. Concurrency with AsyncIO. In Advanced Guide to Python 3 Programming. Springer, 407–417. https://doi.org/10.1007/978-3-030-25943-3_34
[10]
Texas Instruments. [n.d.]. MS430 Microcontroller. https://www.ti.com/lit/ug/slau395f/slau395f.pdf
[11]
Aditya Kusupati, Manish Singh, Kush Bhatia, Ashish Kumar, Prateek Jain, and Manik Varma. 2018. FastGRNN: A Fast, Accurate, Stable and Tiny Kilobyte Sized Gated Recurrent Neural Network. In Advances in Neural Information Processing Systems. 9031–9042.
[12]
Edward A Lee. 2006. Cyber-physical systems-are computing foundations adequate. In Position Paper for NSF Workshop On Cyber-Physical Systems: Research Motivation, Techniques and Roadmap. 2, 1–9.
[13]
Edward A Lee. 2008. Cyber physical systems: Design challenges. In 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC). 363–369. https://doi.org/10.1109/ISORC.2008.25
[14]
Philip Levis, Sam Madden, Joseph Polastre, Robert Szewczyk, Kamin Whitehouse, Alec Woo, David Gay, Jason Hill, Matt Welsh, and Eric Brewer. 2005. TinyOS: An operating system for sensor networks. In Ambient intelligence. Springer, 115–148. https://doi.org/10.1007/3-540-27139-2_7
[15]
Nicholas D Matsakis and Felix S Klock. 2014. The rust language. ACM SIGAda Ada Letters, 34, 3 (2014), 103–104. https://doi.org/10.1145/2692956.2663188
[16]
William P McCartney and Nigamanth Sridhar. 2006. Abstractions for safe concurrent programming in networked embedded systems. In Proceedings of the 4th international conference on Embedded networked sensor systems. 167–180. https://doi.org/10.1145/1182807.1182825
[17]
Semih Okur, David L Hartveld, Danny Dig, and Arie van Deursen. 2014. A study and toolkit for asynchronous programming in C#. In Proceedings of the 36th International Conference on Software Engineering. 1117–1127. https://doi.org/10.1145/2568225.2568309
[18]
Benjamin C Pierce. 2005. Advanced topics in types and programming languages. MIT press.
[19]
J. A. Stankovic, I. Lee, A. Mok, and R. Rajkumar. 2005. Opportunities and obligations for physical computing systems. Computer, 38, 11 (2005), Nov, 23–31. issn:0018-9162 https://doi.org/10.1109/MC.2005.386
[20]
STMicroelectronics. [n.d.]. STM8L050J3 Microcontroller. https://www.st.com/en/microcontrollers-microprocessors/stm8l050j3.html

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
LCTES 2021: Proceedings of the 22nd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems
June 2021
162 pages
ISBN:9781450384728
DOI:10.1145/3461648
  • General Chair:
  • Jörg Henkel,
  • Program Chair:
  • Xu Liu
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 June 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Constrained devices
  2. Cyberphysical systems
  3. Embedded systems
  4. IoT
  5. Machine Learning

Qualifiers

  • Research-article

Conference

LCTES '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 125
    Total Downloads
  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)4
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

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