Affiliation:
1. Department of Computer Science and Engineering, University of Washington, Seattle, WA, USA
Abstract
Garbage collectors used in embedded systems such as Personal Java and Inferno or in operating systems such as SPIN must operate with limited resources and minimize their impact on application performance. Consequently, they must maintain short real-time pauses, low overhead, and a small memory footprint. Most garbage collectors, including the Treadmill algorithm, are inadequate because they sacrifice space for time. We have implemented a new Treadmill variant that provides good memory utilization by using real-time page-level management techniques that reduce fragmentation. A page-wise collection is used to locate pages of free memory, which are then dynamically reassigned between free lists as needed. Virtual memory is used to dynamically remap free pages into continuous ranges, and objects are allocated from under-utilized pages when needed. Finally, the use of header compaction and arbitrary free-list sizes reduces internal fragmentation. Our experiments demonstrate that we have substantially improved memory utilization without compromising latency or overhead, and that the new collector performs very well for SPIN's workloads and regular Modula-3 programs.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference23 articles.
1. Java http://java.sun.com/ 1996. Java http://java.sun.com/ 1996.
2. Inferno http://inferno.lucent.com/ 1996. Inferno http://inferno.lucent.com/ 1996.
3. PersonalJava http://java.sun.com/ 1997. PersonalJava http://java.sun.com/ 1997.
4. Extensibility safety and performance in the SPIN operating system
5. The treadmill
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献