• DocumentCode
    3057722
  • Title

    Just-In-Time Scheduling for Loop-based Speculative Parallelization

  • Author

    Llanos, Diego R. ; Orden, David ; Palop, Belén

  • Author_Institution
    Univ. de Valladolid, Valladolid
  • fYear
    2008
  • fDate
    13-15 Feb. 2008
  • Firstpage
    334
  • Lastpage
    342
  • Abstract
    Scheduling for speculative parallelization is a problem that remained unsolved despite its importance. Simple methods such as Fixed-Size Chunking (FSC) need several ´dry-runs´ before an acceptable chunk size is found. Other traditional scheduling methods were originally designed for loops with no dependences, so they are primarily focused in the problem of load balancing. In general, all these methods perform poorly when used for speculative parallelization, where loops may present unexpected dependences that adversely affect performance. In this work we address the problem of scheduling loops with and without dependences for speculative execution. We have found that a trade-off between minimizing the number of re-executions and reducing overheads can be found if the size of the scheduled block of iterations is calculated at runtime. We introduce here a scheduling method called Just-In- Time (JIT) scheduling that uses the information available during the execution of the loop in order to dynamically compute the size of the next block to be scheduled. The results show a 10% to 26% speedup improvement in real applications with dependences with respect to a carefully- tuned FSC strategy, and a 9% to 39% speedup improvement in real applications without dependences. With our proposal, the number of dependence violations that lead to squashes can be reduced by up to 62%. Moreover, in applications where the cost of dependence violations is too high to obtain speedups with FSC, our runtime scheduling mechanism avoids performance degradation.
  • Keywords
    just-in-time; parallel programming; program control structures; resource allocation; scheduling; FSC strategy; fixed-size chunking; just-in-time scheduling; load balancing; loop-based speculative parallelization; performance degradation; runtime scheduling mechanism; scheduling loops; Costs; Design methodology; Dynamic scheduling; Load management; Power capacitors; Processor scheduling; Runtime; Scheduling algorithm; Shape; Yarn; Speculative parallelization; loop-based speculation; scheduling; speculative multithreading;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel, Distributed and Network-Based Processing, 2008. PDP 2008. 16th Euromicro Conference on
  • Conference_Location
    Toulouse
  • ISSN
    1066-6192
  • Print_ISBN
    978-0-7695-3089-5
  • Type

    conf

  • DOI
    10.1109/PDP.2008.13
  • Filename
    4457141