Advanced Search

Journal Navigation

Journal Home

Subscriptions

Archive

Contact Us

Table of Contents

CiteULike is a free service for managing and discovering scholarly references - click here to get started.

Sign In to gain access to subscriptions and/or personal tools.
International Journal of High Performance Computing Applications
This Article
Right arrow Full Text (PDF)
Right arrow References
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Add to Saved Citations
Right arrow Download to citation manager
Right arrowRequest Permissions
Right arrow Request Reprints
Right arrow Add to My Marked Citations
Citing Articles
Right arrow Citing Articles via Google Scholar
Right arrow Citing Articles via Scopus
Google Scholar
Right arrow Articles by Budimlic, Z.
Right arrow Articles by Kennedy, K.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Complore   Add to Connotea   Add to Del.icio.us   Add to Digg   Add to Reddit   Add to Technorati   Add to Twitter  
What's this?

Improving Compilation of Java Scientific Applications

Zoran Budimlic

COMPUTER SCIENCE DEPARTMENT, RICE UNIVERSITY, HOUSTON TX 77005, MJOYNER{at}CS.RICE.EDU

Mackale Joyner

COMPUTER SCIENCE DEPARTMENT, RICE UNIVERSITY, HOUSTON TX 77005

Ken Kennedy

COMPUTER SCIENCE DEPARTMENT, RICE UNIVERSITY, HOUSTON TX 77005

Java is a high productivity object-oriented programming language that is rapidly gaining popularity in high-performance application development. One major obstacle to its broad acceptance is its mediocre performance when compared with Fortran or C, especially if the developers use object-oriented features of the language extensively. Previous work in improving the performance of object-oriented, high-performance, scientific Java applications consisted of high level compiler optimization and analysis strategies, such as class specialization and object inlining. This paper extends prior work on object inlining by improving the analysis and developing new code transformation techniques to further improve the performance of high performance applications written in high-productivity, object-oriented style. Two major impediments to effective object inlining are object and array aliasing and binary method invocations. This paper implements object and array alias strategies to address the aliasing problem while utilizing an idea from Telescoping Languages to address the binary method invocation problem. Application runtime gains of up to 20% result from employing these techniques. These improvements should further increase the scientific community's acceptance of the Java programming language in the development of high-performance, high-productivity, scientific applications.

Key Words: object inlining • OO programming • high performance computing • Java

International Journal of High Performance Computing Applications, Vol. 21, No. 3, 251-265 (2007)
DOI: 10.1177/1094342007078437


Add to CiteULike CiteULike   Add to Complore Complore   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us   Add to Digg Digg   Add to Reddit Reddit   Add to Technorati Technorati   Add to Twitter Twitter    What's this?