An explicit parallelism study based on thread-level speculation

Developments in parallel architectures are an important branch in computer science. The success of such architectures derives from their inherent ability to improve the program performances. However, their ability to improve the performance on programs depends on the parallelism extraction strategies, which are always limited by the logic of each sequential program. Speculation is the only known alternative to overcome these constraints and increase the parallelism. In this paper, we study the explicit speculative parallelism using a library of thread-level speculation. We present the design of this library and study different speculative models: speculation of decision structures, speculation of loops, and speculation of critical sections. Our study evaluates different cases taken from SPEC CPU 2000, allowing acceleration of about 1.8x in multicore architectures (four core) with coarse-grained

[1]  Mark D. Hill,et al.  Amdahl's Law in the Multicore Era , 2008 .

[2]  José Aguilar,et al.  A library for parallel thread-level speculation , 2013, 2013 XXXIX Latin American Computing Conference (CLEI).

[3]  Alan Mycroft,et al.  A lightweight in-place implementation for software thread-level speculation , 2009, SPAA '09.

[4]  Marcelo H. Cintra,et al.  A compiler cost model for speculative parallelization , 2007, TACO.

[5]  Wei-Chung Hsu,et al.  Dynamic helper threaded prefetching on the Sun UltraSPARC/spl reg/ CMP processor , 2005, 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'05).

[6]  Antonia Zhai,et al.  Exploring speculative parallelism in SPEC2006 , 2009, 2009 IEEE International Symposium on Performance Analysis of Systems and Software.

[7]  Theo Ungerer,et al.  A survey of processors with explicit multithreading , 2003, CSUR.

[8]  Oyekunle A. Olukotun,et al.  Parallel Programming Using Thread-Level Speculation , 2005 .

[9]  Gavin Brown,et al.  Toward a more accurate understanding of the limits of the TLS execution paradigm , 2010, IEEE International Symposium on Workload Characterization (IISWC'10).

[10]  Ernst L. Leiss,et al.  Data dependent loop scheduling based on genetic algorithms for distributed and shared memory systems , 2004, J. Parallel Distributed Comput..

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

[12]  Antulio Morgado Valle Introducción a la computación paralela , 1994, Polytech. Open Libr. Int. Bull. Inf. Technol. Sci..

[13]  Milind Girkar,et al.  Tight analysis of the performance potential of thread speculation using spec CPU 2006 , 2007, PPOPP.