pipelining to solve triangular linear systems

We continued our discussion of the pipelining technique to create parallel programs, consider the solution of a lower triangular linear system L y = b as arising from a LU decomposition (with ones on the diagonal).

Assuming a ring topology for the pipeline, we furthermore assumed that an assignment, multiplication, and subtraction is take one pipeline cycle. A type 1 pipelined computation takes under these assumptions exactly n^2 + 1 cycles, for a system of dimension n. Ignoring communication overhead, using type 3 pipelining, we showed that an n-stage pipeline needs 3*n - 1 cycles to solve a lower triangular system of dimension n. So the speedup is about n/3. It gets even better with an (n/2)-stage pipeline: we showed we could arrange the computations so it took 3.5*n - 1 cycles leading to a speedup of 2*p/3.5, p = n/2.