Feature selection and policy optimization for distributed instruction placement using reinforcement learning
2008 International Conference on Parallel Architectures and Compilation Techniques (PACT) (2008)
Toronto, ON, Canada
Oct. 25, 2008 to Oct. 29, 2008
DOI Bookmark: http://doi.ieeecomputersociety.org/
Katherine E. Coons , University of Texas at Austin, USA
Behnam Robatmili , University of Texas at Austin, USA
Matthew E. Taylor , University of Texas at Austin, USA
Betrand A. Maher , University of Texas at Austin, USA
Doug Burger , University of Texas at Austin, USA
Kathryn S. McKinley , University of Texas at Austin, USA
Communication overheads are one of the fundamental challenges in a multiprocessor system. As the number of processors on a chip increases, communication overheads and the distribution of computation and data become increasingly important performance factors. Explicit Dataflow Graph Execution (EDGE) processors, in which instructions communicate with one another directly on a distributed substrate, give the compiler control over communication overheads at a fine granularity. Prior work shows that compilers can effectively reduce fine-grained communication overheads in EDGE architectures using a spatial instruction placement algorithm with a heuristic-based cost function. While this algorithm is effective, the cost function must be painstakingly tuned. Heuristics tuned to perform well across a variety of applications leave users with little ability to tune performance-critical applications, yet we find that the best placement heuristics vary significantly with the application. First, we suggest a systematic feature selection method that reduces the feature set size based on the extent to which features affect performance. To automatically discover placement heuristics, we then use these features as input to a reinforcement learning technique, called Neuro-Evolution of Augmenting Topologies (NEAT), that uses a genetic algorithm to evolve neural networks. We show that NEAT outperforms simulated annealing, the most commonly used optimization technique for instruction placement. We use NEAT to learn general heuristics that are as effective as hand-tuned heuristics, but we find that improving over highly hand-tuned general heuristics is difficult. We then suggest a hierarchical approach to machine learning that classifies segments of code with similar characteristics and learns heuristics for these classes. This approach performs closer to the specialized heuristics. Together, these results suggest that learning compiler heuristics may benefit from both improved feature selection and classification.
Organisms, Registers, Neural networks, Benchmark testing, Learning (artificial intelligence), Program processors, Machine learning algorithms
K. E. Coons, B. Robatmili, M. E. Taylor, B. A. Maher, D. Burger and K. S. McKinley, "Feature selection and policy optimization for distributed instruction placement using reinforcement learning," 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT), Toronto, ON, Canada, 2008, pp. 32-42.