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.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Estebanez, A., Llanos, D.R., Gonzalez-Escribano, A.: A survey on thread-level speculation techniques. ACM Comput. Surv. (CSUR) 49(2), 22 (2016)
Hammacher, C., Streit, K., Zeller, A., Hack, S.: Thread-level speculation with kernel support (2016)
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)
Madriles, C., et al.: Mitosis: a speculative multithreaded processor based on precomputation slices. IEEE Trans. Parallel Distrib. Syst. 19(7), 914–925 (2008)
Li, Y., Zhao, Y., Wu, Q.: GbA: a graph-based thread partition approach in speculative multithreading. Concurrency Comput. Practice Experience 29(21), e4294 (2017)
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)
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)
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)
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)
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)
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
Olden, B.: benchmark suite v (2010)
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
Wilson, R.P., et al.: SUIF: an infrastructure for research on parallelizing and optimizing compilers. ACM Sigplan Notices 29(12), 31–37 (1994)
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)
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)
Carlisle, M.C.: Olden: parallelizing programs with dynamic data structures on distributed-memory machines. Ph.D. dissertation, Princeton University (1996)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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
DOI: https://doi.org/10.1007/978-3-030-60245-1_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-60244-4
Online ISBN: 978-3-030-60245-1
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)