ABSTRACT
Multitasked real-time systems often employ caches to boost performance. However the unpredictable dynamic behavior of caches makes schedulability analysis of such systems difficult. In particular, the effect of caches needs to be considered for estimating the inter-task interference. As the memory blocks of different tasks can map to the same cache blocks, preemption of a task may introduce additional cache misses. The time penalty introduced by these misses is called the Cache-Related Preemption Delay (CRPD).In this paper, we provide a program path analysis technique to estimate CRPD. Our technique performs path analysis of both the preempted and the preempting tasks. Furthermore, we improve the accuracy of the analysis by estimating the possible states of the entire cache at each possible preemption point rather than estimating the states of each cache block independently. To avoid incurring high space requirements, the cache states can be maintained symbolically as a Binary Decision Diagram. Experimental results indicate that we obtain tight CRPD estimates for realistic benchmarks.
- R.E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, C-35(8), 1986. Google ScholarDigital Library
- D. Burger, T. Austin, and S. Bennett. Evaluating Future Microprocessors: The SimpleScalar Toolset. Technical Report CS-TR96-1308, Univ. of Wisconsin - Madison, 1996.Google Scholar
- CUDD. Colorado University Decision Diagram Package Version 2.3.1, 2001. Free software, http://vlsi.colorado.edu/~fabio/CUDD/.Google Scholar
- H. Dwyer and J. Fernando. Establishing a tight bound on task interference in embedded system instruction caches. In International Conference on Compilers, Architecture and Synthesis of Embedded Systems (CASES), 2001. Google ScholarDigital Library
- C. Ferdinand, F. Martin, and R. Wilhelm. Applying compiler techniques to cache behavior prediction. In ACM Intl. Workshop on Languages, Compilers and Tools for Real-Time Sys. (LCTRTS), 1997.Google Scholar
- D.B. Kirk. SMART (strategic memory allocation for real-time) cache design. In IEEE Real-Time Systems Symposium (RTSS), 1990.Google Scholar
- C-G. Lee et al. Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. IEEE Transactions on Computers, 47(6), 1998. Google ScholarDigital Library
- C-G. Lee et al. Bounding cache-related preemption delay for real-time systems. IEEE Transactions on Software Engineering, 27(9), 2001. Google ScholarDigital Library
- X. Li, T. Mitra, and A. Roychoudhury. Accurate timing analysis by modeling caches, speculation and their interaction. In ACM Design Automation Conf. (DAC), 2003. Google ScholarDigital Library
- Y. Li and W. Wolf. Hardware/Software Co-Synthesis with Memory Hierarchies. IEEE Transaction on Computer-aided Design of Integrated Circuit and Systems, 1999. Google ScholarDigital Library
- Y-T. S. Li, S. Malik, and A. Wolfe. Performance estimation of embedded software with instruction cache modeling. ACM Transactions on Design Automation of Electronic Systems, 4(3), 1999. Google ScholarDigital Library
- Seoul National~University Real-Time Research~Groups. SNU real-time benchmarks. http://archi.snu.ac.kr/realtime/benchmark/.Google Scholar
- H. Tomiyama and N. Dutt. Program path analysis to bound cache-related preemption delay in preemptive real-time systems. In ACM International Symposium on Hardware Software Codesign (CODES), 2000. Google ScholarDigital Library
- F. Wolf, J. Staschulat, and R. Ernst. Associative caches in formal software timing analysis. In ACM Design Automation Conf. (DAC), 2002. Google ScholarDigital Library
Index Terms
- Accurate estimation of cache-related preemption delay
Recommendations
Cache-related preemption delay analysis for FIFO caches
LCTES '14Hard real-time systems are typically composed of multiple tasks, subjected to timing constraints. To guarantee that these constraints will be respected, the Worst-Case Response Time (WCRT) of each task is needed. In the presence of systems supporting ...
Cache-related preemption delay via useful cache blocks: Survey and redefinition
Tasks in an embedded system are scheduled either preemptively or non-preemptively. In case of preemptive scheduling, interferences on the cache of the preempted and preempting task may extend the execution times. The corresponding delay is referred to ...
Cache-related preemption delay analysis for FIFO caches
LCTES '14: Proceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systemsHard real-time systems are typically composed of multiple tasks, subjected to timing constraints. To guarantee that these constraints will be respected, the Worst-Case Response Time (WCRT) of each task is needed. In the presence of systems supporting ...
Comments