[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/378795.378831acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article

Using annotations to reduce dynamic optimization time

Published: 01 May 2001 Publication History

Abstract

Dynamic compilation and optimization are widely used in heterogenous computing environments, in which an intermediate form of the code is compiled to native code during execution. An important trade off exists between the amount of time spent dynamically optimizing the program and the running time of the program. The time to perform dynamic optimizations can cause significant delays during execution and also prohibit performance gains that result from more complex optimization.
In this research, we present an annotation framework that substantially reduces compilation overhead of Java programs. Annotations consist of analysis information collected off-line and are incorporated into Java programs. The annotations are then used by dynamic compilers to guide optimization. The annotations we present reduce compilation overhead incurred at all stages of compilation and optimization as well as enable complex optimizations to be performed dynamically. On average, our annotation optimizations reduce optimized compilation overhead by 78% and enable speedups of 7% on average for the programs examined.

References

[1]
A. Adl-Tabatabai, M. Cierniak, G. Lueh, V. Parikh, and J. Stichnoth. Fast, Effective Code Generation in a Just-In-Time Java Compiler. In Proceedings of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation, October 2000.
[2]
B. Alpern, C. R. Attanasio, J. J. Barton, M. G. Burke, P.Cheng, J.-D. Choi, A. Cocchi, S. J. Fink, D. Grove, M. Hind, S. F. Hummel, D. Lieber, V. Litvinov, M. F. Mergen, T. Ngo, J. R. Russell, V. Sarkar, M. J. Serrano, J. C. Shepherd, S. E. Smith, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeno virtual machine. IBM Systems Journal, 39(1), 2000.
[3]
M. Arnold, S.J. Fink, D. Grove, M. Hind, and P. Sweeney. Adaptive optimization in the jalaepeno jvm. In ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), October 2000.
[4]
A. Azevedo, A. Nicolau, and J. Hummel. Java Annotation-Aware Just-In-Time Compilation System. In ACM Java Grande Conference, June 1999.
[5]
M. Burke, J. Choi, S. Fink, D. Grove, M. Hind, V. Sarkar, M. Serrano, V. Shreedhar, H. Srinivasan, and J. Whaley. The Jalapeno dynamically optimizing compiler for Java. In ACM Java Grande Conference, June 1999.
[6]
B. Calder, D. Grunwald, and A. Srivastava. The Predictability of Branches in Libraries. In 28th International Symposium on Microarchitecture, November 1995.
[7]
M. Cierniak, G. Lueh, and J. Stichnoth. Practicing JUDO: Java Under Dynamic Optimizations. In Proceedings of the ACM SIGPLAN '00 Conference on Programming Language Design and Implementation, October 2000.
[8]
W. Doherty and R. Kelisky. Managing VM/CMS systems for user effectiveness. IBM Systems Journal, pages 143-163, 1979.
[9]
J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, 1996.
[10]
B. Grant, M. Mock, M. Philipose, C. Chambers, and S. Eggers. Dyc: An expressive annotation-directed dynamic compiler for c. Technical Report Tech Report UW-CSE-97-03-03, University ofWashington, 2000.
[11]
The Java Hotspot performance engine architecture.
[12]
J. Hummel, A. Azevedo, D. Kolson, and A. Nicolau. Annotating the Java Bytecodes in Support of Optimization. In Journal Concurrency:Practice and Experience, Vol. 9(11), November 1997.
[13]
J. Jones and S. Kamin. Annotating Java Bytecodes in Support of Optimization. In To appear in the Journal of Concurrency: Practice and Experience, 2000.
[14]
Kaffe - An opensource Java virtual machine.
[15]
C. Krintz, B. Calder, and U. Holzle. Reducing transfer delay usingJava class file splitting and prefetching. In ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), November 1999.
[16]
C. Krintz, B. Calder, H. Lee, and B. Zorn. Overlapping execution with transfer using non-strict execution for mobile programs. In Eigth International Conference on Architectural Support for Programming Languages and Operating Systems, October 1998.
[17]
C. Krintz, D. Grove, V. Sarkar, and B. Calder. Reducing the Overhead of Dynamic Compilation. Software-Practice and Experience, 31(8):717-738, 2001.
[18]
H. Lee and B. Zorn. BIT: A tool for instrumenting Java bytecodes. In Proceedings of the 1997 USENIX Symposium on Internet Technologies and Systems (USITS97), pages 73-82, Monterey, CA, December 1997. USENIX Association.
[19]
Open Runtime Platform (orp) from Intel Corporation. http://intel.com/research/mrl/orp.
[20]
M. Plezbert and R. Cytron. Does just in time = better late than never? In Proceedings of the SIGPLAN'97 Conference on Programming Language Design and Implementation, January 1997.
[21]
P. Pominville, F. Qian, R. Vallee-Rai, L. Hendren, and C. Verbrugge. A Framework for Optimizing Java Using Attributes. In Sable Technical Report No. 2000-2, 2000.
[22]
T. Proebsting, G. Townsend, P. Bridges, J. Hartman, T. Newsham, and S. Watterson. Toba: Java for applications a way ahead of time (wat) compiler. In Proceedings of the Third Conference on Object-Oriented Technologies and Systems, 1997.
[23]
E. Sirer, A. Gregory, and B. Bershad. A practical approach for improving startup latency in Java applications. In Workshop on Compiler Support for Systems Software, May 1999.
[24]
A. Srivastava. From communication on reducing startup delay in Microsoft Applications.
[25]
T. Suganuma, T. Ogasawara, M. Takeuchi, T. Yasue, M. Kawahito, K. Ishizaki, H. Komatsu, and T. Nakatani. Overview of the IBM Java Just-in-Time Compiler. IBM Systems Journal, 39(1), 2000.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '01: Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
June 2001
331 pages
ISBN:1581134142
DOI:10.1145/378795
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 2001

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI01
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Crystal GazerProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/3322205.33110803:1(1-27)Online publication date: 26-Mar-2019
  • (2017)SistaProceedings of the 14th International Conference on Managed Languages and Runtimes10.1145/3132190.3132201(1-11)Online publication date: 27-Sep-2017
  • (2015)Server-side type profiling for optimizing client-side JavaScript enginesACM SIGPLAN Notices10.1145/2936313.281671951:2(140-153)Online publication date: 21-Oct-2015
  • (2015)Server-side type profiling for optimizing client-side JavaScript enginesProceedings of the 11th Symposium on Dynamic Languages10.1145/2816707.2816719(140-153)Online publication date: 21-Oct-2015
  • (2013)Exploring single and multilevel JIT compilation policy for modern machines 1ACM Transactions on Architecture and Code Optimization10.1145/2541228.254122910:4(1-29)Online publication date: 1-Dec-2013
  • (2012)SwiftACM SIGPLAN Notices10.1145/2365864.215103547:7(63-74)Online publication date: 3-Mar-2012
  • (2012)SwiftProceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments10.1145/2151024.2151035(63-74)Online publication date: 3-Mar-2012
  • (2012)Virtual Machine and Bytecode for Optimization on Heterogeneous SystemsProceedings of the 2012 Ninth International Conference on Information Technology - New Generations10.1109/ITNG.2012.116(528-533)Online publication date: 16-Apr-2012
  • (2012)Runtime optimization utilizing program structure2012 18th International Conference on Advanced Computing and Communications (ADCOM)10.1109/ADCOM.2012.6563583(46-53)Online publication date: Dec-2012
  • (2011)JIT compilation policy for modern machinesACM SIGPLAN Notices10.1145/2076021.204812646:10(773-788)Online publication date: 22-Oct-2011
  • Show More Cited By

View Options

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