Abstract
Many Virtual Execution Environments (VEEs) rely on Justin-time (JIT) compilation technology for code generation at runtime, e.g. in Dynamic Binary Translation (DBT) systems or language Virtual Machines (VMs). While JIT compilation improves native execution performance as opposed to e.g. interpretive execution, the JIT compilation process itself introduces latency. In fact, for highly optimizing JIT compilers or compilers not specifically designed for JIT compilation, e.g. LLVM, this latency can cause a substantial overhead. While existing work has introduced asynchronously decoupled JIT compilation task farms to hide this JIT compilation latency, we show that this on its own is not sufficient to mitigate the impact of JIT compilation latency on overall performance. In this paper, we introduce a novel JIT compilation scheduling policy, which performs continuous low-cost profiling of code regions already dispatched for JIT compilation, right up to the point where compilation commences. We have integrated our novel JIT compilation scheduling approach into a commercial LLVM-based DBT system and demonstrate speedups of 1.32× on average, and up to 2.31×, over its state-of-the-art concurrent task-farm based JIT compilation scheme across the SPEC CPU2006 and BioPerf benchmark suites.
Original language | English |
---|---|
Title of host publication | Proceedings of the 15th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments |
Publisher | ACM |
Pages | 101–107 |
Number of pages | 7 |
ISBN (Print) | 9781450360203 |
DOIs | |
Publication status | Published - 14 Apr 2019 |
Event | 15th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments - Providence, Rhode Island, United States Duration: 14 Apr 2019 → 14 Apr 2019 Conference number: 15 https://conf.researchr.org/home/vee-2019 |
Conference
Conference | 15th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments |
---|---|
Abbreviated title | VEE’19 |
Country/Territory | United States |
Period | 14/04/19 → 14/04/19 |
Internet address |
Keywords
- Simulation and emulation
- Simulator / interpreter
- Just-in-time compliers
- JIT compilation
- Performance
- Compilation latency
- Scheduling