Issue No. 09 - September (1993 vol. 4)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.243528
<p>Compaction-based parallelization suffers from long compile time and large code size because of its inherent code explosion problem. If software pipelining is performed for loop parallelization along with compaction, as in the authors' compiler, the code explosion problem becomes more serious. The authors propose the software lookahead heuristic for use in software pipelining, which allows inter-basic-block movement of code within a prespecified number of operations, called the software lookahead window, on any path emanating from the currently processed instruction at compile time. Software lookahead enables instruction-level parallelism to be exploited in a much greater code area than a single basic block, but the lookahead region is still limited to a constant depth by means of a user-specifiable window, and thus code explosion is restricted. The proposed scheme has been implemented in the authors' VLIW parallelizing compiler. To study the code explosion problem and instruction-level parallelism for branch-intensive code, they compiled five AIX utilities: sort, fgrep, sed, yacc, and compress. It is demonstrated that the software lookahead heuristic effectively alleviates the code explosion problem while successfully extracting a substantial amount of inter-basic-block parallelism.</p>
Index Termscompaction-based parallelization; code explosion problem; software pipelining; loop parallelization; software lookahead heuristic; VLIW parallelizing compiler; instruction-level parallelism; branch-intensive code; AIX utilities; sort; fgrep; sed; yacc; compress; instruction sets; parallel architectures; parallel programming; pipeline processing; program
T. Nakatani and K. Ebcioglu, "Making Compaction-Based Parallelization Affordable," in IEEE Transactions on Parallel & Distributed Systems, vol. 4, no. , pp. 1014-1029, 1993.