Sciweavers

CP
2008
Springer

An Application of Constraint Programming to Superblock Instruction Scheduling

14 years 2 months ago
An Application of Constraint Programming to Superblock Instruction Scheduling
Modern computer architectures have complex features that can only be fully taken advantage of if the compiler schedules the compiled code. A standard region of code for scheduling in an optimizing compiler is called a superblock. Scheduling superblocks optimally is known to be NP-complete, and production compilers use non-optimal heuristic algorithms. In this paper, we present an application of constraint programming to the superblock instruction scheduling problem. The resulting system is both optimal and fast enough to be incorporated into production compilers, and is the first optimal superblock scheduler for realistic architectures. In developing our optimal scheduler, the keys to scaling up to large, real problems were in applying and adapting several techniques from the literature including: implied and dominance constraints, impact-based variable ordering heuristics, singleton bounds consistency, portfolios, and structure-based decomposition techniques. We experimentally evaluat...
Abid M. Malik, Michael Chase, Tyrel Russell, Peter
Added 18 Oct 2010
Updated 18 Oct 2010
Type Conference
Year 2008
Where CP
Authors Abid M. Malik, Michael Chase, Tyrel Russell, Peter van Beek
Comments (0)