Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3002125.3002129acmconferencesArticle/Chapter ViewAbstractPublication PagessepsConference Proceedingsconference-collections
research-article

Reducing parallelizing compilation time by removing redundant analysis

Published: 21 October 2016 Publication History

Abstract

Parallelizing compilers equipped with powerful compiler optimizations are essential tools to fully exploit performance from today's computer systems. These optimizations are supported by both highly sophisticated program analysis techniques and aggressive program restructuring techniques. However, the compilation time for such powerful compilers becomes larger and larger for real commercial application due to these strong program analysis techniques. In this paper, we propose a compilation time reduction technique for parallelizing compilers. The basic idea of the proposed technique is based on an observation that parallelizing compilers applies multiple program analysis passes and restructuring passes to a source program but all program analysis passes do not have to be applied to the whole source program. Thus, there is an opportunity for compilation time reduction by removing redundant program analysis. We describe the removing redundant program analysis techniques considering the inter-procedural propagation of annalysis update information in this paper. We implement the proposed technique into OSCAR automatically multigrain parallelizing compiler. We then evaluate the proposed technique by using three proprietary large scale programs. The proposed technique can remove 37.7% of program analysis time on average for basic analysis includes def-use analysis and dependence calculation, and 51.7% for pointer analysis, respectively.

References

[1]
S. Mehta and P-C. Yew. Improving Compiler Scalability: Optimizing Large Programs at Small Price. Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’15), pp. 143–152, 2015.
[2]
N. P. Johnson, T. Oh, A. Zaks and D. I. August. Fast Condensation of the Program Dependence Graph. Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’13), pp. 39–50, 2013.
[3]
U. K. Banerjee. Dependence Analysis for Supercomputing. Kluwer Academic Publishers, Norwell, MA, USA, 1988.
[4]
K. Ishizaka, T. Miyamoto, J. Shirako, M. Obata, K. Kimura and H. Kasahara. Performance of OSCAR Multigrain Parallelizing Compiler on SMP Servers. Language and Compilers for High Performance Computing, 17th International Workshop, LCPC 2004, west Lafayette, USA, pp 319–331, 2005.
[5]
M. Obata, J. Shirako, H. Kaminaga, K. Ishizaka and H. Kasahara. Hierarchical Parallelism Control for Multigrain Parallel Processing. Language and Compilers for High Performance Computing, 15th International Workshop, LCPC 2002, college Park, USA, pp 31–44, 2005.
[6]
Y. Peak, J. Hoeflinger and D. Padua. Efficient and Precise Array Access Analysis. ACM Transactions on Programming Languages and Systems (TOPLAS), Vol. 24, Issue 1, pp. 65–109, January 2002.
[7]
H. Kasahara, H. Honda, A. Mogi, A. Ogura, K. Fujiwara and S. Narita. A multi-grain parallizing compilation scheme on OSCAR (optimally scheduled advanced multiprocessor). Proc. 4th Workshop on Language and Compilers for Parallel Computing (LCPC91), pp. 283–297, 1992.
[8]
E. M. Nystrom, H.-S. Kim and W. W. Hwu. Importance of heap specialization in pointer analysis. Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering (PASTE 2004), pp. 43–48, 2004.
[9]
M. Emami, R. Ghiya and L. J. Hendren. Context-sensitive interprocedural points-to analysis in the presence of function pointers. Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation (PLDI ’94), pp. 242–256, June 1994.
[10]
M. Hind, M. Burke, P. Carini and J.-D. Choi. Interprocedural Pointer Alias Analysis. ACM Transactions on Programming Languages and Systems (TOPLAS) Volume 21 Issue 4, pp. 848–894, July 1999
[11]
J. Shirako, K. Nagasawa, K. Ishizaka, M. Obata, H. Kasahara. Selective Inline Expansion for Improvement of Multi Grain Parallelism. The IASTED International Conference on PARALLEL AND DISTRIBUTED COMPUTING AND NETWORKS, 2004.
[12]
D. Umeda, T. Suzuki, H. Mikami, K. Kimura and H. Kasahara. Multigrain Parallelization for Model-based Design Applications Using the OSCAR Compiler. Language and Compilers for Parallel Computing (LCPC2015), pp. 125–139, 2016
[13]
Y. Yu, H. Dayani-Fard, J. Mylopoulos and P. Andritsos. Reducing build time through precompilations for evolving large software. 21st IEEE International Conference on Software Maintenance (ICSM’05), pp. 59–68, September 2005.
[14]
Y. Yu, H. Dayani-Fard, J. Mylopoulos and P. Andritsos. Reducing build time through precompilations for evolving large software. 21st IEEE International Conference on Software Maintenance (ICSM’05), pp. 59–68, September 2005.

Cited By

View all
  • (2022)On the Compilation Performance of Current SYCL ImplementationsProceedings of the 10th International Workshop on OpenCL10.1145/3529538.3529548(1-12)Online publication date: 10-May-2022
  • (2019)Fast and Highly Optimizing Separate Compilation for Automatic Parallelization2019 International Conference on High Performance Computing & Simulation (HPCS)10.1109/HPCS48598.2019.9188148(478-485)Online publication date: Jul-2019

Index Terms

  1. Reducing parallelizing compilation time by removing redundant analysis

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SEPS 2016: Proceedings of the 3rd International Workshop on Software Engineering for Parallel Systems
    October 2016
    34 pages
    ISBN:9781450346412
    DOI:10.1145/3002125
    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

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 21 October 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. parallelizing compiler
    2. program analysis
    3. program optimizations

    Qualifiers

    • Research-article

    Conference

    SPLASH '16
    Sponsor:

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)On the Compilation Performance of Current SYCL ImplementationsProceedings of the 10th International Workshop on OpenCL10.1145/3529538.3529548(1-12)Online publication date: 10-May-2022
    • (2019)Fast and Highly Optimizing Separate Compilation for Automatic Parallelization2019 International Conference on High Performance Computing & Simulation (HPCS)10.1109/HPCS48598.2019.9188148(478-485)Online publication date: Jul-2019

    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