{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,13]],"date-time":"2025-01-13T01:10:08Z","timestamp":1736730608640,"version":"3.32.0"},"reference-count":31,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2006,11]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/1196636.1196640","type":"journal-article","created":{"date-parts":[[2007,1,16]],"date-time":"2007-01-16T19:38:29Z","timestamp":1168976309000},"page":"819-863","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["VISTA"],"prefix":"10.1145","volume":"5","author":[{"given":"Prasad","family":"Kulkarni","sequence":"first","affiliation":[{"name":"Florida State University, Tallahassee, FL"}]},{"given":"Wankang","family":"Zhao","sequence":"additional","affiliation":[{"name":"Florida State University, Tallahassee, FL"}]},{"given":"Stephen","family":"Hines","sequence":"additional","affiliation":[{"name":"Florida State University, Tallahassee, FL"}]},{"given":"David","family":"Whalley","sequence":"additional","affiliation":[{"name":"Florida State University, Tallahassee, FL"}]},{"given":"Xin","family":"Yuan","sequence":"additional","affiliation":[{"name":"Florida State University, Tallahassee, FL"}]},{"given":"Robert van","family":"Engelen","sequence":"additional","affiliation":[{"name":"Florida State University, Tallahassee, FL"}]},{"given":"Kyle","family":"Gallivan","sequence":"additional","affiliation":[{"name":"Florida State University, Tallahassee, FL"}]},{"given":"Jason","family":"Hiser","sequence":"additional","affiliation":[{"name":"University of Virginia, Charlottesville, VA"}]},{"given":"Jack","family":"Davidson","sequence":"additional","affiliation":[{"name":"University of Virginia, Charlottesville, VA"}]},{"given":"Baosheng","family":"Cai","sequence":"additional","affiliation":[{"name":"Oracle Corporation, Redwood City, CA"}]},{"given":"Mark","family":"Bailey","sequence":"additional","affiliation":[{"name":"Hamilton College, Clinton, NY"}]},{"given":"Hwashin","family":"Moon","sequence":"additional","affiliation":[{"name":"Korea Advanced Institute of Science &amp; Technology, Daejeon, Korea"}]},{"given":"Kyunghwan","family":"Cho","sequence":"additional","affiliation":[{"name":"Korea Advanced Institute of Science &amp; Technology, Daejeon, Korea"}]},{"given":"Yunheung","family":"Paek","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Korea"}]}],"member":"320","published-online":{"date-parts":[[2006,11]]},"reference":[{"volume-title":"ACM SIGPLAN Conference on Programming Language Design and Implementation. 105--114","author":"Andrews K.","key":"e_1_2_1_1_1","unstructured":"Andrews , K. , Henry , R. , and Yamamoto , W . 1988. Design and implementation of the UW illustrated compiler . In ACM SIGPLAN Conference on Programming Language Design and Implementation. 105--114 . 10.1145\/53990.54001 Andrews, K., Henry, R., and Yamamoto, W. 1988. Design and implementation of the UW illustrated compiler. In ACM SIGPLAN Conference on Programming Language Design and Implementation. 105--114. 10.1145\/53990.54001"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/52.31650"},{"volume-title":"Proceedings of the SIGPLAN'88 conference on Programming Language Design and Implementation. ACM Press","author":"Benitez M. E.","key":"e_1_2_1_3_1","unstructured":"Benitez , M. E. and Davidson , J. W . 1988. A portable global optimizer and linker . In Proceedings of the SIGPLAN'88 conference on Programming Language Design and Implementation. ACM Press , New York. 329--338. 10.1145\/53990.54023 Benitez, M. E. and Davidson, J. W. 1988. A portable global optimizer and linker. In Proceedings of the SIGPLAN'88 conference on Programming Language Design and Implementation. ACM Press, New York. 329--338. 10.1145\/53990.54023"},{"volume-title":"Proceedings of the 1994 International Conference on Programming Languages and Architectures. 105--124","author":"Benitez M. E.","key":"e_1_2_1_4_1","unstructured":"Benitez , M. E. and Davidson , J. W . 1994. The advantages of machine-dependent global optimization . In Proceedings of the 1994 International Conference on Programming Languages and Architectures. 105--124 . Benitez, M. E. and Davidson, J. W. 1994. The advantages of machine-dependent global optimization. In Proceedings of the 1994 International Conference on Programming Languages and Architectures. 105--124."},{"volume-title":"ACM SIGPLAN Conference on Programming Language Design and Implementation. 26--35","author":"Boyd M.","key":"e_1_2_1_5_1","unstructured":"Boyd , M. and Whalley , D . 1993. Isolation and analysis of optimization errors . In ACM SIGPLAN Conference on Programming Language Design and Implementation. 26--35 . 10.1145\/155090.155093 Boyd, M. and Whalley, D. 1993. Isolation and analysis of optimization errors. In ACM SIGPLAN Conference on Programming Language Design and Implementation. 26--35. 10.1145\/155090.155093"},{"key":"e_1_2_1_6_1","first-page":"69","article-title":"Graphical visualization of compiler optimizations","volume":"3","author":"Boyd M.","year":"1995","unstructured":"Boyd , M. and Whalley , D. 1995 . Graphical visualization of compiler optimizations . Programming Languages 3 , 69 -- 94 . Boyd, M. and Whalley, D. 1995. Graphical visualization of compiler optimizations. Programming Languages 3, 69--94.","journal-title":"Programming Languages"},{"volume-title":"COMPCON Spring '90: Thirty-Fifth IEEE Computer Society International Conference. 580--584","author":"Browne J.","key":"e_1_2_1_7_1","unstructured":"Browne , J. , Sridharan , K. , Kiall , J. , Denton , C. , and Eventoff , W . 1990. Parallel structuring of real-time simulation programs . In COMPCON Spring '90: Thirty-Fifth IEEE Computer Society International Conference. 580--584 . Browne, J., Sridharan, K., Kiall, J., Denton, C., and Eventoff, W. 1990. Parallel structuring of real-time simulation programs. In COMPCON Spring '90: Thirty-Fifth IEEE Computer Society International Conference. 580--584."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/268806.268810"},{"volume-title":"Workshop on Feedback-Directed Optimization.","author":"Chow K.","key":"e_1_2_1_9_1","unstructured":"Chow , K. and Wu , Y . 1999. Feedback-directed selection and characterization of compiler optimizations . In Workshop on Feedback-Directed Optimization. Chow, K. and Wu, Y. 1999. Feedback-directed selection and characterization of compiler optimizations. In Workshop on Feedback-Directed Optimization."},{"volume-title":"Proceedings of the ACM SIGPLAN 1999 Workshop on Languages, Compilers, and Tools for Embedded Systems. ACM Press","author":"Cooper K. D.","key":"e_1_2_1_10_1","unstructured":"Cooper , K. D. , Schielke , P. J. , and Subramanian , D . 1999. Optimizing for reduced code space using genetic algorithms . In Proceedings of the ACM SIGPLAN 1999 Workshop on Languages, Compilers, and Tools for Embedded Systems. ACM Press , New York. 1--9. 10.1145\/314403.314414 Cooper, K. D., Schielke, P. J., and Subramanian, D. 1999. Optimizing for reduced code space using genetic algorithms. In Proceedings of the ACM SIGPLAN 1999 Workshop on Languages, Compilers, and Tools for Embedded Systems. ACM Press, New York. 1--9. 10.1145\/314403.314414"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380190108"},{"key":"e_1_2_1_12_1","doi-asserted-by":"crossref","first-page":"9","DOI":"10.1016\/0141-9331(91)90002-W","article-title":"A design environment for addressing architecture and compiler interactions","volume":"15","author":"Davidson J. W.","year":"1991","unstructured":"Davidson , J. W. and Whalley , D. B. 1991 . A design environment for addressing architecture and compiler interactions . Microprocessors and Microsystems 15 , 9 (Nov.), 459--472. Davidson, J. W. and Whalley, D. B. 1991. A design environment for addressing architecture and compiler interactions. Microprocessors and Microsystems 15, 9 (Nov.), 459--472.","journal-title":"Microprocessors and Microsystems"},{"key":"e_1_2_1_13_1","doi-asserted-by":"crossref","unstructured":"Dow C.-R. Chang S.-K. and Soffa M. L. 1992. A visualization system for parallelizing programs. In Supercomputing. 194--203. Dow C.-R. Chang S.-K. and Soffa M. L. 1992. A visualization system for parallelizing programs. In Supercomputing. 194--203.","DOI":"10.1109\/SUPERC.1992.236694"},{"volume-title":"Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation. 341--352","author":"Granlund T.","key":"e_1_2_1_14_1","unstructured":"Granlund , T. and Kenner , R . 1992. Eliminating branches using a superoptimizer and the GNU C compiler . In Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation. 341--352 . 10.1145\/143095.143146 Granlund, T. and Kenner, R. 1992. Eliminating branches using a superoptimizer and the GNU C compiler. In Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation. 341--352. 10.1145\/143095.143146"},{"key":"e_1_2_1_15_1","volume-title":"IEEE 4th Annual Workshop on Workload Characterization. 10","author":"Guthaus M. R.","year":"2001","unstructured":"Guthaus , M. R. , Ringenberg , J. S. , Ernst , D. , Austin , T. M. , Mudge , T. , and Brown , R. B . 2001. MiBench: A free, commercially representative embedded benchmark suite . IEEE 4th Annual Workshop on Workload Characterization. 10 .1109\/WWC. 2001 .15 Guthaus, M. R., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, T., and Brown, R. B. 2001. MiBench: A free, commercially representative embedded benchmark suite. IEEE 4th Annual Workshop on Workload Characterization. 10.1109\/WWC.2001.15"},{"key":"e_1_2_1_16_1","unstructured":"Harvey B. and Tyson G. 1996. 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. Harvey B. and Tyson G. 1996. 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."},{"volume-title":"Combined selection of tile sizes and unroll factors using iterative compilation","author":"Kisuki T.","key":"e_1_2_1_17_1","unstructured":"Kisuki , T. , Knijnenburg , P. M. W. , and O'Boyle , M. F. P. 2000. Combined selection of tile sizes and unroll factors using iterative compilation . In IEEE PACT. 237--248. Kisuki, T., Knijnenburg, P. M. W., and O'Boyle, M. F. P. 2000. Combined selection of tile sizes and unroll factors using iterative compilation. In IEEE PACT. 237--248."},{"key":"e_1_2_1_18_1","volume-title":"Proc. FDDO-3. 31--40","author":"Knijnenburg P.","year":"2000","unstructured":"Knijnenburg , P. , Kisuki , T. , Gallivan , K. , and O'Boyle , M. 2000 . The effect of cache models on iterative compilation for combined tiling and unrolling . In Proc. FDDO-3. 31--40 . Knijnenburg, P., Kisuki, T., Gallivan, K., and O'Boyle, M. 2000. The effect of cache models on iterative compilation for combined tiling and unrolling. In Proc. FDDO-3. 31--40."},{"volume-title":"Proceedings of the 2003 ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems. ACM Press","author":"Kulkarni P.","key":"e_1_2_1_19_1","unstructured":"Kulkarni , P. , Zhao , W. , Moon , H. , Cho , K. , Whalley , D. , Davidson , J. , Bailey , M. , Paek , Y. , and Gallivan , K . 2003. Finding effective optimization phase sequences . In Proceedings of the 2003 ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems. ACM Press , New York. 12--23. 10.1145\/780732.780735 Kulkarni, P., Zhao, W., Moon, H., Cho, K., Whalley, D., Davidson, J., Bailey, M., Paek, Y., and Gallivan, K. 2003. Finding effective optimization phase sequences. In Proceedings of the 2003 ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems. ACM Press, New York. 12--23. 10.1145\/780732.780735"},{"volume-title":"Proceedings of the ACM SIGPLAN '04 Conference on Programming Language Design and Implementation. 10","author":"Kulkarni P.","key":"e_1_2_1_20_1","unstructured":"Kulkarni , P. , Hines , S. , Hiser , J. , Whalley , D. , Davidson , J. , and Jones , D . 2004. Fast searches for effective optimization phase sequences . In Proceedings of the ACM SIGPLAN '04 Conference on Programming Language Design and Implementation. 10 .1145\/996841.996863 Kulkarni, P., Hines, S., Hiser, J., Whalley, D., Davidson, J., and Jones, D. 2004. Fast searches for effective optimization phase sequences. In Proceedings of the ACM SIGPLAN '04 Conference on Programming Language Design and Implementation. 10.1145\/996841.996863"},{"volume-title":"Proceedings of the seventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. ACM Press","author":"Liao S.-W.","key":"e_1_2_1_21_1","unstructured":"Liao , S.-W. , Diwan , A. , Robert P. Bosch , J. , Ghuloum , A. , and Lam , M. S . 1999. SUIF Explorer: An interactive and interprocedural parallelizer . In Proceedings of the seventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. ACM Press , New York. 37--48. 10.1145\/301104.301108 Liao, S.-W., Diwan, A., Robert P. Bosch, J., Ghuloum, A., and Lam, M. S. 1999. SUIF Explorer: An interactive and interprocedural parallelizer. In Proceedings of the seventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. ACM Press, New York. 37--48. 10.1145\/301104.301108"},{"key":"e_1_2_1_22_1","unstructured":"Marwedel P. and Goossens G. 1995. Code Generation for Embedded Processors. Kluwer Academic Publishers Boston MA. Marwedel P. and Goossens G. 1995. Code Generation for Embedded Processors. Kluwer Academic Publishers Boston MA."},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 2nd International Conference on Architectural Support for Programming Languages and Operating Systems. 122--126","author":"Massalin H.","year":"1987","unstructured":"Massalin , H. 1987 . Superoptimizer: A look at the smallest program . In Proceedings of the 2nd International Conference on Architectural Support for Programming Languages and Operating Systems. 122--126 . 10.1145\/36206.36194 Massalin, H. 1987. Superoptimizer: A look at the smallest program. In Proceedings of the 2nd International Conference on Architectural Support for Programming Languages and Operating Systems. 122--126. 10.1145\/36206.36194"},{"key":"e_1_2_1_24_1","volume-title":"Workshop on Profile and Feedback Directed Compilation.","author":"Nisbet A.","year":"1998","unstructured":"Nisbet , A. 1998 . Genetic algorithm optimized parallelization . In Workshop on Profile and Feedback Directed Compilation. Nisbet, A. 1998. Genetic algorithm optimized parallelization. In Workshop on Profile and Feedback Directed Compilation."},{"key":"e_1_2_1_25_1","volume-title":"VISTA: The visual interface for scheduling transformations and analysis. In Languages and Compilers for Parallel Computing. 449--460.","author":"Novack S.","year":"1993","unstructured":"Novack , S. and Nicolau , A . 1993 . VISTA: The visual interface for scheduling transformations and analysis. In Languages and Compilers for Parallel Computing. 449--460. Novack, S. and Nicolau, A. 1993. VISTA: The visual interface for scheduling transformations and analysis. In Languages and Compilers for Parallel Computing. 449--460."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129053389000044"},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of the Fifteenth Annual Workshop on Microprogramming. 125--133","author":"Vegdahl S. R.","year":"1982","unstructured":"Vegdahl , S. R. 1982 . Phase coupling and constant generation in an optimizing microcode compiler . In Proceedings of the Fifteenth Annual Workshop on Microprogramming. 125--133 . Vegdahl, S. R. 1982. Phase coupling and constant generation in an optimizing microcode compiler. In Proceedings of the Fifteenth Annual Workshop on Microprogramming. 125--133."},{"key":"e_1_2_1_28_1","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1016\/S0167-8191(00)00087-9","article-title":"Automated empirical optimization of software and the ATLAS project","volume":"27","author":"Whaley R.","year":"2001","unstructured":"Whaley , R. , Petitet , A. , and Dongarra , J. 2001 . Automated empirical optimization of software and the ATLAS project . In Parallel Computing. 1-2 , vol. 27. 3 -- 25 . Whaley, R., Petitet, A., and Dongarra, J. 2001. Automated empirical optimization of software and the ATLAS project. In Parallel Computing. 1-2, vol. 27. 3--25.","journal-title":"Parallel Computing. 1-2"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/267959.267960"},{"volume-title":"Proceedings of the Joint Conference on Languages, Compilers and Tools for Embedded Systems. ACM Press","author":"Zhao W.","key":"e_1_2_1_30_1","unstructured":"Zhao , W. , Cai , B. , Whalley , D. , Bailey , M. W. , van Engelen , R. , Yuan , X. , Hiser , J. D. , Davidson , J. W. , Gallivan , K. , and Jones , D. L . 2002. VISTA: a system for interactive code improvement . In Proceedings of the Joint Conference on Languages, Compilers and Tools for Embedded Systems. ACM Press , New York. 155--164. 10.1145\/513829.513857 Zhao, W., Cai, B., Whalley, D., Bailey, M. W., van Engelen, R., Yuan, X., Hiser, J. D., Davidson, J. W., Gallivan, K., and Jones, D. L. 2002. VISTA: a system for interactive code improvement. In Proceedings of the Joint Conference on Languages, Compilers and Tools for Embedded Systems. ACM Press, New York. 155--164. 10.1145\/513829.513857"},{"volume-title":"10th IEEE Real-Time and Embedded Technology and Applications Symposium.","author":"Zhao W.","key":"e_1_2_1_31_1","unstructured":"Zhao , W. , Kulkarni , P. , Whalley , D. , Healy , C. , Mueller , F. , and Uh , G . -R. 2004. Tuning the wcet of embedded applications . In 10th IEEE Real-Time and Embedded Technology and Applications Symposium. Zhao, W., Kulkarni, P., Whalley, D., Healy, C., Mueller, F., and Uh, G.-R. 2004. Tuning the wcet of embedded applications. In 10th IEEE Real-Time and Embedded Technology and Applications Symposium."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1196636.1196640","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,13]],"date-time":"2025-01-13T00:41:03Z","timestamp":1736728863000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1196636.1196640"}},"subtitle":["VPO interactive system for tuning applications"],"short-title":[],"issued":{"date-parts":[[2006,11]]},"references-count":31,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2006,11]]}},"alternative-id":["10.1145\/1196636.1196640"],"URL":"https:\/\/doi.org\/10.1145\/1196636.1196640","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2006,11]]},"assertion":[{"value":"2006-11-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}