Compilation Scheduling Policy for JIT-Based Systems

semanticscholar(2018)

引用 0|浏览0
暂无评分
摘要
To enable fast platform virtualisation, parts of the target applications are compiled Just-In-Time (JIT) to enable fast native execution, as opposed to interpretation. As the compilation is performed while the application is being executed, it contributes to the end-to-end runtime. To offset the compilation cost, only frequently executed (i.e. hot) code regions are compiled. Further speedups can be achieved by decoupling the application execution from the compilation sub-system. A compilation queue facilitates the transfer of code regions selected for compilation between the two sub-systems. Although several researchers pointed out the importance of policy used for scheduling the code regions in the compilation queue for the actual compilation, little research of practical policies has been done. This project explores new compilation scheduling policies. The most significant innovation is the Dynamic Heat policy. The policy schedules code regions based on the value of execution frequency (i.e. heat). This heat is dynamically derived by profiling before and after the code regions are dispatched to the compilation queue. The novel policy results in the maximum speedup of 2.14X over the state-of-the-art policies. Average speedup reaches 1.24X. The Dynamic Heat policy is further improved by two more policy iterations. Although these two policies resulted in significant speedups for some benchmarks, only marginal improvement was achieved on average. The importance of compilation scheduling policy was also evaluated. Highest policyrelated performance sensitivity was observed for benchmarks that have high percentage of time spent in the interpretation mode. Furthermore, compilation scheduling policy was determined to be a more effective mechanism for achieving speedups that increasing compilation throughput by employing more compilation workers.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要