TY - GEN
T1 - Lazy spilling for a time-predictable stack cache
T2 - 14th International Workshop on Worst-Case Execution Time Analysis, WCET 2014
AU - Abbaspour, Sahar
AU - Jordan, Alexander
AU - Brandner, Florian
PY - 2014/1/1
Y1 - 2014/1/1
N2 - The growing complexity of modern computer architectures increasingly complicates the prediction of the run-time behavior of software. For real-time systems, where a safe estimation of the program's worst-case execution time is needed, time-predictable computer architectures promise to resolve this problem. A stack cache, for instance, allows the compiler to efficiently cache a program's stack, while static analysis of its behavior remains easy. Likewise, its implementation requires little hardware overhead. This work introduces an optimization of the standard stack cache to avoid redundant spilling of the cache content to main memory, if the content was not modified in the meantime. At first sight, this appears to be an average-case optimization. Indeed, measurements show that the number of cache blocks spilled is reduced to about 17% and 30% in the mean, depending on the stack cache size. Furthermore, we show that lazy spilling can be analyzed with little extra effort, which benefits the worst-case spilling behavior that is relevant for a real-time system.
AB - The growing complexity of modern computer architectures increasingly complicates the prediction of the run-time behavior of software. For real-time systems, where a safe estimation of the program's worst-case execution time is needed, time-predictable computer architectures promise to resolve this problem. A stack cache, for instance, allows the compiler to efficiently cache a program's stack, while static analysis of its behavior remains easy. Likewise, its implementation requires little hardware overhead. This work introduces an optimization of the standard stack cache to avoid redundant spilling of the cache content to main memory, if the content was not modified in the meantime. At first sight, this appears to be an average-case optimization. Indeed, measurements show that the number of cache blocks spilled is reduced to about 17% and 30% in the mean, depending on the stack cache size. Furthermore, we show that lazy spilling can be analyzed with little extra effort, which benefits the worst-case spilling behavior that is relevant for a real-time system.
KW - Lazy spilling
KW - Program analysis
KW - Real-time systems
KW - Stack cache
U2 - 10.4230/OASIcs.WCET.2014.83
DO - 10.4230/OASIcs.WCET.2014.83
M3 - Conference contribution
AN - SCOPUS:84905750284
SN - 9783939897699
T3 - OpenAccess Series in Informatics
SP - 83
EP - 92
BT - 14th International Workshop on Worst-Case Execution Time Analysis, WCET 2014
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Y2 - 18 July 2014 through 18 July 2014
ER -