Abstract
Modern embedded processors provide hardware support for cache locking, a mechanism used to facilitate the WCET (Worst-Case Execution Time) calculation of a task. We investigate the problem of integrating task scheduling and cache locking for a set of preemptible tasks with individual release times and deadlines on a multi-core processor with two-level caches. We propose a novel integrated approach that schedules the task set and allocates the locked cache contents of each task to the local caches (L1 caches) and the level-two cache (L2 cache). Our approach consists of three major components, the task scheduler, the L1 cache allocator, and the L2 cache allocator. The task scheduler aims at minimizing the number of task preemptions. The L1 cache allocator converts the interference graph of all the tasks scheduled on each core into a DAG by considering the preemptions between tasks and allocates the L1 cache space to each task. The L2 cache allocator converts the interference graph of all the tasks into a DAG by using a k-longest-path-based graph orientation algorithm and allocates the L2 cache space to each task. Both cache allocators significantly improve the cache utilization for all the caches due to the efficient use of the interference graphs of tasks. We have implemented our approach and compared it with the extended version of the preemption tree-based approach and the static analysis approach without cache locking by using a set of benchmarks from the MRTC WCET benchmark suite and SNU real-time benchmarks. Compared to the extended version of the preemption tree-based approach, the maximum WCRT (Worst Case Response Time) improvement of our approach is 15%. Compared to the static analysis approach, the maximum WCRT improvement of our approach is 37%.
- Snu real-time benchmarks. http://archi.snu.ac.kr/realtime/ benchmark/.Google Scholar
- 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
- H. Ding, Y. Liang, and T. Mitra. Shared cache aware task mapping for wcrt minimization. In Design Automation Conference (ASP-DAC), 2013 18th Asia and South Pacific, pages 735–740. IEEE, 2013.Google Scholar
- H. Ding, Y. Liang, and T. Mitra. Wcet-centric dynamic instruction cache locking. In Proceedings of the conference on Design, Automation & Test in Europe, pages 1–6. IEEE, 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 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. In the 10th International Workshop on Worst-Case Execution Time Analysis (WCET’10), pages 136–146, 2010.Google Scholar
- J. C. Kleinsorge, H. Falk, and P. Marwedel. A synergetic approach to accurate analysis of cache-related preemption delay. In Proceedings of the ninth international conference on Embedded software, pages 329–338. ACM, 2011. Google Scholar
Digital Library
- X. Li, Y. Liang, T. Mitra, and A. Roychoudhury. Chronos: A timing analyzer for embedded software. Science of Computer Programming, pages 56–67, 2007. Google Scholar
Digital Library
- Y. Liang, H. Ding, T. Mitra, A. Roychoudhury, Y. Li, and V. Suhendra. Timing analysis of concurrent programs running on shared cache multi-cores. Real-Time Systems, 48(6):638–680, 2012. 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 multitask real-time embedded systems. Real-Time Systems, 48(2):166–197, 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 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
- H. Salamy and J. Ramanujam. A framework for task scheduling and memory partitioning for multi-processor system-on-chip. In High Performance Embedded Architectures and Compilers, pages 263–277. Springer, 2009. Google Scholar
Digital Library
- V. Suhendra and T. Mitra. Exploring locking & partitioning for predictable shared caches on multi-cores. In Proceedings of the 45th annual Design Automation Conference, pages 300–303. ACM, 2008. Google Scholar
Digital Library
- V. Suhendra, C. Raghavan, and T. Mitra. Integrated scratchpad memory optimization and task scheduling for mpsoc architectures. In Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems, pages 401–410. ACM, 2006. 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
- Q. Wan, H. Wu, and J. Xue. Scratchpad memory aware task scheduling with minimum number of preemptions on a single processor. In Design Automation Conference (ASP-DAC), 2013 18th Asia and South Pacific, pages 741–748, Jan 2013..Google Scholar
- W. Zheng and H. Wu. Wcet aware dynamic instruction cache locking. In Proceedings of the conference on Languages, compilers and tools for embedded systems, pages 53–62. ACM, 2014. Google Scholar
Digital Library
- W. Zheng and H. Wu. Wcet-aware dynamic d-cache locking for a single task. In Proceedings of the 16th Languages, Compilers and Tools for Embedded Systems, pages 8:1–8:10. ACM, 2015. Google Scholar
Digital Library
Index Terms
Integrating task scheduling and cache locking for multicore real-time embedded systems
Recommendations
Integrating task scheduling and cache locking for multicore real-time embedded systems
LCTES 2017: Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded SystemsModern embedded processors provide hardware support for cache locking, a mechanism used to facilitate the WCET (Worst-Case Execution Time) calculation of a task. We investigate the problem of integrating task scheduling and cache locking for a set of ...
Phase-based Cache Locking for Embedded Systems
GLSVLSI '15: Proceedings of the 25th edition on Great Lakes Symposium on VLSISince caches are commonly used in embedded systems, which typically have stringent design constraints imposed by physical size, battery capacity, real-time deadlines, etc., much research focuses on cache optimizations, such as improved performance and/...
Integrated instruction cache analysis and locking in multitasking real-time systems
DAC '13: Proceedings of the 50th Annual Design Automation ConferenceCache locking improves timing predictability at the cost of performance. We explore a novel approach that opportunistically employs both cache analysis and locking to enhance schedulability in preemptive multi-tasking real-time systems. The cache is ...






Comments