Abstract
Caches are needed to increase the processor performance, but the temporal behavior is difficult to predict, especially in embedded systems with preemptive scheduling. Current approaches use simplified assumptions or propose complex analysis algorithms to bound the cache-related preemption delay. In this paper, a scalable preemption delay analysis for associative instruction caches to control the analysis precision and the time-complexity is proposed. An accurate preemption delay calculation is integrated into a cache-aware schedulability analysis. The framework is evaluated in several experiments.
- Aho, A. V., Sethi, R., and Ullman, J. 1988. Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading, MA. Google Scholar
Digital Library
- Audsley, N. C., Burns, A., Richardson, M. F., and Wellings, A. J. 1991. Hard real-time scheduling: The deadline monotonic approach. In Proceedings 8th IEEE Workshop on Real-Time Operating Systems and Software. IEEE, Los Alamitos, CA.Google Scholar
- Basumallick, S. and Nilsen, K. 1994. Cache issues in real-time systems. In Workshop on Language, Compiler and Tool Support for Real-Time Systems. ACM SIGPLAN, Orlando, FL.Google Scholar
- Busquets, J. V., Serrano, J. J., and Wellings, A. 1997. Hybrid instruction cache partitioning for preemptive real-time systems. In Euromicro Workshop on Real-Time Systems. IEEE Los Alamitos, CA.Google Scholar
- Busquets-Mataix, J. V. and Wellings, A. 1996. Adding instruction cache effect to schedulability analysis of preemptive real-time systems. In Proceedings of the IEEE Real-Time Technology and Applications Symposium. IEEE, Los Alamitos, CA. 204--212. Google Scholar
Digital Library
- Busquets-Mataix, J. V., Gil, D., Gil, P., and Wellings, A. 2000. Techniques to increase the schedulable utilization of cache-based preemptive real-time systems. Journal of System Architecture 46, 357--378. Google Scholar
Digital Library
- Campoy, A., Puaut, I., Ivars, A., and Mataix-Busquets, J. 2005. Cache contents selection for statically-locked instruction caches: An algorithm comparison. In Euromicro Conference on Real-Time Systems. Palma de Mallorca, Spain. Google Scholar
Digital Library
- Campoy, M., Ivars, A. P., and Busquets-Mataix, J. V. 2001. Static use of locking caches in multitask preemptive real-time systems. In IEEE Real-Time Embedded System Workshop.Google Scholar
- Cormen, T. H., Leiserson, C. E., and Rivest, R. L. 1997. Introduction to Algorithms. MIT Press, Cambridge, MA. Google Scholar
Digital Library
- Corti, M., Brega, R., and Gross, T. 2000. Approximation of worst-case execution time for preemptive multitasking systems. In ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems. Vancouver, Canada. Google Scholar
Digital Library
- Datta, A., Choudhury, S., Basu, A., Tomiyama, H., and Dutt, N. 2001. Satisfying timing constraints of preemptive real-time tasks through task layout technique. In IEEE VLSI Design. 97--102. Google Scholar
Digital Library
- Infineon. 2004. Tricore manual http://www.infineon.com.Google Scholar
- Joseph, M. and Pandya, P. 1986. Finding response times in a real-time system. The Computer Journal (British Computer Society) 29, 390--395.Google Scholar
Cross Ref
- Kirk, D. B. 1989. SMART(strategic memory allocation for real-tim) cache design. In Real-Time Systems Symposium. IEEE Computer Society Press, Los Alamitos, CA. 229--239.Google Scholar
- Lee, C.-G., Hahn, J., and et al., Y.-M. S. 1998. Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. IEEE Transactions on Computers 47, 6 (June), 700--713. Google Scholar
Digital Library
- Lee, C.-G., Lee, K., and et al., J. H. 2001. Bounding cache-related preemption delay for real-time systems. IEEE Transactions on Software Engineering 27, 9 (Nov.), 805--826. Google Scholar
Digital Library
- Lehoczky, J., Sha, L., and Ding, Y. 1989. The rate monotonic scheduling algorithm: Exact characterization and average case behavior. In Proc. 10th Real-Time Systems Symposium. IEEE, Los Alamitos, CA. 166--171.Google Scholar
- Liedtke, J., Härtig, H., and Hohmuth, M. 1997. Os-controlled cache predictability for real-time systems. In IEEE Real-Time and Embedded Technology and Applications Symposium. Montreal, Canada. Google Scholar
Digital Library
- Liu, C. L. and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal ACM 20, 1 (Jan.), 46--61. Google Scholar
Digital Library
- Mitra, T., Negi, H. S., and Roychoudhury, A. 2003. Accurate estimation of cache-related preemption delay. In ACM/IEEE International Symposium on Hardware/Software Codesign and System Synthethis (CODES+ISSS). Newport Beach, CA. Google Scholar
Digital Library
- Mogul, J. C. and Borg, A. 1991. The effect of context switches on cache performance. In Conference on Architectural Support for Programming Languages and Operating Systems. Santa Clara, CA. ACM, New York. 75--84. Google Scholar
Digital Library
- Mueller, F. 1995. Compiler support for softwarebased cache partitioning. In ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Real-Time Systems. La Jolla, CA. Google Scholar
Digital Library
- Mueller, F. 2000. Timing analysis for instruction caches. Real-Time Systems Journal 18, 2/3 (May), 209--239. Google Scholar
Digital Library
- Panda, P. R., Dutt, N. D., and Nicolau, A. 1999. Memory Issues in Embedded Systems-On-Chip: Optimizations and Exploration. Kluwer Academic Publ. Norwell, MA. Google Scholar
Digital Library
- Petters, S. M. and Färber, G. 2001. Scheduling analysis with respect to hardware related preemption delay. In Workshop on Real-Time Embedded Systems (Satellite Workshop of IEEE Real-Time Systems Symposium). London, UK.Google Scholar
- Puaut, I. and Decotigny, D. 2002. Low-complexity algorihtms for static cache locking in multitasking hard real-time systems. In IEEE Real-Time Systems Symposium. Google Scholar
Digital Library
- Ramaprasad, H. and Mueller, F. 2005. Bounding worst-case data cache behavior by analytically deriving cache reference patterns. In IEEE Real-Time and Embedded Technology and Applications Symposium. 148--157. Google Scholar
Digital Library
- Ramaprasad, H. and Mueller, F. 2006. Bounding preemption delay within data cache reference patterns for real-time tasks. In Real-Time and Embedded Technology and Applications Symposium. Google Scholar
Digital Library
- Schneider, J. 2000. Cache and pipeline sensitive fixed priority scheduling for preemptive real-time systems. In 21st IEEE Real-Time Systems Symposium. 195--204.Google Scholar
Digital Library
- Sebek, F. 2001. Measuring cache related pre-emption delay on a multiprocessor real-time system. In Real-Time Embedded Systems Workshop. London.Google Scholar
- Stappert, F. 2003. Wcet benchmarks. http://www.c-lab.de/home/de/people/people.php?id=Stappert_Friedhelm_00.Google Scholar
- Staschulat, J. and Ernst, R. 2004. Multiple process execution in cache related preemption delay analysis. In International Workshop on Embedded Software (EMSOFT). Pisa, Italy. ACM, New York. Google Scholar
Digital Library
- Staschulat, J. and Ernst, R. 2006. Worst case timing analysis of input dependent data cache behavior. In Euromicro Conference on Real-Time Systems. Dresden, Germany. Google Scholar
Digital Library
- Staschulat, J., Schliecker, S., and Ernst, R. 2005. Scheduling analysis of real-time systems with precise modeling of cache related preemption delay. In EUROMICRO Conference on Real-Time Systems. Palma de Mallorca, Spain. Google Scholar
Digital Library
- Tindell, K., Burns, A., and Wellings, A. 1994. An extendible approach for analysing fixed priority hard real-time systems. Journal of Real-Time Systems 6, 2 (Mar.), 133--152. Google Scholar
Digital Library
- Vera, X., Lisper, B., and Xue, J. 2003. Data caches in multitasking hard real-time systems. In IEEE Real-Time Systems Symposium. Google Scholar
Digital Library
Index Terms
Scalable precision cache analysis for real-time software
Recommendations
Scalable precision cache analysis for preemptive scheduling
Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systemsAccurate timing analysis is key to efficient embedded system synthesis and integration. Caches are needed to increase the processor performance but they are hard to use because of their complex behavior especially in preemptive scheduling. Current ...
Scalable precision cache analysis for preemptive scheduling
LCTES '05: Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systemsAccurate timing analysis is key to efficient embedded system synthesis and integration. Caches are needed to increase the processor performance but they are hard to use because of their complex behavior especially in preemptive scheduling. Current ...
An efficient cache design for scalable glueless shared-memory multiprocessors
CF '06: Proceedings of the 3rd conference on Computing frontiersTraditionally, cache coherence in large-scale shared-memory multiprocessors has been ensured by means of a distributed directory structure stored in main memory. In this way, the access to main memory to recover the sharing status of the block is ...






Comments