E E C S  MIT Electrical Engineering and Computer Science

EECS Event

Taming the Memory Hogs: Explicit Compiler-based Memory Management for Out-of-core Applications

Angela Demke Brown
Carnegie Mellon University

Thursday, April 19, 2001
4:15 PM (refreshments 4:00)
Room NE43-518
EECS Special Seminar

Abstract

Many common areas of scientific computing (for instance, weather modeling, computational fluid dynamics, earthquake simulations, and scientific visualization) are "out-of-core"---their data sets are too large for physical memory. Existing techniques for managing memory in these programs are unsatisfactory: explicit I/O has the potential for good performance, but is difficult to use, while paged virtual memory sacrifices performance for usability. Traditional virtual memory implementations also allow out-of-coreˇprograms to over-consume memory resources, thus severely degrading the performance of other applications.

This talk presents a new, fully-automatic approach that enables out-of-core applications to explicitly manage their memory requirements by I) prefetching pages that will be needed in the near future, and II) informing the operating system about pages that can be replaced. The application programmer is not required to modify source code. Our approach unites the ability of the compiler to analyze data access patterns statically and automatically transform code (by inserting the required memory management hints) with the ability of the operating system to monitor dynamic resource usage. A new run-time layer intercepts the hints inserted by the compiler and uses the dynamic information to decide when action needs to be taken. I will describe our implementation of this system, and present some of our performance results which demonstrate that our technique can dramatically improve the performance of array-based out-of-core programs (over implementations that rely on paged virtual memory). I will also show that the negative impact on an interactive application can be virtually eliminated using this approach.


Related pages: 2000-01 events   |   Current events   |   2000-01 Web archives
This page:
http://www-eecs.mit.edu/AY00-01/events/62.html
Created: Mar 22, 2001  |  Modified: Mar 22, 2001
Site table of contents  |  Site map  |  Search  |  Your comments and inquiries are welcome.