Parallelism Improvements of Software Pipelining by Combining Spilling with Rematerialization

On the instruction level parallelism architecture developed as EPIC, VLIW structure machine et al., the perforemance is affected by the compiler techniques. The integrated and convergent optimization techniques have been studied for their developments of the parallelism. In this paper, we develop a software pipelining technique for the improvement of the parallel processing in these machine structures. The software pipelining is a loop scheduling technique by overlapping the execution of several consecutive instructions of the program. Then, much registers are needed for the realization of the software pipelining. Here, spilling code and the rematerialization are implemented in the pipelining scheduling. Experimental results of the proposed method are compared with the conventional methos. The results show the improvements of the speedup of the parallel prosecssing in the bench marks.

[1]  Javier Zalamea,et al.  Register constrained modulo scheduling , 2004, IEEE Transactions on Parallel and Distributed Systems.

[2]  Naohiro Ishii,et al.  A Spill Code Placement Framework for Code Scheduling , 1998, LCPC.

[3]  C. Norris,et al.  A schedular-sensitive global register allocator , 1993, Supercomputing '93.

[4]  John R. Ellis,et al.  Bulldog: A Compiler for VLIW Architectures , 1986 .

[5]  Josep Llosa,et al.  Heuristics for register-constrained software pipelining , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[6]  Keith D. Cooper,et al.  Improvements to graph coloring register allocation , 1994, TOPL.

[7]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .