Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1105634.1105652dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
Article

Learning basic block scheduling heuristics from optimal data

Published: 17 October 2005 Publication History

Abstract

Instruction scheduling is an important step for improving the performance of object code produced by a compiler. The basic block instruction scheduling problem 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 known to be difficult, and most compilers use a greedy list scheduling algorithm coupled with a heuristic. The heuristic is usually hand-crafted, a potentially time-consuming process. In contrast, we present a study on automatically learning good heuristics using techniques from machine learning. In our study, a recently proposed optimal basic block scheduler was used to generate the machine learning training data. A decision tree learning algorithm was then used to induce a simple heuristic from the training data. The automatically constructed decision tree heuristic was compared against a popular criticalpath heuristic on the SPEC 2000 benchmarks. On this benchmark suite, the decision tree heuristic reduced the number of basic blocks that were not optimally scheduled by up to 55% compared to the critical-path heuristic, and gave improved performance guarantees in terms of the worst-case factor from optimality.

References

[1]
{1} R. J. Blainey. Instruction scheduling in the TOBEY compiler. IBM J. Res. Develop., 38(5): 577-593, 1994.
[2]
{2} K. D. Cooper and L. Torczon. Engineering a Compiler. Morgan Kaufmann, 2004.
[3]
{3} R. Govindarajan. Instruction scheduling. In Y. N. Srikant and P. Shankar, editors, The Compiler Design Handbook, pages 631-687. CRC Press, 2003.
[4]
{4} I. Guyon and A. Elisseeff. An introduction to variable and feature selection. J. of Machine Learning Research, 3: 1157-1182, 2003.
[5]
{5} S. Hoxey, F. Karim, B. Hay, and H. Warren. The PowerPC Compiler Writer's Guide. Warthman Associates, 1996.
[6]
{6} C. Lee, M. Potkonjak, and W. Manginoe-Smith. MediaBench: A tool for evaluating and synthesizing multimedia and communications. In Proceedings of the 30th Annual IEEE/ACM International Symposium on Microarchitecture (Micro-30), pages 330-335, Research Triangle Park, North Carolina, 1997.
[7]
{7} A. M. Malik, J. McInnes, C. -G. Quimper, and P. van Beek. Optimal basic block instruction scheduling for multiple-issue processors using constraint programming. Technical Report CS-2005-19, School of Computer Science, University of Waterloo, 2005.
[8]
{8} A. McGovern, E. Moss, and A. G. Barto. Building a basic block instruction scheduler using reinforcement learning and rollouts. Machine Learning, 49(2/3): 141-160, 2002.
[9]
{9} J. E. B. Moss, P. E. Utgoff, J. Cavazos, D. Precup, D. Stefanovic, C. Brodley, and D. Scheef. Learning to schedule straight-line code. In Proceedings of the 10th Conference on Advances in Neural Information Processing Systems (NIPS), pages 929-935, Denver, Colorado, 1997.
[10]
{10} S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997.
[11]
{11} J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kauffman, 1993. The C4.5 software is available at: http://www.cse.unsw.edu.au/~quinlan/.
[12]
{12} G. Shobaki and K. Wilken. Optimal superblock scheduling using enumeration. In Proceedings of the 37th Annual IEEE/ACM International Symposium on Microarchitecture (Micro-37), pages 283-293, Portland, Oregon, 2004.
[13]
{13} M. Smotherman, S. Krishnamurthy, P. S. Aravind, and D. Hunnicutt. Efficient DAG construction and heuristic calculation for instruction scheduling. In Proceedings of the 24th Annual International Symposium on Microarchitecture (Micro-24), pages 93-102, Albuquerque, New Mexico, 1991.
[14]
{14} P. van Beek and K. Wilken. Fast optimal instruction scheduling for single-issue processors with arbitrary latencies. In Proceedings of the Seventh International Conference on Principles and Practice of Constraint Programming, pages 625-639, Paphos, Cyprus, 2001.
[15]
{15} I. H. Witten and E. Frank. Data Mining. Morgan Kaufmann, 2000.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '05: Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
October 2005
345 pages

Sponsors

  • IBM Centre for Advanced Studies (CAS)
  • IBM Toronto Laboratory
  • NRC: National Research Council - Canada

Publisher

IBM Press

Publication History

Published: 17 October 2005

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 24 of 90 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 280
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media