skip to main content
10.1145/780732.780735acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

Finding effective optimization phase sequences

Published: 11 June 2003 Publication History

Abstract

It has long been known that a single ordering of optimization phases will not produce the best code for every application. This phase ordering problem can be more severe when generating code for embedded systems due to the need to meet conflicting constraints on time, code size, and power consumption. Given that many embedded application developers are willing to spend time tuning an application, we believe a viable approach is to allow the developer to steer the process of optimizing a function. In this paper, we describe support in VISTA, an interactive compilation system, for finding effective sequences of optimization phases. VISTA provides the user with dynamic and static performance information that can be used during an interactive compilation session to gauge the progress of improving the code. In addition, VISTA provides support for automatically using performance information to select the best optimization sequence among several attempted. One such feature is the use of a genetic algorithm to search for the most efficient sequence based on specified fitness criteria. We have included a number of experimental results that evaluate the effectiveness of using a genetic algorithm in VISTA to find effective optimization phase sequences.

References

[1]
B. Appelbe, K. Smith, and C. McDowell, "Start/Pat: A Parallel-Programming Toolkit," IEEE Software 66(4) pp. 29--40 (July 1988).
[2]
M. E. Benitez and J. W. Davidson, "A Portable Global Optimizer and Linker," Proceedings of the SIGPLAN '88 Symposium on Programming Language Design and Implementation, pp. 329--338 (June 1988).
[3]
M. E. Benitez and J. W. Davidson, "The Advantages of Machine-Dependent Global Optimization," Proceedings of the Conference on Programming Languages and Systems Architectures, pp. 105--124 (March 1994).
[4]
J. Browne, K. Sridharan, J. Kiall, C. Denton, and W. Eventoff, "Parallel Structuring of Real-Time Simulation Programs," COMPCON Spring '90: Thirty-Fifth IEEE Computer Society International Conference. Intellectual Leverage. Digest of Papers., pp. 580--584 (February 1990).
[5]
K. Chow and Y. Wu, "Feedback-Directed Selection and Characterization of Compiler Optimizations," Workshop on Feedback-Directed Optimization, (November 1999).
[6]
K. Cooper, P. Schielke, and D. Subramanian, "Optimizing for Reduced Code Space Using Genetic Algorithms," ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems, pp. 1--9 (May 1999).
[7]
J. W. Davidson and D. B. Whalley, "Ease: An Environment for Architecture Study and Experimentation," Proceedings SIGMETRICS '90 Conference on Measurement and Modeling of Computer Systems, pp. 259--260 (May 1990).
[8]
J. W. Davidson and D. B. Whalley, "A Design Environment for Addressing Architecture and Compiler Interactions," Microprocessors and Microsystems 1155(9) pp. 459--472 (November 1991).
[9]
Chyi-Ren Dow, Shi-Kuo Chang, and Mary Lou Soffa, "A Visualization System for Parallelizing Programs," Proceedings of Supercomputing'92, pp. 194--203 IEEE Computer Society Press, (November 1992).
[10]
T. Granlund and R. Kenner, "Eliminating Branches using a Superoptimizer and the GNU C Compiler," Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation, pp. 341--352 (June 1992).
[11]
M. Guthaus, J. Ringenberg, D. Ernst, T. Austin, T. Mudge, and R. Brown, "MiBench: A Free, Commercially Representative Embedded Benchmark Suite," IEEE Workshop on Workload Characterization, (December 2001).
[12]
B. Harvey and G. Tyson, "Graphical User Interface for Compiler Optimizations with Simple-SUIF," Technical Report UCR-CS-96-5, Department of Computer Science, University of California Riverside, Riverside, CA (1996).
[13]
J. Holland, Adaptation in Natural and Artificial Systems, 1989.
[14]
T. Kisuki, P. Knijnenburg, and M. O'Boyle, "Combined Selection of Tile Sizes and Unroll Factors Using Iterative Compilation," Proceedings of the 2000 International Conference on Parallel Architectures and Compilation Techniques, pp. 237--248 (October 2000).
[15]
S. Liao, A. Diwan, R. Bosch, A. Ghuloum, and M. Lam, "Suif Explorer: an Interactive and Interprocedural Parallelizer," Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 37--48 (1999).
[16]
H. Massalin, "Superoptimizer - A Look at the Smallest Program," Proceedings of the 2nd International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 122--126 (October, 1987).
[17]
A. Nisbet, "Genetic Algorithm Optimized Parallelization," Workshop on Profile and Feedback Directed Compilation, (1998).
[18]
S. Novack and A. Nicolau, "VISTA: The Visual Interface for Scheduling Transformations and Analysis," Languages and Compilers for Parallel Computing, pp. 449--460 (1993).
[19]
D. Polychronopoulos, M. Girkar, M. Haghighat, C. Lee, B. Leung, and D. Schouten, "Parafrase-2: An Environment for Parallelizing, Partitioning, Synchronizing, and Scheduling Programs on Multiprocessors," Proceedings of 1989 International Conference on Parallel Processing, pp. 39--48 Pennsylvania State University Press, (August 1989).
[20]
S. Segars, K. Clarke, and L. Goudge, "Embedded Control Problems, Thumb, and the ARM7TDMI," IEEE Micro 1155(5) pp. 22--30 (October 1995).
[21]
S. Vegdahl, "Phase Coupling and Constant Generation in an Optimizing Microcode Compiler," International Symposium on Microarchitecture, pp. 125--133 (1982).
[22]
R. Whaley, A. Petitet, and J. Dongarra, "Automated Empirical Optimization of Software and the ATLAS Project," Parallel Computing 2277(1) pp. 3--35 (2001).
[23]
D. Whitfield and M. L. Soffa, "An Approach for Exploring Code-Improving Transformations," ACM Transactions on Programming Languages and Systems 1199(6) pp. 1053--1084 (November 1997).
[24]
W. Zhao, B. Cai, D. Whalley, M. Bailey, R. van Engelen, X. Yuan, J. Hiser, J. Davidson, K. Gallivan, and D. Jones, "VISTA: A System for Interactive Code Improvement," ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems, pp. 155--164 (June 2002).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
LCTES '03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
June 2003
304 pages
ISBN:1581136471
DOI:10.1145/780732
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 38, Issue 7
    Special Issue: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool support for embedded systems (San Diego, CA).
    July 2003
    293 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/780731
    Issue’s Table of Contents
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: 11 June 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. genetic algorithms
  2. interactive compilation
  3. phase ordering

Qualifiers

  • Article

Conference

LCTES03
Sponsor:

Acceptance Rates

LCTES '03 Paper Acceptance Rate 29 of 128 submissions, 23%;
Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

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