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.