Abstract
Although High Performance Embedded Computing(HPEC) has been effectively analyzed on different platforms, there is still room for an in-depth analysis of thread level speculation (TLS), especially at the procedure level. This paper explores the potential parallelism of HPEC from procedure and loop level TLS techniques, and designs the corresponding analysis mechanism and data structures. Our aim is to show the improved performance of various applications used in HPEC. Results from our experiments demonstrate that: 1) the performance of all applications was relatively good, the best tdfir application achieves 221.8x speedup in procedure level speculation whilst a ct application gets a 13x speedup in loop level speculation; 2) HPEC programs can be accelerated by effectively utilizing the computing resources of 16 to 32 cores; 3) Applications, that contain multiple non-severe data-dependency procedure calls, are more suitable for developing parallelism using procedure level TLS technology.
Supported financially by the National Natural Science Foundation of China grants 61672438, Sichuan Science and Technology Plan Project 2019YJ0326, China Scholarship Council Project CSC201908510040.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Ye, J.M., Yan, H., Hou, H., Chen, T.: Potential thread-level-parallelism exploration with superblock reordering. Computing 96(6), 545–564 (2014). https://doi.org/10.1007/s00607-014-0387-8
Luo, Q., Rosu, G.: EnforceMOP: a runtime property enforcement system for multithreaded programs. In: Pezzè, M., Harman, M. (eds.) International Symposium on Software Testing and Analysis, ISSTA 2013, Lugano, Switzerland, 15–20 July 2013, pp. 156–166. ACM (2013)
Oplinger, J.T., Heine, D.L., Lam, M.S.: In search of speculative thread-level parallelism. In: Proceedings of the 1999 International Conference on Parallel Architectures and Compilation Techniques, Newport Beach, California, USA, 12–16 October 1999, pp. 303–313. IEEE Computer Society (1999)
Liu, B., Zhao, Y., Li, M., Liu, Y., Feng, B.: A virtual sample generation approach for speculative multithreading using feature sets and abstract syntax trees. In: Shen, H., Sang, Y., Li, Y., Qian, D., Zomaya, A.Y. (eds.) 13th International Conference on Parallel and Distributed Computing, Applications and Technologies, PDCAT 2012, Beijing, China, 14–16 December 2012, pp. 39–44. IEEE (2012)
Xekalakis, P., Ioannou, N., Cintra, M.: Combining thread level speculation helper threads and runahead execution. In: Gschwind, M., Nicolau, A., Salapura, V., Moreira, J.E. (eds.) Proceedings of the 23rd International Conference on Supercomputing, Yorktown Heights, NY, USA, 8–12 June 2009, pp. 410–420. ACM (2009)
Wang, Y., An, H., Liu, Z., Li, L., Huang, J.: A flexible chip multiprocessor simulator dedicated for thread level speculation. In: 2016 IEEE Trustcom/BigDataSE/ISPA, Tianjin, China, 23–26 August 2016, pp. 2127–2132. IEEE (2016)
Bergmann, J., Mccoy, D.: Sourcery VSIPL++ HPEC benchmark performance, pp. 308–314 (2006)
Mu, S., et al.: Evaluating the potential of graphics processors for high performance embedded computing. In: Design, Automation and Test in Europe, DATE 2011, Grenoble, France, 14–18 March 2011, pp. 709–714. IEEE (2011)
Mhaidat, K.M., Baset, A., Al-Khaleel, O.: OpenSPARC processor evaluation using Virtex-5 FPGA and high performance embedded computing (HPEC) benchmark suite. IJERTCS 5(1), 61–74 (2014)
Sohi, G.S., Breach, S.E., Vijaykumar, T.N.: Multiscalar processors. In: Patterson, D.A. (ed.) Proceedings of the 22nd Annual International Symposium on Computer Architecture, ISCA 1995, Santa Margherita Ligure, Italy, 22–24 June 1995, pp. 414–425. ACM (1995)
Hammond, L., Hubbert, B.A., Siu, M., Prabhu, M.K., Chen, M.K., Olukotun, K.: The Stanford hydra CMP. IEEE Micro 20(2), 71–84 (2000)
Salamanca, J., Amaral, J.N., Araujo, G.: Using hardware-transactional-memory support to implement thread-level speculation. IEEE Trans. Parallel Distrib. Syst. 29(2), 466–480 (2018)
Wang, Q., Wang, J., Shen, L., Wang, Z.: A software-hardware co-designed methodology for efficient thread level speculation. In: 2017 IEEE International Conference on Computer and Information Technology, CIT 2017, Helsinki, Finland, 21–23 August 2017, pp. 184–191. IEEE Computer Society (2017)
Hammacher, C., Streit, K., Zeller, A., Hack, S.: Thread-level speculation with kernel support. In: Zaks, A., Hermenegildo, M.V. (eds.) Proceedings of the 25th International Conference on Compiler Construction, CC 2016, Barcelona, Spain, 12–18 March 2016, pp. 1–11. ACM (2016)
Wang, Y., An, H., Liu, Z., Zhang, L., Wang, Q.: Parallelizing block cryptography algorithms on speculative multicores. In: Wang, G., Zomaya, A., Perez, G.M., Li, K. (eds.) ICA3PP 2015. LNCS, vol. 9528, pp. 3–15. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-27119-4_1
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
Wang, X., Wang, Y., Li, L., Yang, Y., Bu, D., Musariri, M. (2020). Procedure and Loop Level Speculative Parallelism Analysis in HPEC. 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_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-60245-1_4
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)