Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/513829.513857acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

VISTA: a system for interactive code improvement

Published: 19 June 2002 Publication History

Abstract

Software designers face many challenges when developing applications for embedded systems. A major challenge is meeting the conflicting constraints of speed, code density, and power consumption. Traditional optimizing compiler technology is usually of little help in addressing this challenge. To meet speed, power, and size constraints, application developers typically resort to hand-coded assembly language. The results are software systems that are not portable, less robust, and more costly to develop and maintain. This paper describes a new code improvement paradigm implemented in a system called vista that can help achieve the cost/performance trade-offs that embedded applications demand. Unlike traditional compilation systems where the smallest unit of compilation is typically a function and the programmer has no control over the code improvement process other than what types of code improvements to perform, the vista system opens the code improvement process and gives the application programmer, when necessary, the ability to finely control it. In particular, vista allows the application developer to (1) direct the order and scope in which the code improvement phases are applied, (2) manually specify code transformations, (3) undo previously applied transformations, and (4) view the low-level program representation graphically. vista can be used by embedded systems developers to produce applications, by compiler writers to prototype and debug new low-level code transformations, and by instructors to illustrate code transformations (e.g., in a compilers course).

References

[1]
K. Andrews, R. Henry, and W. Yamamoto. Design and imple¿mentation of the UW illustrated compiler. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 105--114, June 1988]]
[2]
B. Appelbe, K. Smith, and C. McDowell. Start/pat: a parallel-programming toolkit. IEEE Software, 6:29--40, 1988]]
[3]
M. E. Benitez. Retargetable Register Allocation. PhD thesis, University of Virginia, 1994]]
[4]
M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In Proceedings of the SIGPLAN '88 Symposium on Programming Language Design and Implementation, pages 329--338, June 1988]]
[5]
M. E. Benitez and J. W. Davidson. The advantages of machine-dependent global optimization. In Proceedings of the 1994 International Conference on Programming Languages and Architectures, pages 105--124, March 1994]]
[6]
M. Boyd and D. Whalley. Isolation and analysis of optimiza¿tion errors. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 26--35, June 1993]]
[7]
M. Boyd and D. Whalley. Graphical visualization of compiler optimizations. Journal of Programming Languages, 3:69--94, 1995]]
[8]
J. Browne, K. Sridharan, J. Kiall, C. Denton, and W. Eventoff. Parallel structuring of real-time simulation programs. In COMPCON Spring '90: Thirty-Fifth IEEE Computer Society International Conference, pages 580--584, 1990]]
[9]
Cliff Click and Keith D. Cooper. Combining analyses, com¿bining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, 1995]]
[10]
K. Cooper, P. Schielke, and D. Subramanian. Optimizing for reduced code space using genetic algorithms. In Proceedings of the ACM SIGPLAN Workshop on Language, Compilers, and Tools for Embedded Systems, pages 1--9, May 1999]]
[11]
Keith D. Cooper, Devika Subramanian, and Linda Torczon. Adaptive optimizing compilers for the 21st century. Journal of Supercomputing, 2002 (to appear)]]
[12]
J. W. Davidson and D. B. Whalley. A design environment for addressing architecture and compiler interactions. Micropro¿cessors and Microsystems, pages 459--472, November 1991]]
[13]
Guido Costa Souza de Araujo. Code Generation Algorithms for Digital Signal Processors. PhD thesis, Princeton Univer'sity, June 1997]]
[14]
C. Dow, S. Chang, and M. Soffa. A visualization system for parallelizing programs. In Proceedings of Supercomputing, pages 194--203, 1992]]
[15]
Christine Eisenbeis and Sylvain Lelait. LoRA: a package for loop optimal register allocation. In 3rd International Work'shop on Code Generation for Embedded Processors, Witten, Germany, March 1998]]
[16]
Daniel Kästner. Ilp-based approximations for retargetable code optimization. In Proceedings of the 5th International Conference on Optimization: Techniques and Applications, 2001]]
[17]
T. Kisuki, P. Knijnenburg, and M. O'Boyle. Combined selec¿tion of tile sizes and unroll factors using iterative compilation. In Proceedings of the 2000 International Conference on Par¿allel Architectures and Compilation Techniques, pages 237--248, October 2000]]
[18]
Jeffrey L. Korn and Andrew W. Appel. Traversal-based visu¿alization of data structures. In IEEE Symposium on Informa¿tion Visualization, pages 11--18, October 1998]]
[19]
Haris Lekatsas. Code compression for embedded systems. PhD thesis, Princeton University, 2000]]
[20]
Rainer Leupers. Retargetable Code Generation for Digital Signal Processors. Kluwer Academic Publishers, Boston, 1997]]
[21]
Shih-Wei Liao, Amer Diwan, Jr. Robert P. Bosch, Anwar Ghu¿loum, and Monica S. Lam. Suif explorer: an interactive and interprocedural parallelizer. In Proceedings of the ACM SIG¿PLAN Symposium on Principles and Practice of Parallel Pro¿gramming, pages 37--48, 1999]]
[22]
Peter Marwedel and Gert Goossens. Code Generation for Embedded Processors. Kluwer Academic Publishers, Boston, 1995]]
[23]
W. G. Morris. CCG: A prototype coagulating code generator. In Proceedings of the ACM SIGPLAN Conference on Pro¿gramming Language Design and Implementation, pages 45--58, June 1991]]
[24]
D. Polychronopoulos, M. Girkar, M. Haghighat, C. Lee, B. Leung, and D. Schouten. Parafrase-2: an environment for parallelizing, partitioning, synchronizing, and scheduling pro¿grams on multiprocessors. In Proceedings of the 1989 Interna¿tional Conference on Parallel Processing, pages 39--48, 1989]]
[25]
Ashok Sudarsanam. Code Optimization Libraries for Retar¿getable Compilation for Embedded Digital Signal Processors. PhD thesis, Princeton University, November 1998]]
[26]
R. van Engelen, D. Whalley, and X. Yuan. Automatic valida¿tion of code-improving transformations. In Proceedings of the ACM SIGPLAN Workshop on Language, Compilers, and Tools for Embedded Systems, pages 206--210, June 2000]]

