• DocumentCode
    81695
  • Title

    Squashing Alternatives for Software-Based Speculative Parallelization

  • Author

    Garcia Yaguez, Alvaro ; Llanos, Diego ; Gonzalez-Escribano, Arturo

  • Author_Institution
    Dept. de Inf., Univ. de Valladolid, Valladolid, Spain
  • Volume
    63
  • Issue
    7
  • fYear
    2014
  • fDate
    Jul-14
  • Firstpage
    1826
  • Lastpage
    1839
  • Abstract
    Speculative parallelization is a runtime technique that optimistically executes sequential code in parallel, checking that no dependence violations arise. In the case of a dependence violation, all mechanisms proposed so far either switch to sequential execution, or conservatively stop and restart the offending thread and all its successors, potentially discarding work that does not depend on this particular violation. In this work we systematically explore the design space of solutions for this problem, proposing a new mechanism that reduces the number of threads that should be restarted when a data dependence violation is found. Our new solution, called exclusive squashing, keeps track of inter-thread dependencies at runtime, selectively stopping and restarting offending threads, together with all threads that have consumed data from them. We have compared this new approach with existent solutions on a real system, executing different applications with loops that are not analyzable at compile time and present as much as 10% of inter-thread dependence violations at runtime. Our experimental results show a relative performance improvement of up to 14%, together with a reduction of one-third of the numbers of squashed threads. The speculative parallelization scheme and benchmarks described in this paper are available under request.
  • Keywords
    data flow analysis; multi-threading; data dependence violation; exclusive squashing; inter-thread dependence violations; inter-thread dependencies; runtime technique; sequential code; software-based speculative parallelization; squashed threads; squashing alternatives; Complexity theory; Data structures; Indexes; Instruction sets; Message systems; Monitoring; Runtime; Thread-level speculation; loop-based parallelization; optimistic parallelization;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2013.46
  • Filename
    6475131