Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1454115.1454122acmconferencesArticle/Chapter ViewAbstractPublication PagespactConference Proceedingsconference-collections
research-article

Feature selection and policy optimization for distributed instruction placement using reinforcement learning

Published: 25 October 2008 Publication History

Abstract

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.

References

[1]
F. Agakov, E. Bonilla, J. Cavazos, B. Franke, G. Fursin, M. F. P. O'Boyle, J. Thomson, M. Toussaint, and C. K. I. Williams. Using machine learning to focus iterative optimization. In International Symposium on Code Generation and Optimization, pages 295--305, Washington, DC, USA, 2006.
[2]
J. Cavazos, C. Dubach, F. Agakov, E. Bonilla, M. F. P. O'Boyle, G. Fursin, and O. Temam. Automatic performance model construction for the fast software exploration of new hardware designs. In ACM International Conference on Compilers, Architecture and Synthesis for Embedded Systems, pages 24--34, Seoul, Korea, 2006.
[3]
J. Cavazos and E. Moss. Inducing heuristics to decide whether to schedule. In ACM Conference on Programming Language Design and Implementation, pages 183--194, Washington DC, USA, 2004.
[4]
J. Cavazos and E. Moss. Hybrid optimization: Which optimization to use? In International Conference on Compiler Construction, pages 124--138, Vienna, Austria, 2006.
[5]
J. Cavazos and M. O'Boyle. Automatic tuning of inlining heuristics. In ACM/IEEE Conference on Supercomputing, page 14, Washington, DC, USA, 2005.
[6]
K. E. Coons, X. Chen, D. Burger, K. S. McKinley, and S. K. Kushwaha. A spatial path scheduling algorithm for EDGE architectures. In ACM Conference on Architectural Support for Programming Languages and Operating Systems, pages 129--140, San Jose, California, USA, 2006.
[7]
K. E. Coons, X. Chen, D. Burger, K. S. McKinley, and S. K. Kushwaha. A spatial path scheduling algorithm for EDGE architectures. In ACM Conference on Architectural Support for Programming Languages and Operating Systems, pages 129--140, San Jose, California, USA, 2006.
[8]
D. Dasgupta and D. McGregor. Designing application-specific neural networks using the structured genetic algorithm. In International Conference on Combinations of Genetic Algorithms and Neural Networks, pages 87--96, 1992.
[9]
I. S. Dhillon, Y. Guan, and B. Kulis. Weighted graph cuts without eigenvectors: A multilevel approach. IEEE Trans. Pattern Anal. Mach. Intell., 29(11):1944--1957, 2007.
[10]
C. Dubach, J. Cavazos, B. Franke, M. O'Boyle, G. Fursin, and O. Temam. Fast compiler optimisation evaluation using code-feature based performance prediction. In ACM International Conference on Computing Frontiers, pages 131--142, May 2007.
[11]
T. Kisuki, P. Knijnenburg, M. O'Boyle, F. Bodin, and H. Wijshoff. A feasibility study in iterative compilation. In Second International Symposium on High Performance Computing, pages 121--132, Kyoto, Japan, 1999.
[12]
T. Kisuki, P. Knijnenburg, M. O'Boyle, and H. Wijshoff. Iterative compilation in program optimization. In Compilers for Parallel Computers 2000, pages 35--44, Aussois, France, 2000.
[13]
H. Leather, E. Yom-Tov, M. Namolaru, and A. Freund. Automatic feature generation for setting compilers heuristics. In 2nd Workshop on Statistical and Machine Learning Approaches to Architectures and Compilation (to appear), 2008.
[14]
B. A. Maher, A. Smith, D. Burger, and K. S. McKinley. Merging head and tail duplication for convergent hyperblock formation. In IEEE/ACM International Symposium on Microarchitecture, pages 65--76, Orlando, Florida, USA, 2006.
[15]
S. A. Mahlke, D. C. Lin, W. Y. Chen, R. E. Hank, and R. A. Bringmann. Effective compiler support for predicated execution using the hyperblock. In International Symposium on Microarchitecture, pages 45--54, Portland, Oregon, United States, 1992.
[16]
M. Mercaldi, S. Swanson, A. Petersen, A. Putnam, A. Schwerin, M. Oskin, and S. J. Eggers. Instruction scheduling for a tiled dataflow architecture. In ACM International Conference on Architectural Support for Programming Languages and Operating Systems, pages 141--150, San Jose, California, USA, 2006.
[17]
M. Mercaldi, S. Swanson, A. Peterson, A. Putnam, A. Schwerin, M. Oskin, and S. Eggers. Modeling instruction placement on a spatial architecture. In Symposium on Parallel Architectures and Applications, pages 158--169, Cambridge, Massachusetts, USA, 2006.
[18]
A. Monsifrot, F. Bodin, and R. Quiniou. A machine learning approach to automatic production of compiler heuristics. In Proceedings of the 10th International Conference on Artificial Intelligence: Methodology, Systems, and Applications, pages 41--50. Springer-Verlag, 2002.
[19]
E. Moss, P. Utgoff, J. Cavazos, D. Precup, D. Stefanovic, C. Brodley, and D. Scheeff. Learning to schedule straight-line code. In Proceedings of the Neural Information Processing Symposium (NIPS), pages 929--935, 1997.
[20]
P. G. Paulin and J. P. Knight. Force-directed scheduling in automatic data path synthesis. In ACM/IEEE Conference on Design Automation, pages 195--202, Miami Beach, Florida, United States, 1987.
[21]
K. Sankaralingam, R. Nagarajan, R. McDonald, R. Desikan, S. Drolia, M. S. Govindan, P. Gratz, D. Gulati, H. Hanson, C. Kim, H. Liu, N. Ranganathan, S. Sethumadhavan, S. Sharif, P. Shivakumar, S. W. Keckler, and D. Burger. Distributed microarchitectural protocols in the TRIPS prototype processor. In IEEE/ACM International Symposium on Microarchitecture, pages 480--491, Orlando, USA, 2006.
[22]
A. Smith, J. Burrill, J. Gibson, B. Maher, N. Nethercote, B. Yoder, D. Burger, and K. S. McKinley. Compiling for EDGE architectures. In International Symposium on Code Generation and Optimization, Manhattan, NY, Mar. 2006.
[23]
K. O. Stanley and R. Miikkulainen. Evolving neural networks through augmenting topologies. Evolutionary Computation, 10(2):99--127, 2002.
[24]
M. Stephenson and S. Amarasinghe. Predicting unroll factors using supervised classification. In International Symposium on Code Generation and Optimization, pages 123--134, San Jose, California, 2005.
[25]
M. Stephenson, S. Amarasinghe, M. Martin, and U.-M. O'Reilly. Meta optimization: Improving compiler heuristics with machine learning. In ACM Conference on Programming Language Design and Implementation, pages 77--90, San Diego, California, USA, 2003.
[26]
M. Taylor, S. Whiteson, and P. Stone. Comparing evolutionary and temporal difference methods in a reinforcement learning domain. In Proceedings of the Genetic and Evolutionary Computation Conference, pages 1321--28, July 2006.
[27]
R. Tibshirani. Regression shrinkage and selection via the lasso. Journal of the Royal Statistical Society. Series B (Methodological), 58(1):267--288, 1996.
[28]
T. Waterman. Adaptive compilation and inlining. PhD thesis, Rice University, 2006.
[29]
S. Whiteson, P. Stone, K. O. Stanley, R. Miikkulainen, and N. Kohl. Automatic feature selection in neuroevolution. In Genetic and Evolutionary Computation Conference, pages 1225--1232, June 2005.
[30]
I. H. Witten and E. Frank. Data mining: Practical machine learning tools and techniques, 2nd edition. June 2005.
[31]
X. Yao. Evolving artificial neural networks. Proceedings of the IEEE, 87(9):1423--1447, 1999.

Cited By

View all

Index Terms

  1. Feature selection and policy optimization for distributed instruction placement using reinforcement learning

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PACT '08: Proceedings of the 17th international conference on Parallel architectures and compilation techniques
    October 2008
    328 pages
    ISBN:9781605582825
    DOI:10.1145/1454115
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 October 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. compiler heuristics
    2. genetic algorithms
    3. instruction scheduling
    4. machine learning
    5. neural networks

    Qualifiers

    • Research-article

    Conference

    PACT '08
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 121 of 471 submissions, 26%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)15
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 12 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)RLNN: A force perception algorithm using reinforcement learningMultimedia Tools and Applications10.1007/s11042-023-17874-683:21(60103-60115)Online publication date: 3-Jan-2024
    • (2022)A Survey of Machine Learning for Computer Architecture and SystemsACM Computing Surveys10.1145/349452355:3(1-39)Online publication date: 3-Feb-2022
    • (2021)Automatic Generation of IoT Device Platforms With AutoLinkIEEE Internet of Things Journal10.1109/JIOT.2020.30331308:7(5893-5903)Online publication date: 1-Apr-2021
    • (2018)A Survey on Compiler Autotuning using Machine LearningACM Computing Surveys10.1145/319797851:5(1-42)Online publication date: 18-Sep-2018
    • (2018)Automated GPU Grid Geometry Selection for OPENMP Kernels2018 30th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)10.1109/CAHPC.2018.8645848(442-449)Online publication date: Sep-2018
    • (2013)Smart, adaptive mapping of parallelism in the presence of external workloadProceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)10.1109/CGO.2013.6495010(1-10)Online publication date: 23-Feb-2013
    • (2011)Smart data structuresProceedings of the 8th ACM international conference on Autonomic computing10.1145/1998582.1998587(11-20)Online publication date: 14-Jun-2011
    • (2011)BrainyProceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1993498.1993509(86-97)Online publication date: 4-Jun-2011
    • (2011)BrainyACM SIGPLAN Notices10.1145/1993316.199350946:6(86-97)Online publication date: 4-Jun-2011
    • (2010)Improving reinforcement learning algorithms by the use of data mining techniques for feature and action selection2010 IEEE International Conference on Systems, Man and Cybernetics10.1109/ICSMC.2010.5642280(1863-1870)Online publication date: Oct-2010
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media