Although traditional virtual memory management policies perform well for most applications, several important applications, including database management systems, scientific applications, and multimedia systems, have poor paging performance. They access memory in unique ways that are not handled well by the default virtual memory manager. New approaches to the management of memory should be developed, that support application-specific tuning of the virtual memory management system.

Some existing systems address aspects of this problem, and allow application-specific memory management. They don't, however, provide adequate programmer support for the development of such management, and don't provide sufficient tool support for judging the memory access efficiency of applications.

To help software developers build application-specific virtual memory managers, the user-level virtual memory subsystem should include an easily extensible pager. Also, interactive graphical performance monitors should be provided to help programmers judge the effectiveness of their virtual memory management policy.

This paper describes current application-specific virtual memory systems and describes two tools that help in building application-specific virtual memory managers: (1) an extensible user-level pager, built on a virtual memory management system that supports application-specific tuning, and (2) a graphical performance analysis tool, called VMProf. These tools are demonstrated by using them to tune a scientific application.




Download Full History