两相动态二进制翻译器循环优化的连续行程数分析

Youfeng Wu, M. Breternitz, Tevi Devor
{"title":"两相动态二进制翻译器循环优化的连续行程数分析","authors":"Youfeng Wu, M. Breternitz, Tevi Devor","doi":"10.1109/INTERA.2004.1299505","DOIUrl":null,"url":null,"abstract":"Most dynamic binary translators use a two-phase approach to identify and optimize frequently executed code dynamically. In the profiling phase, blocks of code are interpreted or translated without optimization to collect execution frequency information for the blocks. In the optimization phase, frequently executed blocks are grouped into regions and advanced optimizations are applied on them. This approach implicitly assumes that the initial execution of each block is representative of the block throughout its lifetime. In particular, loop optimizations may use the block frequency information to determine loop trip counts to guide their optimizations. If the trip count information is incorrect, however, a loop may be improperly optimized, and program performance suffers. In this paper we show that the initial profile is inadequate at predicting loop trip count information for several integer programs. We propose and evaluate efficient algorithms to continuously profile for trip count. Our results show that accurate trip count information may be obtained with very low overhead (about 0.5%). This enables advanced loop optimizations in dynamic binary translators.","PeriodicalId":262940,"journal":{"name":"Eighth Workshop on Interaction between Compilers and Computer Architectures, 2004. INTERACT-8 2004.","volume":"11 4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-03-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":"{\"title\":\"Continuous trip count profiling for loop optimization in two-phase dynamic binary translators\",\"authors\":\"Youfeng Wu, M. Breternitz, Tevi Devor\",\"doi\":\"10.1109/INTERA.2004.1299505\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Most dynamic binary translators use a two-phase approach to identify and optimize frequently executed code dynamically. In the profiling phase, blocks of code are interpreted or translated without optimization to collect execution frequency information for the blocks. In the optimization phase, frequently executed blocks are grouped into regions and advanced optimizations are applied on them. This approach implicitly assumes that the initial execution of each block is representative of the block throughout its lifetime. In particular, loop optimizations may use the block frequency information to determine loop trip counts to guide their optimizations. If the trip count information is incorrect, however, a loop may be improperly optimized, and program performance suffers. In this paper we show that the initial profile is inadequate at predicting loop trip count information for several integer programs. We propose and evaluate efficient algorithms to continuously profile for trip count. Our results show that accurate trip count information may be obtained with very low overhead (about 0.5%). This enables advanced loop optimizations in dynamic binary translators.\",\"PeriodicalId\":262940,\"journal\":{\"name\":\"Eighth Workshop on Interaction between Compilers and Computer Architectures, 2004. INTERACT-8 2004.\",\"volume\":\"11 4 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2004-03-31\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"7\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Eighth Workshop on Interaction between Compilers and Computer Architectures, 2004. INTERACT-8 2004.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/INTERA.2004.1299505\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Eighth Workshop on Interaction between Compilers and Computer Architectures, 2004. INTERACT-8 2004.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/INTERA.2004.1299505","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7

摘要

大多数动态二进制翻译器使用两阶段方法来动态识别和优化频繁执行的代码。在分析阶段,代码块在没有优化的情况下被解释或翻译,以收集代码块的执行频率信息。在优化阶段,将频繁执行的块分组到区域中,并对其应用高级优化。这种方法隐含地假设每个块的初始执行在其整个生命周期中都代表该块。特别是,环路优化可以使用块频率信息来确定环路行程计数以指导其优化。但是,如果行程计数信息不正确,则循环可能会被不正确地优化,并且程序性能会受到影响。在本文中,我们证明了初始轮廓在预测几个整数规划的环路次数信息方面是不够的。我们提出并评估了有效的算法来连续配置行程数。我们的研究结果表明,准确的行程计数信息可以在非常低的开销(约0.5%)下获得。这可以在动态二进制翻译器中实现高级循环优化。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Continuous trip count profiling for loop optimization in two-phase dynamic binary translators
Most dynamic binary translators use a two-phase approach to identify and optimize frequently executed code dynamically. In the profiling phase, blocks of code are interpreted or translated without optimization to collect execution frequency information for the blocks. In the optimization phase, frequently executed blocks are grouped into regions and advanced optimizations are applied on them. This approach implicitly assumes that the initial execution of each block is representative of the block throughout its lifetime. In particular, loop optimizations may use the block frequency information to determine loop trip counts to guide their optimizations. If the trip count information is incorrect, however, a loop may be improperly optimized, and program performance suffers. In this paper we show that the initial profile is inadequate at predicting loop trip count information for several integer programs. We propose and evaluate efficient algorithms to continuously profile for trip count. Our results show that accurate trip count information may be obtained with very low overhead (about 0.5%). This enables advanced loop optimizations in dynamic binary translators.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信