Abstract
Caches have been extensively used to bridge the increasing speed gap between processors and off-chip memory. However, caches make it much harder to compute the WCET (Worst-Case Execution Time) of a program. Cache locking is an effective technique for overcoming the unpredictability problem of caches. We investigate the WCET aware D-cache locking problem for a single task, and propose two dynamic cache locking approaches. The first approach formulates the problem as a global ILP (Integer Linear Programming) problem that simultaneously selects a near-optimal set of variables as the locked cache contents and allocates them to the D-cache. The second one iteratively constructs a subgraph of the CFG of the task where the lengths of all the paths are close to the longest path length, and uses an ILP formulation to select a near-optimal set of variables in the subgraph as the locked cache contents and allocate them to the D-cache. For both approaches, we propose a novel, efficient D-cache allocation algorithm. We have implemented both approaches and compared them with the longest path-based, dynamic cache locking approach proposed in [22] and the static WCET analysis approach without cache locking proposed in [14] by using a set of benchmarks from the Mälardalen WCET benchmark suite, SNU real-time benchmarks and the benchmarks used in [27]. Compared to the static WCET analysis approach, the average WCET improvements of the first approach range between 11.3% and 31.6%, and the average WCET improvements of the second approach range between 12.3% and 32.9%. Compared to the longest path-based, dynamic cache locking approach, the average WCET improvements of the first approach range between 4.7% and 14.3%, and the average WCET improvements of the second approach range between 5.3% and 15.0%.
- Matlab - the language of technical computing. http://www.mathworks.com/matlab/.Google Scholar
- Snu real-time benchmarks. http://www.cprover.org/satabs/examples/.Google Scholar
- K. Anand and R. Barua. Instruction cache locking inside a binary rewriter. In Proceedings of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems, pages 185--194. ACM, 2009. Google Scholar
Digital Library
- D. Burger and T. M. Austin. The simplescalar tool set, version 2.0. ACM SIGARCH Computer Architecture News, 25(3):13--25, 1997. Google Scholar
Digital Library
- J. V. Busquets-Mataix, J. J. Serrano-Martin, R. Ors-Carot, P. Gil, and A. Wellings. Adding instruction cache effect to an exact schedulability analysis of preemptive real-time systems. In Proceedings of the Eighth Euromicro Workshop on Real-Time Systems, pages 271--276. IEEE, 1996. Google Scholar
Digital Library
- A. M. Campoy, A. Ivars, and J. Busquets-Mataix. Using genetic algorithms in content selection for locking-caches. In Proceedings of the international symposium on applied informatics, pages 271--276, 2001.Google Scholar
- A. M. Campoy, A. P. Ivars, and J. Busquets-Mataix. Dynamic use of locking caches in multitask, preemptive real-time systems. In Proceedings of the 15th Triennial World Congress of the International Federation of Automatic Control, 2002.Google Scholar
Cross Ref
- A. M. Campoy, A. Perles, F. Rodriguez, and J. Busquets-Mataix. Static use of locking caches vs. dynamic use of locking caches for real-time systems. In Proceedings of Canadian Conference on Electrical and Computer Engineering, 2003., volume 2, pages 1283--1286. IEEE, 2003.Google Scholar
Cross Ref
- J. Deverge and I. Puaut. Wcet-directed dynamic scratchpad memory allocation of data. In Proceedings of the 19th Euromicro Conference on Real-Time Systems, pages 179--190, 2007. Google Scholar
Digital Library
- H. Ding, Y. Liang, and T. Mitra. Wcet-centric partial instruction cache locking. In Proceedings of the 49th Design Automation Conference (DAC), pages 412--420. IEEE, 2012. Google Scholar
Digital Library
- H. Ding, Y. Liang, and T. Mitra. Wcet-centric dynamic instruction cache locking. In Proceedings of the conference on Design, Automation & Test in Europe, page 27. European Design and Automation Association, 2014. Google Scholar
Digital Library
- H. Falk, S. Plazar, and H. Theiling. Compile-time decided instruction cache locking using worst-case execution paths. In Proceedings of the 5th IEEE/ACM international conference on Hardware/software codesign and system synthesis, pages 143--148. ACM, 2007. Google Scholar
Digital Library
- J. Gustafsson, A. Betts, A. Ermedahl, and B. Lisper. The Mälardalen WCET benchmarks -- past, present and future. pages 137--147, Brussels, Belgium, July 2010. OCG.Google Scholar
- B. K. Huynh, L. Ju, and A. Roychoudhury. Scope-aware data cache analysis for wcet estimation. In Proceedings of the 17th IEEEReal-Time and Embedded Technology and Applications Symposium (RTAS), pages 203--212. IEEE, 2011. Google Scholar
Digital Library
- L. Li, J. Xue, and J. Knoop. Scratchpad memory allocation for data aggregates via interval coloring in superperfect graphs. ACM Trans. Embed. Comput. Syst., 10(2):28:1--28:42, Jan. 2011. ISSN 1539-9087. Google Scholar
Digital Library
- X. Li, Y. Liang, T. Mitra, and A. Roychoudhury. Chronos: A timing analyzer for embedded software. Science of Computer Programming, 69(1-3):56--67, 2007. http://www.comp.nus.edu.sg/~rpembed/chronos. Google Scholar
Digital Library
- Y. Liang and T. Mitra. Instruction cache locking using temporal reuse profile. In Proceedings of the 47th Design Automation Conference, pages 344--349. ACM, 2010. Google Scholar
Digital Library
- T. Liu, M. Li, and C. J. Xue. Minimizing wcet for real-time embedded systems via static instruction cache locking. In Real-Time and Embedded Technology and Applications Symposium, 2009. RTAS 2009. 15th IEEE, pages 35--44. IEEE, 2009. Google Scholar
Digital Library
- T. Liu, Y. Zhao, M. Li, and C. J. Xue. Task assignment with cache partitioning and locking for wcet minimization on mpsoc. In Parallel Processing (ICPP), 2010 39th International Conference on, pages 573--582. IEEE, 2010. Google Scholar
Digital Library
- T. Liu, M. Li, and C. J. Xue. Instruction cache locking for embedded systems using probability profile. Journal of Signal Processing Systems, 69(2):173--188, 2012. Google Scholar
Digital Library
- S. Plazar, J. C. Kleinsorge, P. Marwedel, and H. Falk. Wcet-aware static locking of instruction caches. In Proceedings of the Tenth International Symposium on Code Generation and Optimization, pages 44--52. ACM, 2012. Google Scholar
Digital Library
- I. Puaut. Wcet-centric software-controlled instruction caches for hard real-time systems. In Proceedings of the 18th Euromicro Conference on Real-Time Systems, 2006, pages 10--pp. IEEE, 2006. Google Scholar
Digital Library
- I. Puaut and A. Arnaud. Dynamic instruction cache locking in hard real-time systems. In Proceedings of the 14th International Conference on Real-Time and Network Systems, 2006.Google Scholar
- I. Puaut and D. Decotigny. Low-complexity algorithms for static cache locking in multitasking hard real-time systems. In Proceedings of the 23rd IEEE Real-Time Systems Symposium, pages 114--123. IEEE, 2002. Google Scholar
Digital Library
- V. Suhendra, A. Roychoudhury, and T. Mitra. Scratchpad allocation for concurrent embedded software. ACM Trans. Program. Lang. Syst., 32(4), 2010. Google Scholar
Digital Library
- X. Vera, B. Lisper, and J. Xue. Data cache locking for higher program predictability. In ACM SIGMETRICS Performance Evaluation Review, volume 31, pages 272--282. ACM, 2003. Google Scholar
Digital Library
- X. Vera, B. Lisper, and J. Xue. Data cache locking for tight timing calculations. ACM Transactions on Embedded Computing Systems (TECS), 7(1):4, 2007. Google Scholar
Digital Library
- Q. Wan, H. Wu, and J. Xue. Wcet-aware data selection and allocation for scratchpad memory. In ACM SIGPLAN Notices, volume 47, pages 41--50. ACM, 2012. Google Scholar
Digital Library
- X. Yang, L. Wang, J. Xue, and Q. Wu. Comparability graph coloring for optimizing utilization of software-managed stream register files for stream processors. ACM Trans. Archit. Code Optim., 9(1):5:1--5:30, Mar. 2012. ISSN 1544-3566. Google Scholar
Digital Library
- W. Zheng and H. Wu. Wcet aware dynamic instruction cache locking. In Proceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems, pages 53--62. ACM, 2014. Google Scholar
Digital Library
Index Terms
WCET-Aware Dynamic D-cache Locking for A Single Task
Recommendations
WCET-Aware Dynamic D-cache Locking for A Single Task
LCTES'15: Proceedings of the 16th ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems 2015 CD-ROMCaches have been extensively used to bridge the increasing speed gap between processors and off-chip memory. However, caches make it much harder to compute the WCET (Worst-Case Execution Time) of a program. Cache locking is an effective technique for ...
Dynamic Data-Cache Locking for Minimizing the WCET of a Single Task
Special Issue on LCETES 2015, Special Issue on ACSD 2015 and Special Issue on Embedded Devise Forensics and SecurityCaches have been widely used in modern embedded processors to bridge the increasing speed gap between processors and off-chip memory. In real-time embedded systems, computing the Worst-Case Execution Time (WCET) of a task is essential for the task ...
WCET: aware dynamic instruction cache locking
LCTES '14Caches are widely used in embedded systems to bridge the increasing speed gap between processors and off-chip memory. However, caches make it significantly harder to compute the WCET(Worst Case Execution Time) of a task. To alleviate this problem, cache ...







Comments