Fast Task Submission in Software Thread Level Speculation Systems

Computation resources provided by modern multi-core processors make it possible to exploit thread-level parallelism in a specu-lative mode. In the past twenty years, tens of thread-level speculation (TLS) systems have been proposed and demonstrated the performance potential of TLS. Limited by the performance over-head caused by dynamic data dependency detection, speculative threads are usually confirmed sequentially in most TLS systems, and the execution of a speculative task may be delayed due to the rollback of tasks before it, even if there is no data dependency among them. In this paper, submission buffer, an aggressive TLS mechanism, is proposed to eliminate the unnecessary waiting caused by rollback. To keep the mis-speculation rate of this aggressive mechanism be at a lower value, some dynamic schedule strategies are also discussed. Experimental results indicate that the execution time could be shortened effectively under the same mis-speculation rate, and the overall performance is improved accordingly.

[1]  David A. Wood,et al.  LogTM: log-based transactional memory , 2006, The Twelfth International Symposium on High-Performance Computer Architecture, 2006..

[2]  Rajiv Gupta,et al.  Speculative parallelization using state separation and multiple value prediction , 2010, ISMM '10.

[3]  Rajiv Gupta,et al.  Enhanced speculative parallelization via incremental recovery , 2011, PPoPP '11.

[4]  Kevin Skadron,et al.  Rodinia: A benchmark suite for heterogeneous computing , 2009, 2009 IEEE International Symposium on Workload Characterization (IISWC).

[5]  John L. Henning SPEC CPU2000: Measuring CPU Performance in the New Millennium , 2000, Computer.

[6]  Jean-Luc Gaudiot,et al.  Speculative Execution on GPU: An Exploratory Study , 2010, 2010 39th International Conference on Parallel Processing.

[7]  Li Shen,et al.  HEUSPEC: A Software Speculation Parallel Model , 2013, 2013 42nd International Conference on Parallel Processing.

[8]  Arturo González-Escribano,et al.  The OpenMP source code repository , 2005, 13th Euromicro Conference on Parallel, Distributed and Network-Based Processing.

[9]  Li Shen,et al.  Optimization Strategies Oriented to Loop Characteristics in Software Thread Level Speculation Systems , 2016, Journal of Computer Science and Technology.

[10]  Chen Ding,et al.  Software behavior oriented parallelization , 2007, PLDI '07.

[11]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[12]  Rajiv Gupta,et al.  Copy or Discard execution model for speculative parallelization on multicores , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[13]  Lei Liu,et al.  Safe parallel programming using dynamic dependence hints , 2011, OOPSLA '11.

[14]  Cloyce D. Spradling SPEC CPU2006 benchmark tools , 2007, CARN.