Explicit Reservation of Local Memory in a Predictable, Preemptive Multitasking Real-time System

Tuesday, 17 April 2012

As I am unable to travel this week, my co-author Neil Audsley has presented this paper at the RTAS 2012 conference in Beijing. I am grateful to Neil for his support. The paper is important because it is an early attempt to dynamically share local scratchpad memory between large numbers of tasks in a preemptive multitasking system. I am now able to make the paper available for download on my publications page.

Link to PDF


This paper proposes Carousel, a mechanism to manage local memory space, i.e. cache or scratchpad memory (SPM), such that inter-task interference is completely eliminated. The cost of saving and restoring the local memory state across context switches is explicitly handled by the preempting task, rather than being imposed implicitly on preempted tasks. Unlike earlier attempts to eliminate inter-task interference, Carousel allows each task to use as much local memory space as it requires, permitting the approach to scale to large numbers of tasks.

Carousel is experimentally evaluated using a simulator. We demonstrate that preemption has no effect on task execution times, and that the Carousel technique compares well to the conventional approach to handling interference, where worst-case interference costs are simply added to the worst-case execution times (WCETs) of lower-priority tasks.

As usual, there is also a software package to go with the paper. It contains all the software needed to reproduce the results.

Link to tar.bz2 file