Procedure and Loop Level Speculative Parallelism Analysis in HPEC

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.

[1]  Lei Zhang,et al.  Parallelizing Block Cryptography Algorithms on Speculative Multicores , 2015, ICA3PP.

[2]  Kunle Olukotun,et al.  The Stanford Hydra CMP , 2000, IEEE Micro.

[3]  Guido Araujo,et al.  Using Hardware-Transactional-Memory Support to Implement Thread-Level Speculation , 2018, IEEE Transactions on Parallel and Distributed Systems.

[4]  Grigore Rosu,et al.  EnforceMOP: a runtime property enforcement system for multithreaded programs , 2013, ISSTA.

[5]  Jun Huang,et al.  A Flexible Chip Multiprocessor Simulator Dedicated for Thread Level Speculation , 2016, 2016 IEEE Trustcom/BigDataSE/ISPA.

[6]  Osama Al-Khaleel,et al.  OpenSPARC Processor Evaluation using Virtex-5 FPGA and High Performance Embedded Computing HPEC Benchmark Suite , 2014 .

[7]  D. McCoy,et al.  Sourcery VSIPL++ HPEC Benchmark Performance , 2006, 2006 HPCMP Users Group Conference (HPCMP-UGC'06).

[8]  Yangdong Deng,et al.  Evaluating the potential of graphics processors for high performance embedded computing , 2011, 2011 Design, Automation & Test in Europe.

[9]  Monica S. Lam,et al.  In search of speculative thread-level parallelism , 1999, 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425).

[10]  Bin Liu,et al.  A Virtual Sample Generation Approach for Speculative Multithreading Using Feature Sets and Abstract Syntax Trees , 2012, 2012 13th International Conference on Parallel and Distributed Computing, Applications and Technologies.

[11]  Li Shen,et al.  A Software-Hardware Co-designed Methodology for Efficient Thread Level Speculation , 2017, 2017 IEEE International Conference on Computer and Information Technology (CIT).

[12]  Andreas Zeller,et al.  Thread-level speculation with kernel support , 2016, CC.

[13]  Nikolas Ioannou,et al.  Combining thread level speculation helper threads and runahead execution , 2009, ICS.

[14]  Tianzhou Chen,et al.  Potential thread-level-parallelism exploration with superblock reordering , 2014, Computing.