Expected-Outcome: A General Model of Static Evaluation
IEEE Transactions on Pattern Analysis and Machine Intelligence
Learning internal representations by error propagation
Parallel distributed processing: explorations in the microstructure of cognition, vol. 1
Alpha architecture reference manual
Alpha architecture reference manual
ATOM: a system for building customized program analysis tools
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Decision Tree Induction Based on Efficient Tree Restructuring
Machine Learning
Learning to schedule straight-line code
NIPS '97 Proceedings of the 1997 conference on Advances in neural information processing systems 10
Scheduling straight-line code using reinforcement learning and rollouts
Proceedings of the 1998 conference on Advances in neural information processing systems II
Introduction to Reinforcement Learning
Introduction to Reinforcement Learning
Rollout Algorithms for Combinatorial Optimization
Journal of Heuristics
Learning to Predict by the Methods of Temporal Differences
Machine Learning
Constructive Function Approximation TITLE2:
Constructive Function Approximation TITLE2:
Relative Value Function Approximation TITLE2:
Relative Value Function Approximation TITLE2:
A reinforcement learning approach to job-shop scheduling
IJCAI'95 Proceedings of the 14th international joint conference on Artificial intelligence - Volume 2
Inducing heuristics to decide whether to schedule
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Learning basic block scheduling heuristics from optimal data
CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
Approximate Policy Optimization and Adaptive Control in Regression Models
Computational Economics
Evolutionary Function Approximation for Reinforcement Learning
The Journal of Machine Learning Research
Instruction scheduling using evolutionary programming
ACC'08 Proceedings of the WSEAS International Conference on Applied Computing Conference
Online Phase-Adaptive Data Layout Selection
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Learning heuristics for basic block instruction scheduling
Journal of Heuristics
Blind Optimization for Exploiting Hardware Features
CC '09 Proceedings of the 18th International Conference on Compiler Construction: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Journal of Artificial Intelligence Research
Generating compiler optimizations from proofs
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 0.00 |
The execution order of a block of computer instructions on a pipelined machine can make a difference in running time by a factor of two or more. Compilers use heuristic schedulers appropriate to each specific architecture implementation to achieve the best possible program speed. However, these heuristic schedulers are time-consuming and expensive to build. We present empirical results using both rollouts and reinforcement learning to construct heuristics for scheduling basic blocks. In simulation, the rollout scheduler outperformed a commercial scheduler on all benchmarks tested, and the reinforcement learning scheduler outperformed the commercial scheduler on several benchmarks and performed well on the others. The combined reinforcement learning and rollout approach was also very successful. We present results of running the schedules on Compaq Alpha machines and show that the results from the simulator correspond well to the actual run-time results.