{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:36:26Z","timestamp":1750307786690,"version":"3.41.0"},"reference-count":56,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2008,5,1]],"date-time":"2008-05-01T00:00:00Z","timestamp":1209600000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["EIA-0103582CCF-0429535CNS-0650016"],"award-info":[{"award-number":["EIA-0103582CCF-0429535CNS-0650016"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000143","name":"Division of Computing and Communication Foundations","doi-asserted-by":"publisher","award":["EIA-0103582CCF-0429535CNS-0650016"],"award-info":[{"award-number":["EIA-0103582CCF-0429535CNS-0650016"]}],"id":[{"id":"10.13039\/100000143","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["EIA-0103582CCF-0429535CNS-0650016"],"award-info":[{"award-number":["EIA-0103582CCF-0429535CNS-0650016"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2008,5]]},"abstract":"<jats:p>\n            Compile-time optimizations generally improve program performance. Nevertheless, degradations caused by individual compiler optimization techniques are to be expected. Feedback-directed\n            <jats:italic>optimization orchestration<\/jats:italic>\n            systems generate optimized code versions under a series of optimization combinations, evaluate their performance, and search for the best version. One challenge to such systems is to tune program performance quickly in an exponential search space. Another challenge is to achieve high program performance, considering that optimizations interact. Aiming at these two goals, this article presents an automated performance tuning system,\n            <jats:italic>PEAK<\/jats:italic>\n            , which searches for the best compiler optimization combinations for the important code sections in a program. The major contributions made in this work are as follows: (1) An algorithm called\n            <jats:italic>Combined Elimination (CE)<\/jats:italic>\n            is developed to explore the optimization space quickly and effectively; (2) Three fast and accurate rating methods are designed to evaluate the performance of an optimized code section based on a partial execution of the program; (3) An algorithm is developed to identify important code sections as candidates for performance tuning by trading off tuning speed and tuned program performance; and (4) A set of compiler tools are implemented to automate optimization orchestration. Orchestrating optimization options in SUN Forte compilers at the whole-program level, our CE algorithm improves performance by 10.8% over the SPEC CPU2000 FP baseline setting, compared to 5.6% improved by manual tuning. Orchestrating GCC O3 optimizations, CE improves performance by 12% over O3, the highest optimization level. Applying the rating methods, PEAK reduces tuning time from 2.19 hours to 5.85 minutes on average, while achieving equal or better program performance.\n          <\/jats:p>","DOI":"10.1145\/1353445.1353451","type":"journal-article","created":{"date-parts":[[2008,5,20]],"date-time":"2008-05-20T12:41:26Z","timestamp":1211287286000},"page":"1-43","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":23,"title":["PEAK\u2014a fast and effective performance tuning system via compiler optimization orchestration"],"prefix":"10.1145","volume":"30","author":[{"given":"Zhelong","family":"Pan","sequence":"first","affiliation":[{"name":"Purdue University, West Lafayette, IN"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rudolf","family":"Eigenmann","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, IN"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2008,5,21]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277740"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2006.37"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/353171.353175"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/582419.582432"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/231379.231409"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349303"},{"volume-title":"Proceedings of the International Symposium on Computer Generation and Optimization (CGO '03)","author":"Bruening D.","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167492"},{"volume-title":"Proceedings of the 2nd Workshop on Feedback Directed Optimizations. Israel.","author":"Chow K.","key":"e_1_2_1_9_1"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349306"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/201059.201061"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/237721.237767"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065910.1065921"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1015729001611"},{"volume-title":"Proceedings of the 16th International Parallel and Distributed Processing Symposium (IPDPS '02)","author":"Dang F.","key":"e_1_2_1_15_1"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/258915.258923"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/378993.379241"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/264107.264126"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/249069.231411"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/195473.195567"},{"key":"e_1_2_1_21_1","unstructured":"GNU. 2005. GCC online documentation. http:\/\/gcc.gnu.org\/onlinedocs\/.  GNU. 2005. GCC online documentation. http:\/\/gcc.gnu.org\/onlinedocs\/."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/800230.806987"},{"volume-title":"Proceedings of the 4th Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4).","author":"Granston E. D.","key":"e_1_2_1_23_1"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301683"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1088149.1088171"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-1478-6"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512566"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4684-2001-2_9"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/778559.778562"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.5555\/517554.825767"},{"volume-title":"Proceedings of the International Symposium on High Performance Computing (ISHPC'99)","author":"Kisuki T.","key":"e_1_2_1_31_1"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/996841.996863"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2006.15"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134010"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/231379.231407"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/289121.289144"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.931894"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/300979.300991"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/360128.360158"},{"volume-title":"Proceedings of the Workshop on Languages and Compiling for Parallel Computing (LCPC).","author":"Nandy S.","key":"e_1_2_1_40_1"},{"volume-title":"Proceedings of the International Conference on Parallel Architectures and Compilation Techniques.","author":"Nystrom E. M.","key":"e_1_2_1_41_1"},{"volume-title":"Tech. Rep. TR-ECE-04-01, School of Electrical and Computer Engineering","year":"2004","author":"Pan Z.","key":"e_1_2_1_42_1"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2004.47"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2006.38"},{"volume-title":"Proceedings of the IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS'04)","author":"Pinkers R. P. J.","key":"e_1_2_1_45_1"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.752782"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/514191.514229"},{"volume-title":"SPEC CPU2000 Results. http:\/\/www.spec.org\/cpu2000\/results.","year":"2000","author":"SPEC.","key":"e_1_2_1_48_1"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781141"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781142"},{"key":"e_1_2_1_51_1","unstructured":"Sun. 2000. Forte C 6 \/Sun WorkShop 6 Compilers C User's Guide. http:\/\/docs.sun.com\/app\/docs\/doc\/806-3567.  Sun. 2000. Forte C 6 \/Sun WorkShop 6 Compilers C User's Guide. http:\/\/docs.sun.com\/app\/docs\/doc\/806-3567."},{"volume-title":"Proceedings of the International Symposium on Code Generation and Optimization. 204--215","author":"Triantafyllis S.","key":"e_1_2_1_52_1"},{"volume-title":"ADAPT: Automated de-coupled adaptive program transformation. In Proceedings of the International Conference on Parallel Processing","year":"2000","author":"Voss M.","key":"e_1_2_1_53_1"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/379539.379583"},{"volume-title":"Proceedings of the SuperComputing 1998: High Performance Networking and Computing.","author":"Whaley R. C.","key":"e_1_2_1_55_1"},{"volume-title":"Proceedings of the 29th Annual ACM\/IEEE International Symposium on Microarchitecture. ACM","author":"Wolf M. E.","key":"e_1_2_1_56_1"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1353445.1353451","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1353445.1353451","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:56:13Z","timestamp":1750254973000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1353445.1353451"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,5]]},"references-count":56,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2008,5]]}},"alternative-id":["10.1145\/1353445.1353451"],"URL":"https:\/\/doi.org\/10.1145\/1353445.1353451","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"type":"print","value":"0164-0925"},{"type":"electronic","value":"1558-4593"}],"subject":[],"published":{"date-parts":[[2008,5]]},"assertion":[{"value":"2006-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2007-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-05-21","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}