Abstract
Branch prediction is essential for improving the performance of pipeline processors. As the number of pipeline stages in modern processors increases, an accurate branch prediction is important. Traditional branch predictor uses the concept of counter and history for the prediction of conditional branch instructions. Furthermore, this concept is replaced with the number of perceptrons using neural networks. In this paper, neural network-based approaches like perceptron neural branch predictor, global perceptron neural branch predictor, and a learning vector quantization neural branch predictor are applied to the different trace files to predict the conditional branch instructions. Furthermore, a backpropagation neural branch predictor scheme is proposed, providing more accuracy than other neural network techniques. The statistics results are obtained regarding accuracy, misprediction rate, precision rate, recall rate, and F1-score rate. The average results suggest that the proposed backpropagation neural branch predictor improves the accuracy of perceptron branch predictor, global perceptron branch predictor, and learning vector quantization neural branch predictor by 13.82%, 5.85%, and 1.11%, respectively.






Similar content being viewed by others
References
Sweety, Chaudhary P (2018) Branch prediction techniques used in pipeline processors: a review. Int J Pure Appl Math 119(15):2843–2851
Sweety, Chaudhary P (2020) Towards the improving branch instructions identification in high-performance processors issues, challenges and techniques. In: Recent Advances in Computer Science and Communications [Online]. Available: https://www.eurekaselect.com/node/191298/article/towards-the-improving-branch-instructions-identification-in-high-performance-processors-issues-challenges-and-techniques
Sweety, Chaudhary P (2020) Design and Fpga based implementation of 1-bit dynamic branch predictor for the parallelism processor. J Crit Rev 7(09):1156–1162. https://doi.org/10.31838/jcr.07.09.212
Sweety, Chaudhary P (2019) Implemented static branch prediction schemes for the parallelism processors. In: International Conference on Machine Learning, Big Data, Cloud and Parallel Computing (IEEE Xplore), pp 79–83. https://doi.org/10.1109/COMITCon.2019.8862216
Nain S, Chaudhary P (2021) Implementation and comparison of bi-modal dynamic branch prediction with static branch prediction schemes. Int J Inf Technol (Singap) 13(3):1145–1153. https://doi.org/10.1007/s41870-021-00631-z
Sweety, Chaudhary P (2020) A hybrid branch prediction approach for high-performance processors. In: Recent Advances in Computer Science and Communications [Online]. Available: http://www.eurekaselect.com/98027/article
Islas MA et al (2021) A fuzzy logic model for hourly electrical power demand modeling. Electronics 10(4):448. https://doi.org/10.3390/electronics10040448
de Rubio JJ et al (2021) Adapting H-infinity controller for the desired reference tracking of the sphere position in the Maglev process. Inf Sci 569:669–686. https://doi.org/10.1016/j.ins.2021.05.018
de Rubio JJ (2020) Stability analysis of the modified Levenberg–Marquardt algorithm for the artificial neural network training. IEEE Trans Neural Netw Learn Syst. https://doi.org/10.1109/TNNLS.2020.3015200
Abudalfa S, Almohamd M, Ahmed M (2019) Comparative study on behavior-based dynamic branch prediction using machine learning. Int J Comput Digit Syst 8(1):33–41. https://doi.org/10.12785/ijcds/080104
Chiang H-S, Chen M-Y, Huang Y-J (2019) Wavelet-based EEG processing for epilepsy detection using fuzzy entropy and associative petri net. IEEE Access 7:103255–103262. https://doi.org/10.1109/ACCESS.2019.2929266
Meda-Campaña JA (2018) On the estimation and control of nonlinear systems with parametric uncertainties and noisy outputs. IEEE Access 6:31968–31973. https://doi.org/10.1109/ACCESS.2018.2846483
Furlán F, Rubio E, Sossa H, Ponce V (2020) CNN based detectors on planetary environments: a performance evaluation. Front Neurorobot 14:85. https://doi.org/10.3389/fnbot.2020.590371
Parihar R (2015) Branch Prediction Techniques and Optimizations. University of Rochester, New York
Lee JKF, Smith AJ (1984) Branch prediction strategies and branch target buffer design. Computer 17(1):6–22. https://doi.org/10.1109/MC.1984.1658927
Bate I , Reutemann R (2005) Efficient integration of bimodal branch prediction and pipeline analysis. In: Proceedings—11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, pp 39–44. https://doi.org/10.1109/RTCSA.2005.41
Wu M, Cen Z, Zhou J (2002) Exploring dynamic branch prediction methods, Department of Computer Science and Engineering, Michigan State University, Fall
Yeh T-Y, Patt YN (1992) Alternative implementations of two-level adaptive branch prediction. In: Proceedings of the 19th Annual International Symposium on Computer Architecture—ISCA ’92, vol 20, no 2, pp 124–134. https://doi.org/10.1145/139669.139709
Poongodi M, Al-Shaikhli IF, Vijayakumar V (2017) The probabilistic approach of energy utility and reusability model with enhanced security from the compromised nodes through wireless energy transfer in WSN. Int J Pure Appli Math 116(22):233–250
Poongodi M, Bose S (2015) The COLLID based intrusion detection system for detection against DDOS attacks using trust evaluation. Adv Nat Appl Sci 9(6):574–580
Poongodi M, Bose S (2015) Stochastic model: recaptcha controller based co-variance matrix analysis on frequency distribution using trust evaluation and re-eval by aumann agreement theorem against DDoS attack in MANET. Clust Comput 18(4):1549–1559. https://doi.org/10.1007/s10586-015-0496-y
Poongodi M, Bose S, Ganeshkumar N (2015) The effective intrusion detection system using optimal feature selection algorithm. Int J Enterp Netw Manag 6(4):263–274. https://doi.org/10.1504/IJENM.2015.073869
Poongodi M, Bose S (2015) Detection and prevention system towards the truth of convergence on decision using Aumann agreement theorem. Proc Comput Sci 50:244–251. https://doi.org/10.1016/j.procs.2015.04.053
Poongodi M, Bose S (2014) A firegroup mechanism to provide intrusion detection and prevention system against DDos attack in collaborative clustered networks. Int J Inf Secur Priv 1–18 [Online]. Available:https://www.igi-global.com/article/a-firegroup-mechanism-to-provide-intrusion-detection-and-prevention-system-against-ddos-attack-in-collaborative-clustered-networks/130652
Nain S, Chaudhary P (2021) An efficient branch predictor for improved accuracy of instruction level parallelism. J Supercomput. https://doi.org/10.1007/s11227-021-03778-5#citeas
Nain S, Chaudhary P (2021) An astute LVQ approach using neural network for the prediction of conditional branches in pipeline processor. ICST Trans Scalable Inf Syst. https://doi.org/10.4108/eai.4-3-2021.168865
Haque MSM, Hassan MR, Sulaiman M, Onoruoiza S, Kamruzzaman J, Arifuzzaman M (2019) Enhancing branch predictors using genetic algorithm. In: 8th International Conference on Modeling Simulation and Applied Optimization, ICMSAO 2019, pp 1–5. https://doi.org/10.1109/ICMSAO.2019.8880435
Vintan LN (2019) Neural branch prediction: from the first ideas, to implementations in advanced microprocessors and medical applications. Proc Rom Acad Ser A Math Phys Tech Sci Inf Sci 20(2):200–207
Mao Y, Zhou H, Gui X, Shen J (2020) Exploring convolution neural network for branch prediction. IEEE Access 8:1–1. https://doi.org/10.1109/access.2020.3017196
Zhang L, Wu N, Ge F, Zhou F, Yahya MR (2020) A dynamic branch predictor based on parallel structure of SRNN. IEEE Access 8:86230–86237. https://doi.org/10.1109/ACCESS.2020.2992643
Goyal S, Singh J (2017) Two-level alloyed branch predictor based on genetic algorithm for deep pipelining processors. Int J Mod Educ Comput Sci 9(5):27–33. https://doi.org/10.5815/ijmecs.2017.05.04
Mahmood HS, Omran SS (2019) Selective branch prediction schemes based on FPGA MIPS processor for educational purposes. In: IOP Conference Series: Materials Science and Engineering, pp 1–11 [Online]. Available: https://doi.org/10.1088/1757-899X/518/4/042008
Jin W, Shi F, Song Q, Zhang Y (2013) A novel architecture for ahead branch prediction. Front Comput Sci 7(6):914–923. https://doi.org/10.1007/s11704-013-2260-x
Mittal S (2016) A survey of recent prefetching techniques for processor caches. ACM Comput Surv 49(2):1–35. https://doi.org/10.1145/2907071
Mao Y, Shen J, Gui X (2017) A study on deep belief net for branch prediction. IEEE Access 6:10779–10786
Su X, Wu H, Yang Q (2016) An efficient wcet-aware hybrid global branch prediction approach. In: IEEE 22nd International Conference on Embedded and Real-Time Computing Systems and Applications, pp 195–201. https://doi.org/10.1109/RTCSA.2016.46
Tripathy AK, Mishra P (2011) A novel approach for branch prediction using SVM. Int J Adv Res Comput Sci 2(1):1–11
Jiménez DA, Lin C (2001) Perceptron learning for predicting the behavior of conditional branches. Proc Int Jt Conf Neural Netw 3:2122–2127. https://doi.org/10.1109/ijcnn.2001.938494
Ribas VM, Figueiredo MF, Goņoalves RA (2003) Simulating a simple neural network on branch prediction. Acta Scientiarum Technol 25(2):153–160
Ho CY, Fong ASS (2007) Combining local and global history hashing in perceptron branch prediction. In: 6th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2007), no Icis, pp 54–59. https://doi.org/10.1109/ICIS.2007.81
Egan C, Steven G, Quick P, Anguera R, Steven F, Vintan L (2003) Two-level branch prediction using neural networks. J Syst Archit 49(12–15):557–570. https://doi.org/10.1016/S1383-7621(03)00095-X
“ui-reference @ www.jetbrains.com” [Online]. Available: https://www.jetbrains.com/help/pycharm/ui-reference.html
Kim H, Joao JA, Mutlu O, Lee CJ, Patt YN, Cohn R (2007) VPC prediction. ACM SIGARCH Comput Archit News 35(2):424–435. https://doi.org/10.1145/1273440.1250715
Garza E, Mirbagher-Ajorpaz S, Khan TA, Jiménez DA (2019) Bit-level perceptron prediction for indirect branches. In: 2019 ACM/IEEE 46th Annual International Symposium on Computer Architecture (ISCA). IEEE, pp 27–38
Shah PZ, Prabhu SU (2014) Hybrid learning-based branch predictor. Int J Eng Res Technol 3(8):1135–1139
Jiménez DA (2003) Fast path-based neural branch prediction. In: Proceedings of the Annual International Symposium on Microarchitecture, MICRO, pp 243–252. https://doi.org/10.1109/MICRO.2003.1253199
Jimenez DA, Lin C (2001) Dynamic branch prediction with perceptrons. In: Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture, pp 197–206. https://doi.org/10.1109/HPCA.2001.903263
Tarjan D, Skadron K (2005) Merging path and gshare indexing in perceptron branch prediction. ACM Trans Archit Code Optim 2(3):280–300. https://doi.org/10.1145/1089008.1089011
Vintan N, Iridon M (1999) Towards a high performance neural branch predictor. In: Proceedings of the International Joint Conference on Neural Networks, vol 2, pp 868–873. https://doi.org/10.1109/ijcnn.1999.831066
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The author declare no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Nain, S., Chaudhary, P. A neural network-based approach for the performance evaluation of branch prediction in instruction-level parallelism processors. J Supercomput 78, 4960–4976 (2022). https://doi.org/10.1007/s11227-021-04045-3
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-021-04045-3