Asynchronous programming using C++ coroutines in embedded and edge computing
Belson, Bruce (2024) Asynchronous programming using C++ coroutines in embedded and edge computing. PhD thesis, James Cook University.
|
PDF (Thesis)
Download (5MB) | Preview |
Abstract
Bruce Belson investigated C++20 'coroutine' support, examining its suitability for Internet-of-Things devices and embedded systems. The enhancements required for widespread embedded use were identified. Coroutines were found to offer improved ease-of-use. Simple and careful application of coroutines delivered 20% speed improvements and 18% power reduction, offering much improved battery life.
Item ID: | 86079 |
---|---|
Item Type: | Thesis (PhD) |
Keywords: | C++, coroutines, embedded software, Internet of Things (IoT), microcontrollers |
Related URLs: | |
Copyright Information: | Copyright © 2024 Bruce Belson |
Additional Information: | Three publications arising from this thesis are stored in ResearchOnline@JCU, at time of processing. Please see the Related URLS. The publications are: [Chapter 2] Belson, Bruce, Holdsworth, Jason, Xiang, Wei, and Philippa, Bronson (2019) A survey of asynchronous programming using coroutines in the Internet of Things and embedded systems. ACM Transactions on Embedded Computing Systems, 18 (3). 21. [Chapter 3] Belson, Bruce, Xiang, Wei, Holdsworth, Jason, and Philippa, Bronson (2021) C++20 coroutines on microcontrollers - what we learned. IEEE Embedded Systems Letters, 13 (1). pp. 9-12. [Chapter 4] Belson, Bruce, and Philippa, Bronson (2022) Speeding up Machine Learning Inference on Edge Devices by Improving Memory Access Patterns using Coroutines. In: Proceedings of the IEEE 25th International Conference on Computational Science and Engineering. pp. 9-16. From: CSE 2022: IEEE 25th International Conference on Computational Science and Engineering, 9-11 December 2022, Wuhan, China. |
Date Deposited: | 11 Jul 2025 02:06 |
FoR Codes: | 46 INFORMATION AND COMPUTING SCIENCES > 4612 Software engineering > 461204 Programming languages @ 30% 40 ENGINEERING > 4009 Electronics, sensors and digital hardware > 400902 Digital electronic devices @ 40% 40 ENGINEERING > 4009 Electronics, sensors and digital hardware > 400907 Industrial electronics @ 30% |
SEO Codes: | 28 EXPANDING KNOWLEDGE > 2801 Expanding knowledge > 280110 Expanding knowledge in engineering @ 50% 28 EXPANDING KNOWLEDGE > 2801 Expanding knowledge > 280115 Expanding knowledge in the information and computing sciences @ 50% |
Downloads: |
Total: 2 Last 12 Months: 2 |
More Statistics |