Memory management
 Introduction NetOS 
This page gathers together a number of papers and projects within the Systems Research Group that touch on aspects of computer memory management.

  • Extensible virtual machines. Our prototype extensible virtual machine provides untrusted applications with control over object placement within a garbage-collected heap -- for example to co-locate objects that exhibit similar usage patterns. This control is exercised through application-supplied policy definitions written in a general-purpose programming language. We hope to develop this within the Xenoservers project to investigate management and deployment of policy definitions.
  • Self-paging in the Nemesis operating system. The Nemesis OS provides applications with low-level control over the resources that they use, including both physical memory and virtual address space. This allows the system to support Quality of Service (QoS) guarantees by combining application-level paging techniques with isolation, exposure and responsibility in a manner we call self-paging. This enables rich virtual memory usage alongside (or even within) continuous media applications.
  •  
  • Memory management for practical lock-free systems. Existing lock-free algorithms either depend on a `stop-the-world' garbage collector, thus losing many of the benefits of lock-free programming, or use potentially expensive reference counting or versioning mechanisms for tracking memory use. We have developed an efficient lock-free memory manager which allows concurrent garbage reclamation and incurs no overhead in mutator threads except at the beginning and end of an object's lifetime.
  • Managing elastic structures. Applications that are elastic in their memory requirements require feedback over the amount of memory required by the data structures that they are manipulating. We are investigating whether it is reasonable for this to be provided as an adjunct to garbage collection rather than being re-computed (perhaps erroneously) by the application.
  •  Publications NetOS 
    A Practical Multi-Word Compare-and-Swap Operation
    Timothy L Harris, Keir Fraser and Ian Pratt
    In preparation -- contact Tim Harris for information

    Extensible Virtual Machines
    Timothy L Harris
    PhD dissertation, Computer Laboratory Technical Report 525
    [gzipped postscript]

    A Pragmatic Implementation of Non-Blocking Linked Lists
    Timothy L Harris
    Proceedings of the 2001 IEEE Symposium on Distributed Computing
    [gzipped postscript] also published as part of Volume 2180 of Lecture Notes in Computer Science

    Dynamic Adaptive Pre-Tenuring
    Timothy L Harris (During an internship at Sun Labs Java Technology Research Group)
    Proceedings of the 2000 ACM International Symposium on Memory Management
    [postscript]

    Self-Paging in the Nemesis Operating System
    Steven Hand
    Usenix Third Symposium on Operating Systems Design and Implementation, February 1999
    [online][gzipped postscript 150.84 KB]

     People NetOS 

     
    Keir Fraser
    Steve Hand
    Tim Harris
    Ian Pratt

      NetOS 
     Tim.Harris@cl.cam.ac.uk
    $Id: mm.html,v 1.5 2002/03/25 11:11:27 tlh20 Exp $