Improving the Precision of Abstract Interpretation Based Cache Persistence Analysis

When designing hard real-time embedded systems, it is required to estimate the worst-case execution time (WCET) of each task for schedulability analysis. Precise cache persistence analysis can significantly tighten the WCET estimation, especially when the program has many loops. Methods for persistence analysis should safely and precisely classify memory references as persistent. Existing safe approaches suffer from multiple sources of pessimism and may not provide precise results. In this paper, we first identify some sources of pessimism that two recent approaches based on younger set and may analysis may encounter. Then, we propose two methods to eliminate these sources of pessimism. The first method improves the update function of the may analysis-based approach; and the second method integrates the younger set-based and may analysis-based approaches together to further reduce pessimism. We also prove the two proposed methods are still safe. We evaluate the approaches on a set of benchmarks and observe the number of memory references classified as persistent is increased by the proposed methods. Moreover, we empirically compare the storage space and analysis time used by different methods.

[1]  WilhelmReinhard,et al.  Fast and Precise WCET Prediction by Separated Cache andPath Analyses , 2000 .

[2]  Wang Yi,et al.  Combining Abstract Interpretation with Model Checking for Timing Analysis of Multicore Software , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[3]  Reinhard Wilhelm,et al.  Cache Behavior Prediction by Abstract Interpretation , 1996, Sci. Comput. Program..

[4]  Abhik Roychoudhury,et al.  Precise micro-architectural modeling for WCET analysis via AI+SAT , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[5]  Christian Ferdinand A fast and efficient cache persistence analysis , 2005 .

[6]  Jan Gustafsson,et al.  The Mälardalen WCET Benchmarks: Past, Present And Future , 2010, WCET.

[7]  Frank Müller,et al.  Timing Analysis for Instruction Caches , 2000, Real-Time Systems.

[8]  Y. N. Srikant,et al.  WCET estimation for executables in the presence of data caches , 2007, EMSOFT '07.

[9]  Christoph Cullmann Cache persistence analysis: Theory and practice , 2013, TECS.

[10]  Christoph Cullmann,et al.  Cache persistence analysis: a novel approachtheory and practice , 2011, LCTES '11.

[11]  Abhik Roychoudhury,et al.  Scope-Aware Data Cache Analysis for WCET Estimation , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[12]  Clément Ballabriga,et al.  Improving the First-Miss Computation in Set-Associative Instruction Caches , 2008, 2008 Euromicro Conference on Real-Time Systems.

[13]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[14]  Reinhard Wilhelm,et al.  Applying Compiler Techniques to Cache Behavior Prediction , 2007 .

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

[16]  Reinhard Wilhelm,et al.  Why AI + ILP Is Good for WCET, but MC Is Not, Nor ILP Alone , 2004, VMCAI.

[17]  Gerard J. M. Smit,et al.  A mathematical approach towards hardware design , 2010, Dynamically Reconfigurable Architectures.

[18]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.