Abstract
Modern Lisp systems make heavy use of a garbage-collecting style of memory management. Generally, the locality of reference in garbage-collected systems has been very poor. In virtual memory systems, this poor locality of reference generally causes a large amount of wasted time waiting on page faults or uses excessively large amounts of main memory. An adaptive memory management algorithm, described in this article, allows substantial improvement in locality of reference. Performance measurements indicate that page-wait time typically is reduced by a factor of four with constant memory size and disk technology. Alternately, the size of memory typically can be reduced by a factor of two with constant performance.
- 1. Baker, H. G. List processing in real time on a serial computer. Commun. ACM 21, 4 (April 1978), 280-294. Google ScholarDigital Library
- 2. Cohen, J. Garbage collection of linked data structures. Comp. Surv., 13, 3 (Sept. 1981), 341-367. Google ScholarDigital Library
- 3. Lieberman, H., and Hewitt, C. A real-time garbage collector based on the lifetimes of objects. Commun. ACM 26, 6 (June 1983), 419-429. Google ScholarDigital Library
- 4. Moon, D. A. Garbage collection in a large lisp system. In Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming (August 1984). ACM, New York, 235-246. Google ScholarDigital Library
Index Terms
- Improving locality of reference in a garbage-collecting memory management system
Recommendations
Locality and Duplication-Aware Garbage Collection for Flash Memory-Based Virtual Memory Systems
CIT '10: Proceedings of the 2010 10th IEEE International Conference on Computer and Information TechnologyAs embedded systems adopt monolithic kernels, NAND flash memory is used for swap space of virtual memory systems. While flash memory has the advantages of low-power consumption, shock-resistance and non-volatility, it requires garbage collections due to ...
A locality-improving dynamic memory allocator
MSP '05: Proceedings of the 2005 workshop on Memory system performanceIn general-purpose applications, most data is dynamically allocated. The memory manager therefore plays a crucial role in application performance by determining the spatial locality of heap objects. Previous general-purpose allocators have focused on ...
Enabling Hybrid PCM Memory System with Inherent Memory Management
RACS '16: Proceedings of the International Conference on Research in Adaptive and Convergent SystemsReplacing the traditional volatile main memory, e.g., DRAM, with a non-volatile phase change memory (PCM) has become a possible solution to reduce the energy consumption of computing systems. To further reduce the bit cost of PCM, the development trend ...
Comments