DocumentCode :
816901
Title :
Unroll-based copy elimination for enhanced pipeline scheduling
Author :
Kim, Suhyun ; Moon, Soo-Mook ; Park, Jinpyo ; Ebcioglu, Kemal
Author_Institution :
Sch. of Electr. Eng. & Comput. Sci., Seoul Nat. Univ., South Korea
Volume :
51
Issue :
9
fYear :
2002
fDate :
9/1/2002 12:00:00 AM
Firstpage :
977
Lastpage :
994
Abstract :
Enhanced pipeline scheduling (EPS) is a software pipelining technique which can achieve a variable initiation interval (II) for loops with control flow via its code motion pipelining. EPS, however, leaves behind many renaming copy instructions that cannot be coalesced due to interferences. These copies take resources and, more seriously, they may cause a stall if they rename a multilatency instruction whose latency is longer than the II aimed for by EPS. This paper proposes a code transformation technique based on loop unrolling which makes those copies coalescible. Two unique features of the technique are its method of determining the precise unroll amount, based on an idea of extended live ranges, and its insertion of special bookkeeping copies at loop exits. The proposed technique enables EPS to avoid a serious slowdown from latency handling and resource pressure, while keeping its variable II and other advantages. In fact, renaming through copies, followed by unroll-based copy elimination, is EPS´s solution to the cross-iteration register overwrite problem in software pipelining. It works for loops with arbitrary control flow that EPS must deal with, as well as for straightline loops. Our empirical study performed on a VLIW testbed with a two-cycle load latency shows that 86 percent of the otherwise uncoalescible copies in innermost loops become coalescible when unrolled 2.2 times on average. In addition, it is demonstrated that the unroll amount obtained is precise and the most efficient. The unrolled version of the VLIW code includes fewer no-op VLIW caused by stalls, improving the performance by a geometric mean of 18 percent on a 16-ALU machine.
Keywords :
delays; optimising compilers; parallelising compilers; performance evaluation; pipeline processing; processor scheduling; program control structures; program processors; programming theory; EPS; VLIW testbed; arbitrary control flow; coalescible copies; code motion pipelining; code transformation technique; control flow; cross-iteration register overwrite problem; enhanced pipeline scheduling; extended live ranges; innermost loops; iterated coalescing; latency handling; loop exits; loop unrolling; modulo scheduling; modulo variable expansion; performance; register allocation; renaming; software pipelining; special bookkeeping copies; straightline loops; two-cycle load latency; unroll amount; unroll-based copy elimination; variable initiation interval; Delay; Interference; Moon; Motion control; Optimizing compilers; Performance evaluation; Pipeline processing; Testing; VLIW;
fLanguage :
English
Journal_Title :
Computers, IEEE Transactions on
Publisher :
ieee
ISSN :
0018-9340
Type :
jour
DOI :
10.1109/TC.2002.1032620
Filename :
1032620
Link To Document :
بازگشت