Title
VISTA: VPO interactive system for tuning applications
Abstract
Software designers face many challenges when developing applications for embedded systems. One major challenge is meeting the conflicting constraints of speed, code size, and power consumption. Embedded application developers often resort to hand-coded assembly language to meet these constraints since traditional optimizing compiler technology is usually of little help in addressing this challenge. The results are software systems that are not portable, less robust, and more costly to develop and maintain. Another limitation is that compilers traditionally apply the optimizations to a program in a fixed order. However, it has long been known that a single ordering of optimization phases will not produce the best code for every application. In fact, the smallest unit of compilation in most compilers is typically a function and the programmer has no control over the code improvement process other than setting flags to enable or disable certain optimization phases. 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. The VISTA system opens the code improvement process and gives the application programmer, when necessary, the ability to finely control it. VISTA also provides support for finding effective sequences of optimization phases. This support includes the ability to interactively get static and dynamic performance information, which can be used by the developer to steer the code improvement process. This performance information is also internally used by VISTA for automatically selecting the best optimization sequence from 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 include a number of experimental results that evaluate the effectiveness of using a genetic algorithm in VISTA to find effective optimization phase sequences.
Year
DOI
Venue
2006
10.1145/1196636.1196640
ACM Trans. Embedded Comput. Syst.
Keywords
Field
DocType
genetic algorithms,genetic algorithm,optimization phase,vpo interactive system,tuning application,code size,optimization sequence,interactive compilation,best code,vista system,code improvement process,disable certain optimization phase,effective optimization phase sequence,user-directed code improvement,new code improvement paradigm,phase ordering,embedded system,application development
Programmer,Computer science,Software system,Compiler,Assembly language,Real-time computing,Optimizing compiler,Software,Genetic algorithm,Power consumption
Journal
Volume
Issue
Citations 
5
4
4
PageRank 
References 
Authors
0.46
23
14
Name
Order
Citations
PageRank
Prasad Kulkarni19510.09
Wankang Zhao2674.36
Stephen Hines31105.78
David Whalley440.46
Xin Yuan5108992.27
Robert A. van Engelen657364.68
Kyle Gallivan7889154.22
Jason Hiser858533.57
Jack W. Davidson91535177.98
Baosheng Cai10241.67
Mark W. Bailey11417.75
Hwashin Moon1261.57
Kyunghwan Cho1360.91
Yunheung Paek1493576.05