Issue No. 03 - March (2001 vol. 50)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.910814
<p><b>Abstract</b>—This paper presents a novel software pipelining approach, which is called Swing Modulo Scheduling (SMS). It generates schedules that are near optimal in terms of initiation interval, register requirements, and stage count. Swing Modulo Scheduling is a heuristic approach that has a low computational cost. This paper first describes the technique and evaluates it for the Perfect Club benchmark suite on a generic VLIW architecture. SMS is compared with other heuristic methods, showing that it outperforms them in terms of the quality of the obtained schedules and compilation time. To further explore the effectiveness of SMS, the experience of incorporating it into a production quality compiler for the Equator MAP1000 processor is described; implementation issues are discussed, as well as modifications and improvements to the original algorithm. Finally, experimental results from using a set of industrial multimedia applications are presented.</p>
Fine grain parallelism, instruction scheduling, loop scheduling, software pipelining, register requirements, VLIW, superscalar architectures.
E. Ayguadé, A. Gonzalez, J. Eckhardt, J. Llosa and M. Valero, "Lifetime-Sensitive Modulo Scheduling in a Production Environment," in IEEE Transactions on Computers, vol. 50, no. , pp. 234-249, 2001.