Journal Article10.1142/S0218213008003765
Optimal basic block instruction scheduling for multiple-issue processors using constraint programming
50
TL;DR: The optimal scheduler is presented, which is a scheduler that finds provably optimal schedules for basic blocks using techniques from constraint programming and scaled to the largest basic blocks, including basic blocks with up to 2600 instructions.
read more
Abstract: Instruction scheduling is one of the most important steps for improving the performance of object code produced by a compiler. A fundamental problem that arises in instruction scheduling is to find a minimum length schedule for a basic block — a straight-line sequence of code with a single entry point and a single exit point — subject to precedence, latency, and resource constraints. Solving the problem exactly is NP-complete, and heuristic approaches are currently used in most compilers. In contrast, we present a scheduler that finds provably optimal schedules for basic blocks using techniques from constraint programming. In developing our optimal scheduler, the key to scaling up to large, real problems was in the development of preprocessing techniques for improving the constraint model. We experimentally evaluated our optimal scheduler on the SPEC 2000 integer and floating point benchmarks. On this benchmark suite, the optimal scheduler was very robust — all but a handful of the hundreds of thousands of basic blocks in our benchmark suite were solved optimally within a reasonable time limit — and scaled to the largest basic blocks, including basic blocks with up to 2600 instructions. This compares favorably to the best previous exact approaches.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Book
Handbook of Constraint Programming
Francesca Rossi,Peter van Beek,Toby Walsh +2 more
- 01 Jan 2006
TL;DR: Researchers from other fields should find in this handbook an effective way to learn about constraint programming and to possibly use some of the constraint programming concepts and techniques in their work, thus providing a means for a fruitful cross-fertilization among different research areas.
Granule Based Intertransaction Association Rule Mining
Wanzhong Yang,Yuefeng Li,Yue Xu +2 more
- 29 Oct 2007
TL;DR: This work proposes an alternative approach of granule based intertransaction association rule mining, where a granule is a group of transactions that meet a certain constraint, and shows that this approach is promising in real-world industry.
A state of the art review of intelligent scheduling
TL;DR: A survey of intelligent scheduling systems is provided by categorizing them into five major techniques containing fuzzy logic, expert systems, machine learning, stochastic local search optimization algorithms and constraint programming.
104
Optimal Basic Block Instruction Scheduling for Multiple-Issue Processors Using Constraing Programming
Abid M. Malik,J. McInnes,P. van Beek +2 more
- 13 Nov 2006
TL;DR: The optimal scheduler is presented, which is a scheduler that finds provably optimal schedules for basic blocks using techniques from constraint programming, and was very robust on the SPEC 2000 integer and floating point benchmarks.
Combinatorial Register Allocation and Instruction Scheduling
TL;DR: The results show that the combinatorial approach can be applied in practice to trade compilation time for code quality beyond the usual compiler optimization levels, identify improvement opportunities in heuristic algorithms, and fully exploit processor-specific features readily.
27
References
•Book
Computer Architecture: A Quantitative Approach
John L. Hennessy,David A. Patterson +1 more
- 01 Dec 1989
TL;DR: This best-selling title, considered for over a decade to be essential reading for every serious student and practitioner of computer design, has been updated throughout to address the most important trends facing computer designers today.
12.6K
•Book
Advanced Compiler Design and Implementation
Steven S. Muchnick
- 01 Jan 1997
TL;DR: Advanced Compiler Design and Implementation by Steven Muchnick Preface to Advanced Topics
2.6K
•Book
Handbook of Constraint Programming
Francesca Rossi,Peter van Beek,Toby Walsh +2 more
- 01 Jan 2006
TL;DR: Researchers from other fields should find in this handbook an effective way to learn about constraint programming and to possibly use some of the constraint programming concepts and techniques in their work, thus providing a means for a fruitful cross-fertilization among different research areas.
•Book
Constraint - based scheduling : applying constraint programming to scheduling problems
Philippe Baptiste,Claude Le Pape,Wim Nuijten +2 more
- 01 Jan 2001
TL;DR: This book is to provide an overview of the most widely used Constraint-Based Scheduling techniques and provides a model of the constraints that are the most often encountered in scheduling problems.
576
•Book
Engineering a Compiler
Linda Torczon,Keith D. Cooper +1 more
- 10 Nov 2003
TL;DR: This work focuses on the back end of the compiler - reflecting the focus of research and development over the last decade; uses the well-developed theory from scanning and parsing to introduce concepts that play a critical role in optimization and code generation.
445
Related Papers (5)
Kent Wilken,Jack H. Liu,Mark Heffernan +2 more
- 01 May 2000
Francesca Rossi,Peter van Beek,Toby Walsh +2 more
- 01 Jan 2006
Chris Lattner,Vikram Adve +1 more
- 20 Mar 2004
M. Anton Ertl,Andreas Krall +1 more
- 26 Aug 1991