A shape matching approach for scheduling fine-grained parallelism

We present a compilation technique for scheduling parallelism on fine grained asynchronous MIMD systems. The shape scheduling algorithm is introduced that utilizes the flexibility of a MIMD system to exploit parallelism within and across basic blocks. Existing techniques exploit parallelism across basic blocks through speculative execution of instructions and code duplication. Our algorithm overlaps the execution of instructions from different basic blocks through matching the shapes of schedules belonging to these basic blocks. In addition, the shape algorithm can reduce the compilation time by increasing the grain size of schedulable units. Experimental results demonstrate that this technique exploits parallelism effectively and that by increasing the grain size the shape algorithm achieves faster compilation times without any significant reduc- tion in program speedup.

[1]  Andrew Wolfe,et al.  A variable instruction stream extension to the VLIW architecture , 1991, ASPLOS IV.

[2]  Rajiv Gupta,et al.  The design of a RISC based multiprocessor chip , 1990, Proceedings SUPERCOMPUTING '90.

[3]  Joseph A. Fisher,et al.  Trace Scheduling: A Technique for Global Microcode Compaction , 1981, IEEE Transactions on Computers.

[4]  Rajiv Gupta,et al.  Region Scheduling: An Approach for Detecting and Redistributing Parallelism , 1990, IEEE Trans. Software Eng..

[5]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[6]  Brian A. Malloy,et al.  A fine grained approach to scheduling asynchronous multiprocessors , 1992, Proceedings ICCI `92: Fourth International Conference on Computing and Information.