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 条
[1]  
[Anonymous], 2007, THESIS TU BERLIN
[2]  
[Anonymous], TACO
[3]  
*ARM, ARM JAZ TECHN
[4]  
Auerbach Joshua., 2007, Proceedings of the 7th ACM IEEE Int'l Conf. on Embedded software, P249, DOI DOI 10.1145/1289927.1289967
[5]   Low-level analysis of a portable Java']Java byte code WCET analysis framework [J].
Bate, I ;
Bernat, G ;
Murphy, G ;
Puschner, P .
SEVENTH INTERNATIONAL CONFERENCE ON REAL-TIME COMPUTING SYSTEMS AND APPLICATIONS, PROCEEDINGS, 2000, :39-46
[6]   Portable worst-case execution time analysis using Java']Java Byte Code [J].
Bernat, G ;
Burns, A ;
Wellings, A .
EUROMICRO RTS 2000: 12TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS, PROCEEDINGS, 2000, :81-88
[7]  
Bertin C., 2010, DAC
[8]  
Cohen A., 2010, DAC
[9]  
Cousot Patrick, 1977, POPL, DOI DOI 10.1145/512950.512973
[10]  
Duranton M., 2010, HIPEAC VISION NETWOR