• DocumentCode
    3544079
  • Title

    On Optimizing the Longest Common Subsequence Problem by Loop Unrolling Along Wavefronts

  • Author

    Steinbrecher, Johann ; Shang, Weijia

  • Author_Institution
    Santa Clara Univ., Santa Clara, CA, USA
  • fYear
    2012
  • fDate
    15-17 Feb. 2012
  • Firstpage
    603
  • Lastpage
    611
  • Abstract
    Loop unrolling is a loop transformation where a few loop iterations are grouped as a super iteration for exploring more independent instructions and to decrease the total loop overhead. This paper characterizes loop unrolling by the unrolling factor, the number of iterations in a super iteration and the unrolling direction, the choice of iterations to be grouped to form the super iteration. We use loop unrolling for maximizing instruction-level parallelism in the longest common subsequence problem. To increase the number of independent instructions in the super iteration, we use a linear schedule to group iterations on the same wave front, a hyper plane in the loop iteration space. Then, the loop is unrolled along the wave front which guarantees all iterations in the same super iteration are independent. The selection of the optimal unrolling factor is based on the assumption that if all the pipelines are saturated, the performance should not be bad. Two necessary conditions and a sufficient condition for optimality are presented and used to find the optimal unrolling factor. The total execution time is expressed as a function of algorithm parameters, architecture parameters and the unrolling factor. A benchmark of the technique scores a 1.475 speed-up over traditional methods.
  • Keywords
    iterative methods; optimisation; parallel programming; program compilers; program control structures; software architecture; algorithm parameter; architecture parameter; instruction-level parallelism maximization; linear schedule; longest common subsequence problem optimization; loop iteration space hyper plane; loop overhead; loop transformation; loop unrolling; optimal unrolling factor; super iteration; unrolling direction; wavefront; Assembly; Mathematical model; Parallel processing; Pipelines; Registers; Schedules; Vectors; Loop unrolling; instruction-level parallelism; longest common subsequence problem; uniform dependence algorithm;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel, Distributed and Network-Based Processing (PDP), 2012 20th Euromicro International Conference on
  • Conference_Location
    Garching
  • ISSN
    1066-6192
  • Print_ISBN
    978-1-4673-0226-5
  • Type

    conf

  • DOI
    10.1109/PDP.2012.49
  • Filename
    6169647