Quantitative Analysis of Inter-block Dependence in Speculative Execution

Junrui Zhou,Hong An,Yanyan Zou,Tao Sun
DOI: https://doi.org/10.1109/TrustCom.2013.121
2013-01-01
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.
What problem does this paper attempt to address?