2013Unpublished venueRequires access

Quantitative Analysis of Inter-block Dependence in Speculative Execution

Junrui Zhou, Hong An, Yanyan Zou, Tao Sun

Open publisher page 2 citations

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.

About this research paper

What this paper is about

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.

Why it matters

OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available 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.

Key concepts: Computer science, Speculative execution, Parallel computing, Branch predictor, Speedup, Block (permutation group theory), Critical path method, Scheduling (production processes)

Related papers

Back to paper searchBrowse research topicsOriginal source
Quantitative Analysis of Inter-block Dependence in Speculative Execution — Research Paper | ScholarLens