Evaluation of I-Cache Locking Technique for Real-Time Embedded Systems

Cache memory improves performance by reducing the speed gap between the CPU and the main memory. However, the execution time becomes unpredictable due to the cache's adaptive and dynamic behavior. Real-time applications are subject to operational deadlines and predictability is considered necessary to support them. Studies show that for embedded systems, cache locking helps determine the worst case execution time (WCET) and cache-related preemption delay. In this work, we evaluate predictability of an embedded system running real-time applications by instruction cache (I-Cache) locking. We implement an algorithm that locks the blocks that may cause more cache misses, using the Heptane simulation tool. We obtain CPU utilization measures for both cache analysis (no cache locking) and I-cache locking. Experimental results show that our proposed cache locking algorithm improves predictability and performance up to 15% locking, after that, predictability may be further enhanced by sacrificing performance.

[1]  Abu Asaduzzaman,et al.  Cache modeling and optimization for portable devices running MPEG-4 video decoder , 2006, Multimedia Tools and Applications.

[2]  F. Rodriguez,et al.  Static use of locking caches vs. dynamic use of locking caches for real-time systems , 2003, CCECE 2003 - Canadian Conference on Electrical and Computer Engineering. Toward a Caring and Humane Technology (Cat. No.03CH37436).

[3]  Brani Vidakovic,et al.  USING GENETIC ALGORITHMS IN CONTENT SELECTION FOR LOCKING-CACHES , 2001 .

[4]  José V. Busquets-Mataix,et al.  Schedulability Analysis in EDF Scheduler with Cache Memories , 2003, RTCSA.

[5]  Zhiyong Xu,et al.  An analysis of cache performance of multimedia applications , 2004, IEEE Transactions on Computers.

[6]  Björn Lisper,et al.  Data cache locking for higher program predictability , 2003, SIGMETRICS '03.

[7]  Isabelle Puaut Cache analysis vs static cache locking for schedulability analysis in multitasking real-time systems , 2002 .

[8]  A. Marti Campoy,et al.  DYNAMIC USE OF LOCKING CACHES IN MULTITASK, PREEMPTIVE REAL-TIME SYSTEMS , 2002 .

[9]  Miriam Leeser,et al.  Optimizing the data cache performance of a software MPEG-2 video decoder , 1997, MULTIMEDIA '97.

[10]  Björn Lisper,et al.  Data caches in multitasking hard real-time systems , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[11]  Chul-Eui Hong,et al.  Hardware support: a cache lock mechanism without retry , 2005, Sixth International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and First ACIS International Workshop on Self-Assembling Wireless Network.

[12]  Filip Sebek Determining the Worst-Case Instruction Cache Miss-Ratio , 2002 .

[13]  M. Campoy,et al.  Static Use of Locking Caches in Multitask Preemptive Real-Time Systems , 2001 .