Scratchpad Memory aware task scheduling with minimum number of preemptions on a single processor

We propose a unified approach to the problem of scheduling a set of tasks with individual release times, deadlines and precedence constraints, and allocating the data of each task to the SPM (Scratchpad Memory) on a single processor system. Our approach consists of a task scheduling algorithm and an SPM allocation algorithm. The former constructs a feasible schedule incrementally, aiming to minimize the number of preemptions in the feasible schedule. The latter allocates a portion of the SPM to each task in an efficient way by employing a novel data structure, namely, the preemption graph. We have evaluated our approach and a previous approach by using six task sets. The results show that our approach achieves up to 20.31% on WCRT (Worst-Case Response Time) reduction over the previous approach.

[1]  Sang Lyul Min,et al.  A dynamic code placement technique for scratchpad memory using postpass optimization , 2006, CASES '06.

[2]  Jan Karel Lenstra,et al.  Complexity of machine scheduling problems , 1975 .

[3]  Hiroaki Takada,et al.  Allocation of scratch-pad memory in priority-based multi-task systems , 2009, 2009 International Symposium on VLSI Design, Automation and Test.

[4]  Jean-François Deverge,et al.  WCET-Directed Dynamic Scratchpad Memory Allocation of Data , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[5]  Hui Wu,et al.  Optimal WCET-aware code selection for scratchpad memory , 2010, EMSOFT '10.

[6]  Sebastian Altmeyer,et al.  Optimal task placement to improve cache performance , 2007, EMSOFT '07.

[7]  Jens Knoop,et al.  Scratchpad memory allocation for data aggregates via interval coloring in superperfect graphs , 2010, TECS.

[8]  Ting Chen,et al.  WCET centric data allocation to scratchpad memory , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[9]  Björn Lisper,et al.  Data cache locking for tight timing calculations , 2007, TECS.

[10]  Tulika Mitra,et al.  Scratchpad allocation for concurrent embedded software , 2010, TOPL.

[11]  Pascal Sainrat,et al.  PapaBench: a Free Real-Time Benchmark , 2006, WCET.

[12]  Heonshik Shin,et al.  Dynamic scratchpad memory management for code in portable systems with an MMU , 2008, TECS.

[13]  Heonshik Shin,et al.  Scratchpad memory management in a multitasking environment , 2008, EMSOFT '08.

[14]  D. Atkin OR scheduling algorithms. , 2000, Anesthesiology.

[15]  LeeJaejin,et al.  Dynamic scratchpad memory management for code in portable systems with an MMU , 2008 .

[16]  Qing Wan,et al.  WCET-aware data selection and allocation for scratchpad memory , 2012, LCTES 2012.

[17]  Jingling Xue,et al.  Scratchpad allocation for data aggregates in superperfect graphs , 2007, LCTES.

[18]  Hui Feng,et al.  Compiler-directed scratchpad memory management via graph coloring , 2009, TACO.

[19]  Tulika Mitra,et al.  Integrated scratchpad memory optimization and task scheduling for MPSoC architectures , 2006, CASES '06.

[20]  Hiroaki Takada,et al.  Allocation of scratch-pad memory in priority-based multi-task systems , 2009 .

[21]  Peter Brucker,et al.  Scheduling Algorithms , 1995 .

[22]  Marco Spuri,et al.  Deadline Scheduling for Real-Time Systems: Edf and Related Algorithms , 2013 .

[23]  Xianfeng Li,et al.  Chronos: A timing analyzer for embedded software , 2007, Sci. Comput. Program..

[24]  Hiroaki Takada,et al.  Partitioning and allocation of scratch-pad memory for priority-based preemptive multi-task systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).