A Framework for Memory-Management Experimentation
Stephen P. Carl · 2004
Phobos is a framework for experimenting with memory management systems. This framework provides two types of operation – profiling program allocation behavior and simulating the actions of memory management systems. Profiling is used to generate data about a program’s allocation behavior including total memory allocation and memory object lifetimes. Simulation is used to measure the performance of different memory management strategies on particular program runs. In both cases, Phobos takes its input from a trace file generated during execution of a targeted application which lists the memory events of interest. This paper describes the design of the Phobos system. In particular, it shows how the system takes advantage of the code structuring facilities provided by PLT Scheme, highlighting the use of signed units, mixin classes, and other features of this system.