Please use this identifier to cite or link to this item:
https://doi.org/10.1145/1734206.1734210
Title: | Scratchpad allocation for concurrent embedded software | Authors: | Suhendra, V. Roychoudhury, A. Mitra, T. |
Keywords: | Compiler controlled memories Message sequence chart Multicore architectures Scratchpad memory UML sequence diagram Worst-case response time |
Issue Date: | 2010 | Citation: | Suhendra, V., Roychoudhury, A., Mitra, T. (2010). Scratchpad allocation for concurrent embedded software. ACM Transactions on Programming Languages and Systems 32 (4). ScholarBank@NUS Repository. https://doi.org/10.1145/1734206.1734210 | Abstract: | Software-controlled scratchpad memory is increasingly employed in embedded systems as it offers better timing predictability compared to caches. Previous scratchpad allocation algorithms typically consider single-process applications. But embedded applications are mostly multitasking with real-time constraints, where the scratchpad memory space has to be shared among interacting processes that may preempt each other. In this work, we develop a novel dynamic scratchpad allocation technique that takes these process interferences into account to improve the performance and predictability of the memory system. We model the application as a Message Sequence Chart (MSC) to best capture the interprocess interactions. Our goal is to optimize the Worst-Case Response Time (WCRT) of the application through runtime reloading of the scratchpad memory content at appropriate execution points. We propose an iterative allocation algorithm that consists of two critical steps: (1) analyze the MSC along with the existing allocation to determine potential interference patterns, and (2) exploit this interference information to tune the scratchpad reloading points and content so as to best improve the WCRT. We present various alternative scratchpad allocation heuristics and evaluate their effectiveness in reducing the WCRT. The scheme is also extended to work on Message Sequence Graph models. We evaluate our memory allocation scheme on two real-world embedded applications controlling an Unmanned Aerial Vehicle (UAV) and an in-orbit monitoring instrument, respectively. © 2010 ACM. | Source Title: | ACM Transactions on Programming Languages and Systems | URI: | http://scholarbank.nus.edu.sg/handle/10635/39735 | ISSN: | 01640925 | DOI: | 10.1145/1734206.1734210 |
Appears in Collections: | Staff Publications |
Show full item record
Files in This Item:
There are no files associated with this item.
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.