Efficient Memory Management for SMPs Running Parallel and Sequential Workloads

T. Newhall and P. Boe (USA)


SMP, Memory Management, Working Set


Shared memory multiprocessor systems are becoming common as server, workstation, and desktop systems. These systems are likely to run a mixed sequential and shared memory parallel workload. To efficiently manage memory on such a system, the memory manager must make page replacement decisions when more than one process shares a memory page either explicitly as part of a shared memory parallel application, or implicitly through system support for read-only sharing of dynamically linked library code. Many current systems implement some type of LRU replacement scheme and have coarse-grained solutions for considering sharing degree in the replacement policy. For systems running a predominantly parallel workload, these solutions are unlikely to work well as either shared pages are replaced too frequently or the set of pageable pages be comes very small when shared un-replaceable pages fill physical memory. We propose a memory management algorithm that approximates the Working Set model for shared and private pages. Our algorithm is an extension of Carr and Hennessy’s WSClock algorithm that supports efficiently maintaining working set information for shared pages. Based on preliminary tests, our algorithm that makes replacement decisions based on working set infor mation of processes sharing a page, will result in better memory utilization.

Important Links:

Go Back