{"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.