paper-with-me

Papers

Higher-Order Concurrency for Microcontrollers

2021-08-17 · Abhiroop Sarkar, Robert Krook, Bo Joel Svensson, Mary Sheeran

Programming microcontrollers involves low-level interfacing with hardware and peripherals that are concurrent and reactive. Such programs are typically written in a mixture of C and assembly using concurrent language extensions (like $\texttt{FreeRTOS tasks}$ and $\texttt{semaphores}$), resulting in unsafe, callback-driven, error-prone and difficult-to-maintain code. We address this challenge by introducing $\texttt{SenseVM}$ - a bytecode-interpreted virtual machine that provides a message-passing based $\textit{higher-order concurrency}$ model, originally introduced by Reppy, for microcontroller programming. This model treats synchronous operations as first-class values (called $\texttt{Events}$) akin to the treatment of first-class functions in functional languages. This primarily allows the programmer to compose and tailor their own concurrency abstractions and, additionally, abstracts away unsafe memory operations, common in shared-memory concurrency models, thereby making microcontroller programs safer, composable and easier-to-maintain. Our VM is made portable via a low-level $\textit{bridge}$ interface, built atop the embedded OS - Zephyr. The bridge is implemented by all drivers and designed such that programming in response to a software message or a hardware interrupt remains uniform and indistinguishable. In this paper we demonstrate the features of our VM through an example, written in a Caml-like functional language, running on the $\texttt{nRF52840}$ and $\texttt{STM32F4}$ microcontrollers.

📄 PDF Abstract BibTeX arXiv:2108.07805

Code (0)

등록된 구현이 없습니다.

Similar Papers 제목 키워드 기반

Improving Execution Concurrency in Partial-Order Plans via Block-Substitution

2024-06-25 · Sabah Binte Noor, Fazlul Hasan Siddiqui

Partial-order plans in AI planning facilitate execution flexibility and several other tasks, such as plan reuse, modification, and decomposition, due to their less constrained nature. A Partial-Order Plan (POP) allows tw…

Demo Abstract: Capuchin: A Neural Network Model Generator for 16-bit Microcontrollers

2022-05-04 · ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN) 2022 5 · Le Zhang, Yubo Luo, Shahriar Nirjon

Resource-optimized deep neural networks (DNNs) nowadays run on microcontrollers to perform a wide variety of audio, image and sensor data classification tasks. Despite comprehensive support for deep learning tools for 32…

Deep Learning

Reducing Inference Latency with Concurrent Architectures for Image Recognition

2020-11-13 · Ramyad Hadidi, Jiashen Cao, Michael S. Ryoo, Hyesoon Kim

Satisfying the high computation demand of modern deep learning architectures is challenging for achieving low inference latency. The current approaches in decreasing latency only increase parallelism within a layer. This…

Neural Architecture Search

Hello Edge: Keyword Spotting on Microcontrollers

2017-11-20 · Yundong Zhang, Naveen Suda, Liangzhen Lai, Vikas Chandra

Keyword spotting (KWS) is a critical component for enabling speech based user interactions on smart devices. It requires real-time response and high accuracy for good user experience. Recently, neural networks have becom…

Keyword Spotting

CoAgent: Concurrency Control for Multi-Agent Systems

2026-06-13 · Hongtao Lyu, Dingyan Zhang, Mingyu Wu, Xingda Wei 외 arxiv

Multi-agent LLM systems -- coding agents, devops agents, document agents -- now routinely run several agents in parallel against the same git tree, Kubernetes cluster, or document. As soon as two of them mutate shared st…