Patent ID: 8166253

Claim:
A memory management system for a computer system that has a host hardware platform that includes host memory, which comprises a host memory address space; at least one host processor; a plurality of resident contexts, each context comprising a body of computer-executable code stored in at least one computer-readable storage medium accessible by the computer system and each context having an address space divided into separately allocable portions that may be mapped to corresponding portions of the host memory; and a memory management sub-system, the memory management sub-system comprising code executable by the processor, the memory management sub-system performing operations of: for each of a plurality of selected contexts, selecting a sample of the separately allocable portions of the address space of the context; determining, for each of at least one of the separately allocable portions of each of the samples, the corresponding portion of the host memory to which the sampled separately allocable portion is mapped, and a count corresponding to a number of separately allocable portions of any context that are commonly mapped to the corresponding portion of the host memory; for each context, computing a metric that is a function of its counts; and allocating host memory among the contexts at least in part based on their respective metrics.