Assume one has a triangular sparse matrix and want to solve $Lx=b$ where $b$ and $L$ are known. This can be done easily by using forward substitution when $L$ is a lower triangular matrix. Forward substitution is highly sequential and hard to implement in parallel. I have read some articles about level scheduling where $L$ is reordered so that different levels appear which can be solved in parallel. A good reference seems to be the book of Saad where also the forward substitution with level scheduling is explained.
But I do not really get how the level scheduling is performed and the vector $q$ is filled. Could someone please provide an example or something?