Scalable cross-module optimization

Author:

Ayers Andrew1,de Jong Stuart1,Peyton John1,Schooler Richard1

Affiliation:

1. Hewlett-Packard Massachusetts Language Laboratory, 300 Apollo Drive, Chelmsford, MA

Abstract

Large applications are typically partitioned into separately compiled modules. Large performance gains in these applications are available by optimizing across module boundaries. One barrier to applying crossmodule optimization (CMO) to large applications is the potentially enormous amount of time and space consumed by the optimization process.We describe a framework for scalable CMO that provides large gains in performance on applications that contain millions of lines of code. Two major techniques are described. First, careful management of in-memory data structures results in sub-linear memory occupancy when compared to the number of lines of code being optimized. Second, profile data is used to focus optimization effort on the performance-critical portions of applications. We also present practical issues that arise in deploying this framework in a production environment. These issues include debuggability and compatibility with existing development tools, such as make . Our framework is deployed in Hewlett-Packard's (HP) UNIX compiler products and speeds up shipped independent software vendors' applications by as much as 71%.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference19 articles.

1. A. Ayers R. Gottlieb and R. Schooler. Aggressive inlining. A CM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '97) 134-145. 10.1145/258915.258928 A. Ayers R. Gottlieb and R. Schooler. Aggressive inlining. A CM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '97) 134-145. 10.1145/258915.258928

2. M. Burke and L. Torczon. Interprocedural optimization' eliminating unnecessary recompilation. A CM Transactions on Programming Languages and Systems (TOPLAS) 15(3) July 1993 367-399. 10.1145/169683.169678 M. Burke and L. Torczon. Interprocedural optimization' eliminating unnecessary recompilation. A CM Transactions on Programming Languages and Systems (TOPLAS) 15(3) July 1993 367-399. 10.1145/169683.169678

3. The ParaScope parallel programming environment

4. D. Dunn and W. Hsu. instruction scheduling for the HP PA-8000. Micro 29. D. Dunn and W. Hsu. instruction scheduling for the HP PA-8000. Micro 29.

5. Make — a program for maintaining computer programs

Cited by 7 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Automatic pool allocation for disjoint data structures;ACM SIGPLAN Notices;2003-02-15

2. A sparse algorithm for predicated global value numbering;ACM SIGPLAN Notices;2002-05-17

3. alto: a link‐time optimizer for the Compaq Alpha;Software: Practice and Experience;2001-01

4. Overcoming the challenges to feedback-directed optimization (Keynote Talk);ACM SIGPLAN Notices;2000-07

5. Inline Analysis: Beyond Selection Heuristics;International Symposium on Code Generation and Optimization (CGO'06)

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3