Cavazos, John
Learning to Schedule Straight-Line Code
Moss, J. Eliot B., Utgoff, Paul E., Cavazos, John, Precup, Doina, Stefanovic, Darko, Brodley, Carla E., Scheeff, David
Program execution speed on modem computers is sensitive, by a factor of two or more, to the order in which instructions are presented to the processor. Torealize potential execution efficiency, an optimizing compiler must employ a heuristic algorithm for instruction scheduling. Such algorithms are painstakingly handcrafted, which is expensive and time-consuming. We show how to cast the instruction scheduling problem as a learning task, obtaining theheuristic 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 forquite good performance at this task for a real modem processor, and that any of several supervised learning methods perform nearly optimally withrespect to the features used.
Learning to Schedule Straight-Line Code
Moss, J. Eliot B., Utgoff, Paul E., Cavazos, John, Precup, Doina, Stefanovic, Darko, Brodley, Carla E., Scheeff, David
Program execution speed on modem 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 handcrafted, 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 modem processor, and that any of several supervised learning methods perform nearly optimally with respect to the features used.