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

Learning to schedule straight-line code

Published: 01 December 1997 Publication History

Abstract

Program execution speed on modern computers is sensitive, by a factor of two or more, to the order in which instructions are presented to the processor. To realize potential execution efficiency, an optimizing compiler must employ a heuristic algorithm for instruction scheduling. Such algorithms are painstakingly hand-crafted, which is expensive and time-consuming. We show how to cast the instruction scheduling problem as a learning task, obtaining the heuristic scheduling algorithm automatically. Our focus is the narrower problem of scheduling straight-line code (also called basic blocks of instructions). Our empirical results show that just a few features are adequate for quite good performance at this task for a real modern processor, and that any of several supervised learning methods perform nearly optimally with respect to the features used.

References

[1]
Beaty, S., Colcord, S., & Sweany, P. (1996). Using genetic algorithms to fine-tune instruction-scheduling heuristics. In Proc. of the Int'l Conf. on Massively Parallel Computer Systems.
[2]
Digital Equipment Corporation, (1992). DECchip 21064-AA Microprocessor Hardware Reference Manual, Maynard, MA, first edition, October 1992.
[3]
Haykin, S. (1994). Neural networks: A comprehensive foundation. New York, NY: Macmillan.
[4]
Moss, E., Cavazos, J., Stefanovic, D., Utgoff, P., Precup, D., Scheeff, D., & Brodley, C. (1997). Learning Policies for Local Instruction Scheduling. Submitted for publication.
[5]
Rumelhart, D. E., Hinton, G. E., & Williams, R.J. (1986). Learning internal representations by error propagation. In Rumelhart & McClelland (Eds.), Parallel distributed processing: Explorations in the microstructure of cognition. Cambridge, MA: MIT Press.
[6]
Scheeff, D., Brodley, C., Moss, E., Cavazos, J., Stefanovic. D. (1997). Applying Reinforcement Learning to Instruction Scheduling within Basic Blocks. Technical report.
[7]
Sites, R. (1992). Alpha Architecture Reference Manual. Digital Equip. Corp., Maynard, MA.
[8]
Srivastava, A. & Eustace, A. (1994). ATOM: A system for building customized program analysis tools. In Proc. ACM SIGPLAN '94 Conf. on Prog. Lang. Design and Impl., 196-205.
[9]
Sutton, R. S. (1988). Learning to predict by the method of temporal differences. Machine Learning, 3, 9-44.
[10]
Tarsy, G. & Woodard, M. (1994). Method and apparatus for optimizing cost-based heuristic instruction schedulers. US Patent #5,367,687. Filed 7/7/93, granted 11122/94.
[11]
Utgoff, P. E., Berkman, N. C., & Clouse, J. A. (in press). Decision tree induction based on efficient tree restructuring. Machine Learning.
[12]
Utgoff, P. E., & Precup, D. (1997). Constructive function approximation, (Technical Report 97-04), Amherst, MA: University of Massachusetts, Department of Computer Science.

Cited By

View all
  • (2024)The Droplet Search Algorithm for Kernel SchedulingACM Transactions on Architecture and Code Optimization10.1145/365010921:2(1-28)Online publication date: 21-May-2024
  • (2023)Efficiently Learning Locality Optimizations by Decomposing Transformation DomainsProceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction10.1145/3578360.3580272(37-49)Online publication date: 17-Feb-2023
  • (2008)Instruction scheduling using evolutionary programmingProceedings of the WSEAS International Conference on Applied Computing Conference10.5555/1415804.1415830(137-144)Online publication date: 27-May-2008
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
NIPS'97: Proceedings of the 10th International Conference on Neural Information Processing Systems
December 1997
1077 pages

Publisher

MIT Press

Cambridge, MA, United States

Publication History

Published: 01 December 1997

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)The Droplet Search Algorithm for Kernel SchedulingACM Transactions on Architecture and Code Optimization10.1145/365010921:2(1-28)Online publication date: 21-May-2024
  • (2023)Efficiently Learning Locality Optimizations by Decomposing Transformation DomainsProceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction10.1145/3578360.3580272(37-49)Online publication date: 17-Feb-2023
  • (2008)Instruction scheduling using evolutionary programmingProceedings of the WSEAS International Conference on Applied Computing Conference10.5555/1415804.1415830(137-144)Online publication date: 27-May-2008
  • (2008)Learning heuristics for basic block instruction schedulingJournal of Heuristics10.1007/s10732-007-9051-114:6(549-569)Online publication date: 1-Dec-2008
  • (2005)Learning basic block scheduling heuristics from optimal dataProceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research10.5555/1105634.1105652(242-253)Online publication date: 17-Oct-2005

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media