Optimizing indirect branch prediction accuracy in virtual machine interpreters

Author:

Casey Kevin1,Ertl M. Anton2,Gregg David1

Affiliation:

1. Trinity College Dublin, Dublin, Ireland

2. TU Wien

Abstract

Interpreters designed for efficiency execute a huge number of indirect branches and can spend more than half of the execution time in indirect branch mispredictions. Branch target buffers (BTBs) are the most widely available form of indirect branch prediction; however, their prediction accuracy for existing interpreters is only 2%--50%. In this article we investigate two methods for improving the prediction accuracy of BTBs for interpreters: replicating virtual machine (VM) instructions and combining sequences of VM instructions into superinstructions. We investigate static (interpreter build-time) and dynamic (interpreter runtime) variants of these techniques and compare them and several combinations of these techniques. To show their generality, we have implemented these optimizations in VMs for both Java and Forth. These techniques can eliminate nearly all of the dispatch branch mispredictions, and have other benefits, resulting in speedups by a factor of up to 4.55 over efficient threaded-code interpreters, and speedups by a factor of up to 1.34 over techniques relying on dynamic superinstructions alone.

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Reference35 articles.

1. Threaded code

2. Bell T. C. Cleary J. G. and Witten I. H. 1990. Text Compression. Prentice-Hall. Bell T. C. Cleary J. G. and Witten I. H. 1990. Text Compression. Prentice-Hall.

3. Context Threading: A Flexible and Efficient Dispatch Technique for Virtual Machine Interpreters

4. Calder B. and Grunwald D. 1994. Reducing branch costs via branch alignment. In Architectural Support for Programming Languages and Operating Systems (ASPLOS-VI). 242--251. 10.1145/195473.195553 Calder B. and Grunwald D. 1994. Reducing branch costs via branch alignment. In Architectural Support for Programming Languages and Operating Systems (ASPLOS-VI). 242--251. 10.1145/195473.195553

5. Casey K. Ertl A. and Gregg D. 2005. Optimizations for a Java interpreter using instruction set enhancement. Tech. rep. TCD-CS-2005-61 Department of Computer Science University of Dublin Trinity College Dublin Ireland. Casey K. Ertl A. and Gregg D. 2005. Optimizations for a Java interpreter using instruction set enhancement. Tech. rep. TCD-CS-2005-61 Department of Computer Science University of Dublin Trinity College Dublin Ireland.

Cited by 15 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Optimizing the Order of Bytecode Handlers in Interpreters using a Genetic Algorithm;Proceedings of the 38th ACM/SIGAPP Symposium on Applied Computing;2023-03-27

2. A fast in-place interpreter for WebAssembly;Proceedings of the ACM on Programming Languages;2022-10-31

3. Accidental Choices—How JVM Choice and Associated Build Tools Affect Interpreter Performance;Computers;2022-06-14

4. An efficient interpreter for Datalog by de-specializing relations;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18

5. A Methodology for Optimization of Interpreters;2018 Symposium on High Performance Computing Systems (WSCAD);2018-10

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3