Cited By

View all
  • (2021)CTFS: A Configurable Tuning Framework on SHENWEI SystemProceedings of the 5th International Conference on High Performance Compilation, Computing and Communications10.1145/3471274.3471282(44-49)Online publication date: 18-Jun-2021
  • (2016)Tuning compilations landscape2016 2nd International Conference on Contemporary Computing and Informatics (IC3I)10.1109/IC3I.2016.7918029(575-583)Online publication date: Dec-2016
  • (2015)Improved batch elimination: A fast algorithm to identify and remove harmful compiler optimizations2015 Latin American Computing Conference (CLEI)10.1109/CLEI.2015.7360010(1-8)Online publication date: Oct-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
LCTES/SCOPES '02: Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
June 2002
244 pages
ISBN:1581135270
DOI:10.1145/513829
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: 19 June 2002

Permissions

Request permissions for this article.

Check for updates

Author Tag

  1. user-directed code improvement

Qualifiers

  • Article

Conference

LCTES/SCOPES02
Sponsor:

Acceptance Rates

LCTES/SCOPES '02 Paper Acceptance Rate 25 of 73 submissions, 34%;
Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2021)CTFS: A Configurable Tuning Framework on SHENWEI SystemProceedings of the 5th International Conference on High Performance Compilation, Computing and Communications10.1145/3471274.3471282(44-49)Online publication date: 18-Jun-2021
  • (2016)Tuning compilations landscape2016 2nd International Conference on Contemporary Computing and Informatics (IC3I)10.1109/IC3I.2016.7918029(575-583)Online publication date: Dec-2016
  • (2015)Improved batch elimination: A fast algorithm to identify and remove harmful compiler optimizations2015 Latin American Computing Conference (CLEI)10.1109/CLEI.2015.7360010(1-8)Online publication date: Oct-2015
  • (2012)Selective methodology based on user criteria to explore the relationship between performance and computation analysis2012 International Conference on High Performance Computing & Simulation (HPCS)10.1109/HPCSim.2012.6266989(660-666)Online publication date: Jul-2012
  • (2012)A Practical Method for Quickly Improving Performance and Reducing Answer Time through the Selection of Hot Loops based on the Input DataProceedings of the 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems10.1109/HPCC.2012.298(1150-1157)Online publication date: 25-Jun-2012
  • (2009)Portable compiler optimisation across embedded programs and microarchitectures using machine learningProceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture10.1145/1669112.1669124(78-88)Online publication date: 12-Dec-2009
  • (2009)Program transformations using temporal logic side conditionsACM Transactions on Programming Languages and Systems10.1145/1516507.151650931:4(1-48)Online publication date: 26-May-2009
  • (2008)The design and architecture of MAQAOAdvisorProceedings of the 15th international conference on High performance computing10.5555/1791889.1791899(42-56)Online publication date: 17-Dec-2008
  • (2008)The Design and Architecture of MAQAOAdvisor: A Live Tuning GuideHigh Performance Computing - HiPC 200810.1007/978-3-540-89894-8_8(42-56)Online publication date: 2008
  • (2007)ViDoC- visual design of optimizing compilersProgram analysis and compilation, theory and practice10.5555/1805793.1805802(145-159)Online publication date: 1-Jan-2007
  • 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