Abstract
Thread partition plays an important role in speculative multithreading (SpMT) for automatic parallelization of irregular programs. Using unified values of partition parameters to partition different applications leads to the fact that every application cannot own its optimal partition scheme. In this paper, five parameters affecting thread partition are extracted from heuristic rules. They are the dependence threshold (DT), lower limit of thread size (TSL), upper limit of thread size (TSU), lower limit of spawning distance (SDL), and upper limit of spawning distance (SDU). Their ranges are determined in accordance with heuristic rules, and their step-sizes are set empirically. Under the condition of setting speedup as an objective function, all combinations of five threshold values form the solution space, and our aim is to search for the best combination to obtain the best thread granularity, thread dependence, and spawning distance, so that every application has its best partition scheme. The issue can be attributed to a single objective optimization problem. We use the artificial immune algorithm (AIA) to search for the optimal solution. On Prophet, which is a generic SpMT processor to evaluate the performance of multithreaded programs, Olden benchmarks are used to implement the process. Experiments show that we can obtain the optimal parameter values for every benchmark, and Olden benchmarks partitioned with the optimized parameter values deliver a performance improvement of 3.00% on a 4-core platform compared with a machine learning based approach, and 8.92% compared with a heuristics-based approach.
Similar content being viewed by others
References
Akkary, H., Driscoll, M.A., 1998. A dynamic multithreading processor. Proc. 31st Annual ACM/IEEE Int. Symp. on Microarchitecture, p.226–236.
Bhowmik, A., Franklin, M., 2002. A general compiler framework for speculative multithreading. Proc. 14th Annual ACM Symp. on Parallel Algorithms and Architectures, p.99–108. [doi:10.1145/564870.564885]
Chen, Z., Zhao, Y., Pan, X., et al., 2009. An overview of Prophet. Proc. 9th Int. Conf. on Algorithms and Architectures for Parallel Processing, p.396–407. [doi:10. 1007/978-3-642-03095-6_38]
Dasgupta, D., 1999. Artificial Immune Systems and Their Applications. Springer Berlin Heidelberg. [doi:10.1007/978-3-642-59901-9]
de Castro, L.N., Timmis, J., 2002. Artificial Immune Systems: a New Computational Intelligence Approach. Springer.
Dong, Z., Zhao, Y., Wei, Y., et al., 2009. Prophet: a speculative multi-threading execution model with architectural support based on CMP. Proc. 8th Int. Conf. on Embedded Computing, and Int. Conf. on Scalable Computing and Communications, p.103–108. [doi:10.1109/EmbeddedCom-ScalCom.2009.128]
Heinrich, J., 1994. MIPS R4000 Microprocessor User’s Manual (2nd Ed.). MIPS Technologies, Inc., Mountain View, CA.
Krishnan, V., Torrellas, J., 1999. A chip-multiprocessor architecture with speculative multithreading. IEEE Trans. Comput., 48(9):866–880. [doi:10.1109/12.795218]
Liu, B., Zhao, Y., Li, Y., et al., 2014. A thread partitioning approach for speculative multithreading. J. Supercomput., 67(3):778–805. [doi:10.1007/s11227-013-1000-1]
Madriles, C., Lopez, P., Codina, J.M., et al., 2009. Anaphase: a fine-grain thread decomposition scheme for speculative multithreading. Proc. 18th Int. Conf. on Parallel Architectures and Compilation Techniques, p.15–25. [doi:10. 1109/PACT.2009.27]
Marcuello, P., González, A., 1999. Clustered speculative multithreaded processors. Proc. 13th Int. Conf. on Supercomputing, p.365–372. [doi:10.1145/305138.305214]
Olukotun, K., Hammond, L., Willey, M., 1999. Improving the performance of speculatively parallel applications on the Hydra CMP. Proc. 13th Int. Conf. on Supercomputing, p.21–30. [doi:10.1145/305138.305155]
Quiñones, C.G., Madriles, C., Sánchez, J., et al., 2005. Mitosis compiler: an infrastructure for speculative threading based on pre-computation slices. Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, p.269–279. [doi:10.1145/1064978.1065043]
Sohi, G.S., Breach, S.E., Vijaykumar, T.N., 1995. Multiscalar processors. Proc. 22nd Annual Int. Symp. on Computer Architecture, p.414–425. [doi:10.1145/223982.224451]
Timmis, J., 2000. Artificial Immune Systems: a Novel Data Analysis Technique Inspired by the Immune Network Theory. Available from https://kar.kent.ac.uk/21989/.
Tsai, J., Yew, P., 1996. The superthreaded architecture: thread pipelining with run-time data dependence checking and control speculation. Proc. Conf. on Parallel Architectures and Compilation Techniques, p.35–46. [doi:10.1109/PACT.1996.552553]
Tsai, J., Huang, J., Amlo, C., et al., 1999. The super-threaded processor architecture. IEEE Trans. Comput., 48(9): 881–902. [doi:10.1109/12.795219]
Wang, L., Pan, J., Jiao, L., 2000. The immune algorithm. Acta Electron. Sin., 28(7):74–78 (in Chinese).
Wilson, R.P., French, R., Wilson, C.S., et al., 1994. The SUIF Compiler System: a Parallelizing and Optimizing Research Compiler. Technical Report No. CSL-TR-94-620, Computer Systems Laboratory, Stanford University, CA.
Author information
Authors and Affiliations
Corresponding author
Additional information
Project supported by the National Natural Science Foundation of China (No. 61173040) and the Doctoral Fund of Ministry of Education of China (No. 2013021110012)
ORCID: Yu-xiang LI, http://orcid.org/0000-0001-7271-3841
Rights and permissions
About this article
Cite this article
Li, Yx., Zhao, Yl., Liu, B. et al. Optimization of thread partitioning parameters in speculative multithreading based on artificial immune algorithm. Frontiers Inf Technol Electronic Eng 16, 205–216 (2015). https://doi.org/10.1631/FITEE.1400172
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1631/FITEE.1400172