Incremental incrementally compacting garbage collection
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Disk file allocation based on the buddy system
ACM Transactions on Computer Systems (TOCS)
Efficient implementation of the first-fit strategy for dynamic storage allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A lazy buddy system bounded by two coalescing delays
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
The memory fragmentation problem: solved?
Proceedings of the 1st international symposium on Memory management
Memory allocation for long-running server applications
Proceedings of the 1st international symposium on Memory management
Segregating heap objects by reference behavior and lifetime
Proceedings of the eighth international conference on Architectural support for programming languages and operating systems
Automatic Compiler-Inserted Prefetching for Pointer-Based Applications
IEEE Transactions on Computers - Special issue on cache memory and related problems
Reducing sweep time for a nearly empty heap
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Memory Behavior of the WWW, or The WWW Considered as a Persistent Store
POS-9 Revised Papers from the 9th International Workshop on Persistent Object Systems
Scalability of dynamic storage allocation algorithms
FRONTIERS '96 Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computation
Intelligent memory manager: reducing cache pollution due to memory management functions
Journal of Systems Architecture: the EUROMICRO Journal
A tunable hybrid memory allocator
Journal of Systems and Software
Practical software reuse for IBM System z I/O subsystems
IBM Journal of Research and Development
The slab allocator: an object-caching kernel memory allocator
USTC'94 Proceedings of the USENIX Summer 1994 Technical Conference on USENIX Summer 1994 Technical Conference - Volume 1
Implementation of a constant-time dynamic storage allocator
Software—Practice & Experience
A constant-time dynamic storage allocator for real-time systems
Real-Time Systems
Compartmental memory management in a modern web browser
Proceedings of the international symposium on Memory management
A study of best-fit memory allocators
Computer Languages, Systems and Structures
Hi-index | 0.00 |
The classical methods for implementing dynamic storage allocation can be summarized thus First Fit and Best Fit The available blocks of storage are linked together in address order. Storage is allocated from the first available block of sufficient length, or from a block with the minimum excess length. Storage can be allocated or released in multiples of two words. In the long run, if numerous pieces of storage of more-or-less random lengths are allocated and released at more-or-less random intervals, the storage becomes fragmented, and a number of uselessly small blocks develop, particularly near the beginning of the list. Although these fragments usually comprise a small proportion of the storage (typically around 10 per cent), a lot of time can be wasted chaining through them. Buddy Methods Here the task of managing the storage is reduced in size by constraining the way in which the storage can be divided up, e.g. into blocks with lengths which are powers of 2. This eliminates chaining through long lists of uselessly small blocks; on the other hand, space is wasted in rounding up the length requested to an allowable size, and typically about 40 per cent more storage is required to satisfy the same allocations than when using First Fit or Best Fit. The methods presented in this paper are externally compatible with First Fit and Best Fit, and require roughly the same amount of storage for a given sequence of allocations. They use, however, a completely different internal data structure, one effect of which is to reduce the number of blocks that have to be visited to perform a typical allocation or release operation. These new methods exhibit roughly the same space performance as First Fit, and a time performance which falls between those of First Fit and Buddy.