Skip to main content
Log in

A neural network-based approach for the performance evaluation of branch prediction in instruction-level parallelism processors

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Sweety, Chaudhary P (2018) Branch prediction techniques used in pipeline processors: a review. Int J Pure Appl Math 119(15):2843–2851

    Google Scholar 

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

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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  14. Parihar R (2015) Branch Prediction Techniques and Optimizations. University of Rochester, New York

    Google Scholar 

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

    Article  Google Scholar 

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

  17. Wu M, Cen Z, Zhou J (2002) Exploring dynamic branch prediction methods, Department of Computer Science and Engineering, Michigan State University, Fall

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

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

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

    MathSciNet  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

  35. Mao Y, Shen J, Gui X (2017) A study on deep belief net for branch prediction. IEEE Access 6:10779–10786

    Article  Google Scholar 

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

  37. Tripathy AK, Mishra P (2011) A novel approach for branch prediction using SVM. Int J Adv Res Comput Sci 2(1):1–11

    Article  Google Scholar 

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

    Article  Google Scholar 

  39. Ribas VM, Figueiredo MF, Goņoalves RA (2003) Simulating a simple neural network on branch prediction. Acta Scientiarum Technol 25(2):153–160

    Google Scholar 

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

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

    Article  Google Scholar 

  42. “ui-reference @ www.jetbrains.com” [Online]. Available: https://www.jetbrains.com/help/pycharm/ui-reference.html

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

    Article  MATH  Google Scholar 

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

  45. Shah PZ, Prabhu SU (2014) Hybrid learning-based branch predictor. Int J Eng Res Technol 3(8):1135–1139

    Google Scholar 

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

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

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

    Article  Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sweety Nain.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-021-04045-3

Keywords

Navigation