Data-Dependency Graph Transformations for Superblock Scheduling

  • Authors:
  • Mark Heffernan;Kent Wilken;Ghassan Shobaki

  • Affiliations:
  • University of California, Davis;University of California, Davis;University of California, Davis

  • Venue:
  • Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The superblock is a scheduling region which exposes instruction level parallelism beyond the basic block through speculative execution of instructions. In gen- eral, scheduling superblocks is an NP-Hard optimiza- tion 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 redun- dant and inferior schedules from the problem solution space. Heuristically scheduling the transformed data- dependency graphs yields significant reduction in ex- pected execution time for hard superblocks. Also, enu- meratively scheduling the transformed graphs is faster, and an optimal schedule is found for more problem in- stances 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 enu- merative superblock scheduling.