• DocumentCode
    3134408
  • Title

    Predictable Binary Code Cache: A First Step towards Reconciling Predictability and Just-in-Time Compilation

  • Author

    Bouakaz, Adnan ; Puaut, Isabelle ; Rohou, Erven

  • Author_Institution
    IRISA, Univ. of Rennes 1, Rennes, France
  • fYear
    2011
  • fDate
    11-14 April 2011
  • Firstpage
    223
  • Lastpage
    232
  • Abstract
    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.
  • Keywords
    binary codes; program compilers; software portability; virtualisation; application portability; computer science; fixing function; just-in-time compilation; least recently used policy; predictable binary code cache; timing constraint verification; virtualization; worst case execution times; Binary codes; Estimation; Hardware; Layout; Real time systems; Timing; Upper bound; Just-in-time (JIT) compilation; Virtualization; Worst Case Execution Time (WCET) estimation; binary code cache; static analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Real-Time and Embedded Technology and Applications Symposium (RTAS), 2011 17th IEEE
  • Conference_Location
    Chicago, IL
  • ISSN
    1080-1812
  • Print_ISBN
    978-1-61284-326-1
  • Type

    conf

  • DOI
    10.1109/RTAS.2011.29
  • Filename
    5767154