SYRANT: SYmmetric Resource Allocation on Not-taken and Taken Paths

Nathanaël Prémillieu 1 André Seznec 1
1 ALF - Amdahl's Law is Forever
Inria Rennes – Bretagne Atlantique , IRISA-D3 - ARCHITECTURE
Abstract : In the multicore era, achieving ultimate single process performance is still an issue e.g. for single process workload or for sequential sections in par- allel applications. Unfortunately, despite tremendous research effort on branch prediction, substantial performance potential is still wasted due to branch mis- predictions. On a branch misprediction resolution, instruction treatment on the wrong path is essentially thrown away. However, in most cases after a conditional branch, the taken and the not-taken paths of execution merge after a few instruc- tions. Instructions that follow the reconvergence point are executed whatever the branch outcome is. We present SYRANT (SYmmetric Resource Allocation on Not-taken and Taken paths), a new technique for exploiting control independence. SYRANT essentially uses the same pipeline structure as a conventional processor. SYRANT tries to enforce the allocation of the exact same resources on the out-of-order execution mechanism (physical register, load/store queue and reorder buffer) for both the taken and not-taken paths. Thus, on a branch misprediction, the result of an in- struction already executed on the wrong path after the reconvergence point can be conserved in the same structure when it is data independent. Adding SYRANT on top of an aggressive superscalar execution core allows to improve performance for applications suffering a significant branch misprediction rate. As a side but important extra contribution, we introduce ABL/SBL a simple and non-intrusive hardware reconvergence detection mechanism. ABL/SBL can be used in a conventional superscalar processor to improve branch prediction ac- curacy through exploiting the execution of branches along the wrong path.
Document type :
Journal articles
Liste complète des métadonnées

Cited literature [18 references]  Display  Hide  Download

https://hal.inria.fr/inria-00539647
Contributor : Nathanaël Prémillieu <>
Submitted on : Wednesday, November 24, 2010 - 6:44:04 PM
Last modification on : Wednesday, April 17, 2019 - 4:07:58 PM
Document(s) archivé(s) le : Friday, October 26, 2012 - 4:50:20 PM

File

RR-7463.pdf
Files produced by the author(s)

Identifiers

Citation

Nathanaël Prémillieu, André Seznec. SYRANT: SYmmetric Resource Allocation on Not-taken and Taken Paths. ACM Transactions on Architecture and Code Optimization, Association for Computing Machinery, 2012, 8 (4), pp.Article No.: 43. ⟨10.1145/2086696.2086722⟩. ⟨inria-00539647⟩

Share

Metrics

Record views

411

Files downloads

311