Adapting Convergent Scheduling Using Machine-Learning
Diego Puppin, Mark Stephenson, Saman Amarasinghe, Martin Martin, Una-May O'Reilly
To appear at
16th Workshop on Languages and Compilers for Parallel Computing (LCPC03), College Station, TX, 2-4 October 2003
Full Text, Printable Abstract.
Abstract
Convergent scheduling is a general framework for instruction
scheduling and cluster assignment for parallel
architectures. A convergent scheduler is composed of
many independent passes, each of which addresses a particular issue of
scheduling on spatial architectures. In addition, each of the passes
share a common interface, which allows the passes to be run multiple
times, and in any order. Because of this,
a convergent scheduler is presented with a vast number
of legal phase orderings. In this paper we use machine-learning
techniques to automatically search for good phase orderings. Our
system found different phase orders for four different VLIW
architectures. The architecture-specific phase orderings yield
speedups ranging from 12% to 95% (over the order presented
in our previous work). Furthermore, cross validation studies that
we perform in this work show that our automatically generated
orderings perform well beyond the benchmarks on which they were
trained.