Sciweavers

MICRO
2002
IEEE

Convergent scheduling

13 years 4 months ago
Convergent scheduling
Convergent scheduling is a general framework for instruction scheduling and cluster assignment for parallel, clustered architectures. A convergent scheduler is composed of many independent passes, each of which implements a specific compiler heuristic. Each of the passes shares a common interface, which allows them to be run multiple times, and in any order. Because of this, a convergent scheduler is presented with a vast number of legal pass orderings. In this work, we use machine-learning techniques to automatically search for good orderings. We do so by evolving, through genetic programming, s-expressions that describe a particular pass sequence. Our system has the flexibility to create dynamic sequences where the ordering of the passes is predicated upon characteristics of the program being compiled. In particular, we implemented a few tests on the present state of the code being compiled. We are able to find improved sequences for a range of clustered architectures. These sequence...
Walter Lee, Diego Puppin, Shane Swenson, Saman P.
Added 22 Dec 2010
Updated 22 Dec 2010
Type Journal
Year 2002
Where MICRO
Authors Walter Lee, Diego Puppin, Shane Swenson, Saman P. Amarasinghe
Comments (0)