Predictable Binary Code Cache: A First Step Towards Reconciling Predictability and Just-In-Time Compilation

被引:1
作者
Bouakaz, Adnan [1 ]
Puaut, Isabelle [1 ]
Rohou, Erven [2 ]
机构
[1] Univ Rennes 1, IRISA, Rennes, France
[2] INRIA Rennes, Bretagne Atlantique, Rennes, France
来源
17TH IEEE REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM (RTAS 2011) | 2011年
关键词
Virtualization; Just-in-time (JIT) compilation; Worst Case Execution Time (WCET) estimation; static analysis; binary code cache;
D O I
10.1109/RTAS.2011.29
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Virtualization and just-in-time (JIT) compilation have become important paradigms in computer science to address application portability issues without deteriorating average-case performance. Unfortunately, JIT compilation raises predictability issues, which currently hinder its dissemination in real-time applications. Our work aims at reconciling the two domains, i.e. taking advantage of the portability and performance provided by JIT compilation, while providing predictability guarantees. As a first step towards this ambitious goal, we study two structures of code caches and demonstrate their predictability. On the one hand, the studied binary code caches avoid too frequent function recompilations, providing good average-case performance. On the other hand, and more importantly for the system determinism, we show that the behavior of the code cache is predictable: a safe upper bound of the number of function recompilations can be computed, enabling the verification of timing constraints. Experimental results show that fixing function addresses in the binary cache ahead of time results in tighter Worst Case Execution Times (WCETs) than organizing the binary code cache in fixed-size blocks replaced using a Least Recently Used (LRU) policy.
引用
收藏
页码:223 / 232
页数:10
相关论文
共 26 条
[11]  
Garatti M, 2003, LECT NOTES COMPUT SC, V2826, P388
[12]   WCET analysis of multi-level non-inclusive set-associative instruction caches [J].
Hardy, Damien ;
Puaut, Isabelle .
RTSS: 2008 REAL-TIME SYSTEMS SYMPOSIUM, PROCEEDINGS, 2008, :456-466
[13]   A modular worst-case execution time analysis tool for Java']Java processors [J].
Harmon, Trevor ;
Schoeberl, Martin ;
Kirner, Raimund ;
Klefstad, Raymond .
PROCEEDINGS OF THE 14TH IEEE REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM, 2008, :47-+
[14]   The influence of processor architecture on the design and the results of WCET tools [J].
Heckmann, R ;
Langenbach, M ;
Thesing, S ;
Wilhelm, R .
PROCEEDINGS OF THE IEEE, 2003, 91 (07) :1038-1054
[15]  
Holsti N., 2000, DATA SYSTEMS AEROSPA
[16]   Modeling the function cache for worst-case execution time analysis [J].
Kirner, Raimund ;
Schoeberl, Martin .
2007 44TH ACM/IEEE DESIGN AUTOMATION CONFERENCE, VOLS 1 AND 2, 2007, :471-+
[17]   MediaBench: A tool for evaluating and synthesizing multimedia and communications systems [J].
Lee, CH ;
Potkonjak, M ;
Mangione-Smith, WH .
THIRTIETH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, PROCEEDINGS, 1997, :330-335
[18]   WCET-driven cache-based procedure positioning optimizations [J].
Lokuciejewski, Paul ;
Falk, Heiko ;
Marwedel, Peter .
ECRTS 2008: PROCEEDINGS OF THE 20TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS, 2008, :321-330
[19]   Timing analysis for instruction caches [J].
Mueller, F .
REAL-TIME SYSTEMS, 2000, 18 (2-3) :217-247
[20]  
Pitter C., 2010, TECS, V10