130 likes | 198 Views
Adaptive Information Processing: An Effective Way to Improve Perceptron Predictors. Hongliang Gao Huiyang Zhou. Correlation feedback. Information system model. Information system model by Chen et. al. [ASPLOS-VII]. Key observations Shortcomings:
E N D
Adaptive Information Processing: An Effective Way to Improve Perceptron Predictors Hongliang Gao Huiyang Zhou
Correlation feedback Information system model • Information system model by Chen et. al. [ASPLOS-VII]. • Key observations • Shortcomings: • Fixed information vector while different workloads/branches need different information data. • Perceptron weights Correlation • Assemble information vector to maximize correlation Predictor FSMs Perceptrons [2] Source (program) Information processor Information: Br address Br history Br type Other run time info. Information vector • Our contribution • Re-assemble the information vector based on correlation (weights) • Performed at a coarse grain, so it is not latency critical University of Central Florida
Inputs: m bits … Controls MUX MUX Output: n bits n < m Adaptive Information Processing Information • Profile-directed adaptation • Correlation-directed adaptation LHR GHR PC Fixed Perceptron Predictor University of Central Florida
4 4 4 4 type type type … … MUX1 4 4 4 Workload Detector type MAC-RHSP predictor [5] Index N Index 1 Index 0 Index 2 Profile-directed adaptation Information LHR table GHR PC Information vector 4 wt table N wt table 1 wt table 2 w0 table … … weights weights weights Update Logic Prediction = sign(y) y University of Central Florida
L[0:3] L[4:7] G[0:3^4:7] G[8:11^12:15] G[16:19^20:23] G[24:27^28:31] G[32:35^36:39] …… G[80:83^84:87] P[0:3] L[0:3] G[0:3] G[4:7] G[8:11] G[12:P15] G[16:19] …… G[56:59^60:63] P[0:3] L[0:3] G[0:3] G[4:7] G[8:11] G[12:P15] G[16:19] …… L[4:7] P[0:3] P[4:7] P[8:11] P[12:15] P[16:19] G[0:3] G[4:7] …… L[0:3] FP INT MM L[4:7] L[0:3] L[0:3] P[4:7] G[ ^ ] G[^] L[4:7] L[0:3] L[0:3] P[0:3] P[0:3] P[0:3] 4 4 4 4 4 4 4 4 4 4 4 4 SERV type type type MUX1 MUX1 MUX1 4 4 4 Profile-directed adaptation FP G[0:3] XOR G[4:7] INT MM SERV … … Table 1 Table 2 Table N Workload Detector type University of Central Florida
Workload Detector • Detection criteria • SERV: a large number of static branches • FP: a small number of static branches, a high number of floating point operation, and a high number of instructions using XMM registers • MM: a medium number of static branches, a medium number of floating point operation, and a medium number of instructions using XMM registers • INT: default Source (program) Workload Detector type Run time info: # of fp insts XMM accesses # of static br University of Central Florida
Information feeding logic 4 4 4 cN c2 c1 MUX2 type MUX1 4 4 cN c1 c2 Adaptation Logic (c1, c2, c3, …) MAC-RHSP predictor 4 4 4 4 Index N Index 1 Index 2 Index 0 Correlation-directed adaptation Information LHR table type type … … GHR PC Information vector 4 4 wt table N wt table 1 wt table 2 w0 table … … weights weights weights Workload Detector Update Logic type Prediction = sign(y) y University of Central Florida
cN’PC’ c2 c1 GHR PC cN c1 c2 Adaptation Logic 4 4 4 (c1, c2, c3, …) Index 1 Index 2 Index N Correlation-directed adaptation Information Information feeding logic LHR table 4 PC type type type (INT) … … GHR MUX1 4 4 4 4 PC MUX2 Information vector 4 4 4 Table 1 Table 2 Table N PC LHR … … weights weights weights Sum1 Sum2 SumN Workload Detector Large Sum1 => strong correlation with PC bits Small SumN => weak correlation with certain GHR bits cN ‘PC’ => more PC bits type University of Central Florida
10 00 01 11 Overall scheme initial (predict NT) confidence LRU tag loop count taken count always Taken (predict T) always NT (predict NT) PC PC Loop branch predictor Not biased (use other predictors) … loop hit loop prediction Bias branch predictor GHR NT Taken MAC perceptron predictor PC LHR table prediction loop prediction prediction runtime info. workload detector loop hit University of Central Florida
Summary • Observations • Different workloads/branches need different information. • Perceptron weights Correlation • Contributions • Profile-directed adaptation • Correlation-directed adaptation • Reducing aliasing from bias and loop branches • Result • Significant improvement University of Central Florida
References [1] I. K. Chen, J. T. Coffey, and T. N. Mudge, “Analysis of branch prediction via data compression”, Proc. of the 7th Int. Conf. on Arch. Support for Programming Languages and Operating Systems (ASPLOS-VII), 1996. [2] D. Jimenez and C. Lin, “Dynamic branch prediction with perceptrons”, Proc. of the 7th Int. Symp. on High Perf. Comp. Arch (HPCA-7), 2001. [3] D. Jimenez and C. Lin, “Neural methods for dynamic branch prediction”, ACM Trans. on Computer Systems, 2002. [4] S. MacFarling, “Combining branch predictors”, Technical Report, DEC, 1993. [5] A. Seznec, “Revisiting the perceptron predictor”, Technical Report, IRISA, 2004. [6] T.-Y. Yeh and Y. Patt, “Alternative implementations of two-level adaptive branch prediction”, Proc. of the 22nd Int. Symp. on Comp. Arch (ISCA-22), 1995. University of Central Florida
Predictor configuration University of Central Florida