The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
Communications of the ACM
New methods for dynamic storage allocation (Fast Fits)
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Theory, Volume 1, Queueing Systems
Theory, Volume 1, Queueing Systems
A High-Performance Memory Allocator for Object-Oriented Systems
IEEE Transactions on Computers
Fast Allocation and Deallocation with an Improved Buddy System
Proceedings of the 19th Conference on Foundations of Software Technology and Theoretical Computer Science
Multiversioning and Logging in the Grasshopper Kernel Persistent Store
IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
Online memory compression for embedded systems
ACM Transactions on Embedded Computing Systems (TECS)
Hi-index | 0.00 |
The watermark-based lazy buddy system for dynamic memory management uses lazy coalescing rules controlled by watermark parameters to achieve low operational costs. The correctness of the watermark-based lazy buddy system is shown by defining a space of legal states called the lazy space and proving that the watermark-based lazy coalescing rules always keep the memory state within that space. In this paper we describe a different lazy coalescing policy, called the DELAY-2 algorithm, that focuses directly on keeping the memory state within the lazy space. The resulting implementation is simpler, and experimental data shows it to be up to 12% faster than the watermark-based buddy system and about 33% faster than the standard buddy system. Inexpensive operations make the DELAY-2 algorithm attractive as a memory manager for an operating system.The watermark-based lazy buddy policy offers fine control over the coalescing policy of the buddy system. However, applications such as the UNIX System kernel memory manager do not need such fine control. For these applications, the DELAY-2 buddy system provides an efficient memory manager with low operational costs and low request blocking probability. In the DELAY-2 buddy system, the worst-case time for a free operation is bounded by two coalescing delays per class, and when all blocks are returned to the system, the system memory is coalesced back to its original state. This ensures that the memory space can be completely shared.