論文の概要: Higher-Order Concurrency for Microcontrollers
- arxiv url: http://arxiv.org/abs/2108.07805v1
- Date: Tue, 17 Aug 2021 15:11:03 GMT
- ステータス: 処理完了
- システム内更新日: 2021-08-20 00:34:35.349346
- Title: Higher-Order Concurrency for Microcontrollers
- Title(参考訳): マイクロコントローラの高次並列性
- Authors: Abhiroop Sarkar, Robert Krook, Bo Joel Svensson, Mary Sheeran
- Abstract要約: マイクロコントローラプログラムは、典型的にはCとアセンブリの混合で、並行言語拡張を使って記述される。
この課題に対処するためには、$textttSenseVM$を導入します。
私たちのVMは、組み込みOS - Zephyr上に構築された低レベルの$textitbridge$インターフェイスを介してポータブルにされています。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: 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.
- Abstract(参考訳): プログラミングマイクロコントローラは、並列でリアクティブなハードウェアや周辺機器との低レベルのインターフェースを伴う。
このようなプログラムは、一般的にcとアセンブリの混合で、並列言語拡張($\texttt{freertos tasks}$と$\texttt{semaphores}$)を使用して記述される。
我々は、マイクロコントローラプログラミングのためにReppyによって最初に導入された、メッセージパスベースの$\textit{higher-order concurrent}$モデルを提供するバイトコード解釈仮想マシンである$\textt{SenseVM}$を導入することで、この問題に対処する。
このモデルは、関数型言語におけるファーストクラス関数の処理と同様に、同期操作をファーストクラス値($\texttt{events}$)として扱う。
これにより、プログラマは自身の並列処理の抽象化を作成、調整でき、また共有メモリの並行処理モデルに共通する安全でないメモリ操作を抽象化できる。
私たちのVMは、組み込みOS - Zephyr上に構築された低レベルの$\textit{bridge}$インターフェイスを介してポータブルにされています。
このブリッジは、すべてのドライバによって実装され、ソフトウェアメッセージやハードウェアの割り込みに応じてプログラミングするように設計されている。
本稿では、Camlのような関数型言語で書かれ、$\texttt{nRF52840}$と$\texttt{STM32F4}$マイクロコントローラ上で実行されるVMの特徴を例に示す。
関連論文リスト
- BitStack: Fine-Grained Size Control for Compressed Large Language Models in Variable Memory Environments [53.71158537264695]
大規模言語モデル(LLM)は、多くのアプリケーションに革命をもたらしたが、ローカルデバイスにおけるメモリ制限により、その展開は依然として困難である。
textbfBitStackは,メモリ使用量とモデル性能のトレードオフを可能にする,新しいトレーニング不要な重み圧縮手法である。
論文 参考訳(メタデータ) (2024-10-31T13:26:11Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - Developing a High-Performance Process Mining Library with Java and
Python Bindings in Rust [0.19036571490366497]
Rustは、本質的にメモリ安全性を備えた、高性能でコンパイルされたプログラミング言語として登場した。
相互運用性を促進することで、研究者や業界がRustで新しいアルゴリズムを一度開発し、コミュニティ全体にアクセスできるようにすることができます。
論文 参考訳(メタデータ) (2024-01-25T12:59:13Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Memory Augmented Large Language Models are Computationally Universal [44.64529266193095]
変換器をベースとした大規模言語モデルは,外部メモリで拡張した場合に計算的に普遍的であることを示す。
我々は,既存の大規模言語モデルであるFlan-U-PaLM 540Bと連想型読み書きメモリを組み合わせることで,汎用チューリングマシンの実行を正確にシミュレートできることを確認した。
論文 参考訳(メタデータ) (2023-01-10T02:37:44Z) - CryptOpt: Verified Compilation with Randomized Program Search for
Cryptographic Primitives (full version) [12.790826917588575]
暗号は例外であり、多くのパフォーマンスクリティカルなルーチンがアセンブリで直接書かれてきた。
CryptOptは、GCCやClangが生成するものよりもはるかに高速なアセンブリコードに高レベルの暗号関数プログラムを専門とする、最初のコンパイルパイプラインである。
形式検証の面では、FiatOptフレームワーク(関数型プログラムをCライクなIRコードに変換する)に接続し、新たに公式に認証されたプログラム等価チェッカーで拡張する。
論文 参考訳(メタデータ) (2022-11-19T11:07:39Z) - Token Turing Machines [53.22971546637947]
Token Turing Machines (TTM) はシーケンシャルな自己回帰型トランスフォーマーモデルである。
我々のモデルは、セミナルなニューラルチューリングマシンにインスパイアされ、以前の履歴を要約するトークンの集合からなる外部メモリを持つ。
論文 参考訳(メタデータ) (2022-11-16T18:59:18Z) - QParallel: Explicit Parallelism for Programming Quantum Computers [62.10004571940546]
並列量子プログラミングのための言語拡張を提案する。
QParallelは、現在の量子プログラミング言語における並列性に関する曖昧さを取り除く。
並列化によって最も利益を上げるサブルーチンを識別し,並列領域の配置にプログラマを誘導するツールを提案する。
論文 参考訳(メタデータ) (2022-10-07T16:35:16Z) - Hailstorm : A Statically-Typed, Purely Functional Language for IoT
Applications [0.0]
静的型付けされた純粋関数型プログラミング言語であるHailstormを紹介します。
高次関数、テール再帰、自動メモリ管理などの機能をサポートする。
我々は、標準例を書き、GRiSP組み込みシステムボード上でサンプルを実行することで、Hailstormを評価した。
論文 参考訳(メタデータ) (2021-05-27T22:09:15Z) - TensorFlow Lite Micro: Embedded Machine Learning on TinyML Systems [5.188829601887422]
組み込みデバイス上でのディープラーニング推論は、小さな組み込みデバイスが一様であることから、無数のアプリケーションで溢れている分野である。
組み込みデバイス上でのディープラーニング推論は、小さな組み込みデバイスが一様であることから、無数のアプリケーションで溢れている分野である。
組み込みシステム上でディープラーニングモデルを実行するための,オープンソースのML推論フレームワークであるLite Microを紹介した。
論文 参考訳(メタデータ) (2020-10-17T00:44:30Z) - HAT: Hardware-Aware Transformers for Efficient Natural Language
Processing [78.48577649266018]
ハードウェア・アウェア・トランスフォーマー(HAT)は、リソース制約のあるハードウェアプラットフォーム上で低遅延推論を可能にするように設計されている。
設計空間のすべての候補をカバーする$textitSuperTransformer$をトレーニングし、重量共有を備えた$textitSubTransformer$を効率的に生成します。
4つの機械翻訳タスクの実験により、HATは異なるハードウェアの効率的なモデルを見つけることができることを示した。
論文 参考訳(メタデータ) (2020-05-28T17:58:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。