An Indirect Branch Prediction for Interpreters
-
摘要: 解释器广泛应用于Java虚拟机、JavaScript执行引擎等托管运行环境中.解释器通常使用间接转移指令实现字节码分派.在现代多发射多级流水的微处理器中,间接转移预测失效严重制约解释器的性能.针对解释器提出了一种字节码指针引导的间接转移预测技术,其核心思想是使用解释器特有的字节码指针值区分不同的间接转移场景.该技术使用软硬件协同的方式,解释器中插入专门的引导指令以标记字节码指针,预测器在运行时刻使用字节码指针值预测转移目标地址.实验结果表明,该技术与常用的转移目标缓冲预测器相比,能提升Java解释器的性能达34.7%,能提升JavaScript解释器的性能达8.3%,与专用的硬件间接转移预测器TTC(tagged target cache)相比,也能提升Java解释器的性能达21.9%.Abstract: Interpreters are widely used in Java virtual machines, JavaScript execution engines and other managed runtime environments. Interpreters usually use indirect branches to dispatch bytecodes. Indirect branch mispredictions are becoming a critical limit of interpreters’ performance in modern multi-issue multi-stage pipeline microprocessors. This paper proposes a bytecode pointer guided indirect (BGI) branch prediction for interpreters. The key idea is to use interpreter-specific bytecode pointer value to distinguish different indirect branch occurrences. It can improve the prediction accuracy of indirect branches in interpreters, so as to improve the performance of interpreters. Microprocessors usually use BTB to predict branch target addresses. BTB can’t accurately predict the rapidly changing branch target addresses of indirect branches in interpreters because it stores only one target address for one indirect branch. Our technique requires software-hardware cooperation, where interpreter software is augmented with specialized hint instructions to indicate bytecode pointers, and then the branch predictor makes use of the bytecode pointer value to store different target addresses of one indirect branch in different entries of BTB at runtime, so as to improve the prediction accuracy. Experimental results show that it improves the performance by 347% for Java interpreter and by 8.3% for JavaScript interpreter over the most commonly used BTB prediction, and it improves the performance by 21.9% for Java interpreter over the specialized indirect branch predictor TTC.
-
-
期刊类型引用(18)
1. 邵俊. 基于区块链的输电线路数据安全存储与防篡改模型. 电工技术. 2025(01): 73-78 . 百度学术
2. 任志鑫 ,闫恩华 ,陈韬伟 ,余益民 . 基于零知识证明的区块链密文数据共享与访问控制方案. 北京邮电大学学报. 2025(01): 87-91+113 . 百度学术
3. 王政,王经纬,殷新春. 支持用户撤销的可搜索电子健康记录共享方案. 计算机应用. 2024(02): 504-511 . 百度学术
4. 万文豪,王静宇,武彦君. 区块链中匿名属性验证可搜索加密方案. 计算机工程与设计. 2024(03): 691-698 . 百度学术
5. 唐菊香,李川平,何粒波. 云医疗体系中基于属性加密的数据共享方案. 计算机技术与发展. 2024(05): 205-212 . 百度学术
6. 张克君,王文彬,徐少飞,于新颖,王钧,李鹏程,钱榕. 面向云存储且支持重加密的多关键词属性基可搜索加密方案. 通信学报. 2024(09): 244-257 . 百度学术
7. 孟贤,刘吉成. 基于区块链技术的电力供应链资源安全共享. 计算机仿真. 2024(10): 69-73 . 百度学术
8. 谢晴晴,宋亮晴,冯霞. 面向医疗数据分享的轻量级且安全的搜索方案. 通信学报. 2024(11): 206-222 . 百度学术
9. 何全文,林庆新,林晖,汪晓丁,范新民. 基于跨链的医疗数据安全共享方案. 计算机系统应用. 2023(05): 97-104 . 百度学术
10. 冯涛,陈李秋,方君丽,石建明. 基于本地化差分隐私和属性基可搜索加密的区块链数据共享方案. 通信学报. 2023(05): 224-233 . 百度学术
11. 王经纬,吴静雯,殷新春. 抗共谋攻击的多授权电子健康记录共享方案. 电子学报. 2023(05): 1179-1186 . 百度学术
12. 胡荣磊,王乐胥,范晓红. 区块链上多类型用户属性基可搜索加密方案. 北京电子科技学院学报. 2023(03): 1-15 . 百度学术
13. 翟社平,白喜芳,童彤. 基于区块链的电子病历共享模型研究. 小型微型计算机系统. 2023(12): 2765-2772 . 百度学术
14. 霍颖瑜. 基于可搜索加密的区块链信息防篡改算法设计. 自动化与仪器仪表. 2022(01): 48-52 . 百度学术
15. 周艺华 ,扈新宇 ,李美奇 ,杨宇光 . 云环境下基于属性策略隐藏的可搜索加密方案. 网络与信息安全学报. 2022(02): 112-121 . 百度学术
16. 富瑶,李庆丹,张泽辉,高铁杠. 支持隐私保护和公平支付的数据完整性验证方案. 计算机研究与发展. 2022(06): 1343-1355 . 本站查看
17. 崔永杰,彭长根,丁红发,许德权. 一种支持多用户的公平密文检索方案. 计算机技术与发展. 2022(10): 100-107+113 . 百度学术
18. 杨青,于大为. 考虑用户隐私保护范围的物联网海量混合数据查询方法. 物联网技术. 2022(11): 69-73 . 百度学术
其他类型引用(40)
计量
- 文章访问数: 1264
- HTML全文浏览量: 0
- PDF下载量: 695
- 被引次数: 58