Quantitative Analysis of Inter-block Dependence in Speculative Execution

Junrui Zhou, Hong An, Yanyan Zou, Tao Sun
{"title":"Quantitative Analysis of Inter-block Dependence in Speculative Execution","authors":"Junrui Zhou, Hong An, Yanyan Zou, Tao Sun","doi":"10.1109/TrustCom.2013.121","DOIUrl":null,"url":null,"abstract":"Given increasingly abundant resources on substrate, speculative execution has been proposed to seek opportunities for improving performance of sequential applications restricted by control dependence and data dependence. In spite of benefits obtained from speculative execution, performance and power suffer severely from pipeline flushes due to failure of aggressive branch speculation. Unfortunately, without knowing behavior of control dependence at runtime, a compiler is unable to split sequential application for speculative execution to achieve optimal performance. Therefore, control dependence which is source of performance loss should be identified and properly optimized. In this paper, we propose an efficient two level quantitative performance analysis, called QAD, to identify dependence needed to be optimized. The breakdown in performance analysis of QAD helps performance optimization get rid of heavy reliance on instruction scheduling that is a NP problem. Thus, compared to prior performance analysis based on critical path model, more room for optimizing sequential application can be identified by QAD. Experimental results are presented in the context of a TRIPS processor which supports speculative execution at the granularity of block. Analysis time of QAD gains a 2.6x speedup over traditional critical path analysis on average. With code optimizations guided by result of quantitative performance analysis, a geometric mean of 18.93% performance improvement is achieved.","PeriodicalId":206739,"journal":{"name":"2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications","volume":"10 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-07-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TrustCom.2013.121","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

Given increasingly abundant resources on substrate, speculative execution has been proposed to seek opportunities for improving performance of sequential applications restricted by control dependence and data dependence. In spite of benefits obtained from speculative execution, performance and power suffer severely from pipeline flushes due to failure of aggressive branch speculation. Unfortunately, without knowing behavior of control dependence at runtime, a compiler is unable to split sequential application for speculative execution to achieve optimal performance. Therefore, control dependence which is source of performance loss should be identified and properly optimized. In this paper, we propose an efficient two level quantitative performance analysis, called QAD, to identify dependence needed to be optimized. The breakdown in performance analysis of QAD helps performance optimization get rid of heavy reliance on instruction scheduling that is a NP problem. Thus, compared to prior performance analysis based on critical path model, more room for optimizing sequential application can be identified by QAD. Experimental results are presented in the context of a TRIPS processor which supports speculative execution at the granularity of block. Analysis time of QAD gains a 2.6x speedup over traditional critical path analysis on average. With code optimizations guided by result of quantitative performance analysis, a geometric mean of 18.93% performance improvement is achieved.
投机执行中区块间依赖的定量分析
鉴于基板上的资源越来越丰富,推测执行被提出来寻求机会来提高受控制依赖和数据依赖限制的顺序应用程序的性能。尽管从投机执行中获得了好处,但由于激进分支投机失败而导致的管道冲洗严重影响了性能和功率。不幸的是,如果不知道运行时控制依赖的行为,编译器就无法拆分顺序应用程序以进行推测执行,从而实现最佳性能。因此,应该识别并适当优化作为性能损失来源的控制依赖。在本文中,我们提出了一种有效的两级定量绩效分析,称为QAD,以确定需要优化的依赖关系。QAD性能分析的分解有助于性能优化摆脱对指令调度的严重依赖,而指令调度是一个NP问题。因此,与先前基于关键路径模型的性能分析相比,QAD可以识别出更大的优化顺序应用的空间。实验结果是在一个支持在块粒度推测执行的TRIPS处理器的背景下提出的。QAD的分析时间比传统的关键路径分析平均加快2.6倍。在定量性能分析结果的指导下进行代码优化,实现了18.93%的几何平均性能提升。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术文献互助群
群 号:481959085
Book学术官方微信