Data-Dependency Graph Transformations for Superblock Scheduling

2006; Institute of Electrical and Electronics Engineers; Linguagem: Inglês

10.1109/micro.2006.16

ISSN

2379-3155

Autores

Mark Heffernan, Kent Wilken, Ghassan Shobaki,

Tópico(s)

Parallel Computing and Optimization Techniques

Resumo

The superblock is a scheduling region which exposes instruction level parallelism beyond the basic block through speculative execution of instructions. In general, scheduling superblocks is an NP-hard optimization and prior work includes both heuristic (polynomial-time) and optimal (enumerative) scheduling techniques. This paper presents a set of transformations to the data-dependency graph which significantly improves the results of heuristic and enumerative superblock scheduling. The graph transformations prune redundant and inferior schedules from the problem solution space. Heuristically scheduling the transformed data-dependency graphs yields significant reduction in expected execution time for hard superblocks. Also, enumeratively scheduling the transformed graphs is faster, and an optimal schedule is found for more problem instances within a bounded time. The transformations are applied to superblocks generated with the GNU compiler collection (GCC) using the SPEC CPU2000 benchmarks targeted to various processor models. The experimental results confirm that the transformations significantly improve the results for heuristic and enumerative superblock scheduling

Referência(s)