Improving the performance of a thread-level speculation library

  1. Estebanez, Alvaro
  2. Llanos, Diego R.
  3. González Escribano, Arturo
Journal:
Annals of Multicore and GPU Programming: AMGP

ISSN: 2341-3158

Year of publication: 2014

Volume: 1

Issue: 1

Pages: 38-47

Type: Article

More publications in: Annals of Multicore and GPU Programming: AMGP

Abstract

Speculative parallelization is a technique that tries to extract parallelism of loops that can not be parallelized at compile time. The underlying idea is to optimistically execute the code in parallel, while a subsystem checks that sequential semantics have not been violated. There exist many proposals in this field, however, to the best of our knowledge, there are not any solution that allows to effectively parallelize those applications that use pointer arithmetic. In a previous work, the authors of this paper presented a software library that allow the parallelization of this kind of applications. Nevertheless, the software developed had an important limitation: Execution time of the parallelized versions was higher than the sequential one. In this work, this limitation has been addressed, finding and solving the reasons of this lack of efficiency. Experimental results obtained allow us to affirm that these limitations have been overcome