A method to improve the estimated worst-case performance of data caching

The paper presents a method for tight prediction of worst case performance of data caches in high performance real time systems. Our approach is to distinguish between data structures that exhibit a predictable versus unpredictable cache behavior. Cache performance of accesses to predictable data structures can be automatically and accurately determined by our method, whereas we let accesses to unpredictable data structures bypass the cache to simplify and improve the analysis. Through experimentation with a number of benchmark programs, we show that a vast majority of data accesses stems from predictable data structures. We analyze the type of data structures that fall into this category. Remarkably, we find that all data structures in five out of the seven programs are predictable and will lead to a worst case cache performance which is as high as the real performance. Moreover, for the remaining two benchmarks, a majority of the accesses go to predictable data structures. Hence, empirically our data suggest that data caching is expected to improve worst case performance considerably using our method.

[1]  David B. Whalley,et al.  Integrating the timing analysis of pipelining and instruction caching , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[2]  Frank Mueller,et al.  Timing Predictions for Multi-Level Caches , 1997 .

[3]  Henrik Theiling,et al.  Combining abstract interpretation and ILP for microarchitecture modelling and program path analysis , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[4]  Reinhard Wilhelm,et al.  On Predicting Data Cache Behavior for Real-Time Systems , 1998, LCTES.

[5]  Kelvin D. Nilsen,et al.  Cache Issues in Real-Time Systems , 1994 .

[6]  Sharad Malik,et al.  Cache modeling for real-time software: beyond direct mapped instruction caches , 1996, 17th IEEE Real-Time Systems Symposium.

[7]  Sharad Malik,et al.  Efficient microarchitecture modeling and path analysis for real-time software , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[8]  David B. Whalley,et al.  Timing analysis for data caches and set-associative caches , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[9]  Sang Lyul Min,et al.  An accurate worst case timing analysis technique for RISC processors , 1994, 1994 Proceedings Real-Time Systems Symposium.

[10]  Sang Lyul Min,et al.  Efficient worst case timing analysis of data caching , 1996, Proceedings Real-Time Technology and Applications.

[11]  Greger Ottosson,et al.  Worst-case execution time analysis for modern hardware architectures , 1997 .