Acceleration of the L4/Fiasco microkernel using scratchpad memory

In this paper we analyze the potential of using scratchpad memory in embedded devices to accelerate the operation of the L4/Fiasco microkernel affecting basically all applications on top of the kernel including virtualization software. We examine several low-level L4 system calls using a virtual prototype of Infineon's S-GOLD® platform for mobile phones based on an ARM11 processor. We present a profiling strategy identifying critical parts of the microkernel to be placed on the scratchpad memory. Applying this approach we achieve a worstcase speedup of up to 29% with one page of scratchpad memory (4 kB) and up to 63% with two pages. With regard to the real-time capability of Fiasco, worst-case interrupt latency can be improved by almost 45% with only 4 kB of scratchpad memory.

[1]  Peter Marwedel,et al.  Influence of memory hierarchies on predictability for time constrained embedded software , 2005, Design, Automation and Test in Europe.

[2]  Manish Verma,et al.  Advanced memory optimization techniques for low-power embedded processors , 2005, Ausgezeichnete Informatikdissertationen.

[3]  Isabelle Puaut,et al.  Scratchpad memories vs locked caches in hard real-time systems: a quantitative comparison , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[4]  Heonshik Shin,et al.  Dynamic data scratchpad memory management for a memory subsystem with an MMU , 2007, LCTES '07.

[5]  Paolo Toth,et al.  Knapsack Problems: Algorithms and Computer Implementations , 1990 .

[6]  Jochen Liedtke,et al.  The performance of μ-kernel-based systems , 1997, SOSP.

[7]  Peter Marwedel,et al.  Scratchpad memory: a design alternative for cache on-chip memory in embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).