Progress in supercomputer technology leads to two major trends. First, many of the existing algorithms will need to be redesigned for efficient concurrent implementation using supercomputers. Second, a continuous increase will be apparent in the number of application-specific VLSI integrated circuits, which can provide the performance of supercomputers, using single chips or chipsets (at the expense of design time for algorithm and architecture development). Both of these approaches require considerable efforts in the development of algorithms for specific applications. This paper reviews four independent algorithm transformation methodologies: program unfolding, retiming, lookahead algorithms, and index mapping transformations. These transformation techniques exploit the available parallelism in iterative dataflow programs and create additional parallelism if necessary.