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 Jin, G.
Right arrow Articles by Mellor-Crummey, J.
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 Performance by Reducing the Memory Footprint of Scientific Applications

Guohua Jin

John Mellor-Crummey

DEPARTMENT OF COMPUTER SCIENCE RICE UNIVERSITY, HOUSTON, TEXAS, USA, (JOHNMC{at}CS.RICE.EDU)

Over the last two decades, processor speeds have improved much faster than memory speeds. As a result, memory access delay is a major performance bottleneck in today's systems. Compilers often fail to choreograph data and computation automatically to avoid memory access delay; we have developed an annotation-driven source-to-source transformation tool for this purpose. This tool uses a set of compiler transformations that improve temporal reuse in scientific applications (1) by reducing the size of temporary arrays and (2) by overlaying storage for multiple temporary arrays that are not live at the same time. We also describe two supporting transformations, statement motion and loop alignment, that improve the effectiveness of storage reduction. Our experiments with a numerical kernel and two weather codes show that our storage reduction optimizations amplify the benefits of loop transformations and double performance achievable with loop transformations alone.

Key Words: Memory footprint • array contraction • storage overlay • program transformations

International Journal of High Performance Computing Applications, Vol. 19, No. 4, 433-451 (2005)
DOI: 10.1177/1094342005056138


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?