Skip to main content

An Adaptive Thread Partitioning Approach in Speculative Multithreading

  • Conference paper
  • First Online:
Algorithms and Architectures for Parallel Processing (ICA3PP 2020)

Abstract

Thread partition is a core part of Speculative Multithreading (SpMT) technique. The existing thread partition approaches mostly adopt one unique thread partitioning scheme for unknown programs, resulting in high misspeculation ratio, restricting the programs’ speedup improvement due to inappropriate partitioning schemes. This paper which introduces an adaptive thread partition approach (AdapTPA), takes the relationship between program complexity and thread partitioning scheme as the research entry point, and uses the irregular programs as the research carrier, and utilizes formal analysis, probability statistics, mathematical modeling and simulation experiments to reveal the rule that program’s characteristics affect speedup performance, and generates a compound thread partitioning scheme for one program, and selects and executes the most suitable thread partitioning scheme according to the runtime context and the program’s complexity, so to achieve the expected maximum speedups. With the method of path statistics on one program’s control flow graph, the program’s complexity calculation model is set up; A candidate thread partitioning scheme set is constructed on the foundation of classical thread partitioning approaches; Using expert knowledge to guide production rules, a scheme selection mechanism that complies with program complexity is explored. Compared to the heuristic rules-based (HR-based) thread partitioning method, the experiment results show that AdapTPA delivers an average 18.24% performance improvement.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Estebanez, A., Llanos, D.R., Gonzalez-Escribano, A.: A survey on thread-level speculation techniques. ACM Comput. Surv. (CSUR) 49(2), 22 (2016)

    Article  Google Scholar 

  2. Hammacher, C., Streit, K., Zeller, A., Hack, S.: Thread-level speculation with kernel support (2016)

    Google Scholar 

  3. Yu-Xiang, L.I., Zhao, Y.L., Liu, B., Shuo, J.I.: Optimization of thread partitioning parameters in speculative multithreading based on artificial immune algorithm. Front. Inf. Technol. Electron. Eng. 16(3), 205–216 (2015)

    Google Scholar 

  4. Madriles, C., et al.: Mitosis: a speculative multithreaded processor based on precomputation slices. IEEE Trans. Parallel Distrib. Syst. 19(7), 914–925 (2008)

    Article  Google Scholar 

  5. Li, Y., Zhao, Y., Wu, Q.: GbA: a graph-based thread partition approach in speculative multithreading. Concurrency Comput. Practice Experience 29(21), e4294 (2017)

    Article  Google Scholar 

  6. Qiu, M., Sha, E.H.M.: Cost minimization while satisfying hard/soft timing constraints for heterogeneous embedded systems. ACM Trans. Des. Autom. Electron. Syst. 14(2), 25 (2009)

    Article  Google Scholar 

  7. Qiu, M., Dai, W., Vasilakos, A.V.: Loop parallelism maximization for multimedia data processing in mobile vehicular clouds. IEEE Trans. Cloud Comput. 7(1), 250–258 (2019)

    Article  Google Scholar 

  8. Qiu, H., Noura, H., Qiu, M., Ming, Z., Memmi, G.: A user-centric data protection method for cloud storage based on invertible DWT. IEEE Trans. Cloud Comput. 1 (2019)

    Google Scholar 

  9. Li, J., Ming, Z., Qiu, M., Quan, G., Qin, X., Chen, T.: Resource allocation robustness in multi-core embedded systems with inaccurate information. J. Syst. Archit. 57(9), 840–849 (2011)

    Article  Google Scholar 

  10. Qiu, M., Chen, Z., Niu, J., Zong, Z., Quan, G., Qin, X., Yang, L.T.: Data allocation for hybrid memory with genetic algorithm. IEEE Trans. Emerg. Topics Comput. 3(4), 544–555 (2015)

    Article  Google Scholar 

  11. Monsifrot, A., Bodin, F., Quiniou, R.: A machine learning approach to automatic production of compiler heuristics. In: Scott, D. (ed.) AIMSA 2002. LNCS (LNAI), vol. 2443, pp. 41–50. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46148-5_5

    Chapter  Google Scholar 

  12. Olden, B.: benchmark suite v (2010)

    Google Scholar 

  13. Li, Y., Zhao, Y., Sun, L., Shen, M.: A hybrid sample generation approach in speculative multithreading. J. Supercomput. 75(8), 4193–4225 (2017). https://doi.org/10.1007/s11227-017-2118-3

    Article  Google Scholar 

  14. Wilson, R.P., et al.: SUIF: an infrastructure for research on parallelizing and optimizing compilers. ACM Sigplan Notices 29(12), 31–37 (1994)

    Article  Google Scholar 

  15. Rogers, A., Carlisle, M.C., Reppy, J.H., Hendren, L.J.: Supporting dynamic data structures on distributed-memory machines. ACM Trans. Program. Lang. Syst. (TOPLAS) 17(2), 233–263 (1995)

    Article  Google Scholar 

  16. Prabhu, M.K., Olukotun, K.: Exposing speculative thread parallelism in spec2000. In: Proceedings of the Tenth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 142–152. ACM (2005)

    Google Scholar 

  17. Carlisle, M.C.: Olden: parallelizing programs with dynamic data structures on distributed-memory machines. Ph.D. dissertation, Princeton University (1996)

    Google Scholar 

Download references

Acknowledgement

We thank all members of Henan Joint International Research Laboratory of Cyberspace Security Applications for their great support, and give our best hope to them for their collaboration. We also thank reviewers for their careful comments and suggestions. The work was sponsored by National Natural Science Foundation of China Grant No. 61972133, Project of Leading Talents in Science and Technology Innovation for Thousands of People Plan in Henan Province Grant No. 204200510021, Henan Province Key Scientific and Technological Projects Grant No. 192102210130 and No. 202102210162, and Key Scientific Research Projects of Henan Province Universities Grant No. 19B520008.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhiyong Zhang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Li, Y., Zhang, Z., Liu, B. (2020). An Adaptive Thread Partitioning Approach in Speculative Multithreading. In: Qiu, M. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2020. Lecture Notes in Computer Science(), vol 12452. Springer, Cham. https://doi.org/10.1007/978-3-030-60245-1_6

Download citation

Publish with us

Policies and ethics