Results 1 
6 of
6
Fast Allocation and Deallocation with an Improved Buddy System
, 2003
"... We propose several modifications to the binary buddy system for managing dynamic allocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in Θ(lg n) time in the worst case (and on an amortized basis), where n is the size of the memory. We ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
We propose several modifications to the binary buddy system for managing dynamic allocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in Θ(lg n) time in the worst case (and on an amortized basis), where n is the size of the memory. We present three schemes that improve the running time to O(1) time, where the time bound for deallocation is amortized for the first two schemes. The first scheme uses just one more word of memory than the standard buddy system, but may result in greater fragmentation than necessary. The second and third schemes have essentially the same fragmentation as the standard buddy system, and use O(2 (1+ √ lg n) lg lg n) bits of auxiliary storage, which is ω(lg k n) but o(n ε) for all k ≥ 1 and ε> 0. Finally, we present simulation results estimating the effect of the excess fragmentation in the first scheme.
unknown title
"... Abstract We present simple, practical and efficient data structures for the fundamental problem of maintaining a resizable onedimensional array, A[l: : : l + n \Gamma 1], of fixedsize elements, as elements are added to or removed from one or both ends. In addition to these operations, our data str ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract We present simple, practical and efficient data structures for the fundamental problem of maintaining a resizable onedimensional array, A[l: : : l + n \Gamma 1], of fixedsize elements, as elements are added to or removed from one or both ends. In addition to these operations, our data structures support access to the element in position i. All operations are performed in constant time. The extra space (i.e., the space used past storing the n current elements) is O( p n) at any point in time. This is shown to be within a constant factor of optimal, even if there are no constraints on the time. If desired, each memory block can be made to have size 2k \Gamma c for a specified constant c, and hence the scheme works effectively with the buddy system. The data structures can be used to solve a variety of problems with optimal bounds on time and extra storage. These include stacks, queues, randomized queues, priority queues, and deques. 1 Introduction The initial motivation for this research was a fundamental problem arising in many randomized algorithms [14, 17, 20]. Specifically, a randomized queue is to maintain a collection of fixedsize elements, such as wordsize integers or pointers, and support the following operations: 1. Insert (e): Add a new element e to the collection. 2. DeleteRandom: Delete and return an element chosen uniformly at random from the
Fast Allocation and Deallocation with an Improved Buddy System*
"... Abstract We propose several modifications to the binary buddy system for managing dynamicallocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in \Theta (lg n) time in the worst case (and on an amortizedbasis), where n is the size of th ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract We propose several modifications to the binary buddy system for managing dynamicallocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in \Theta (lg n) time in the worst case (and on an amortizedbasis), where n is the size of the memory. We present three schemes that improve therunning time to O(1) time, where the time bound for deallocation is amortized for thefirst two schemes. The first scheme uses just one more word of memory than the standard buddy system, but may result in greater fragmentation than necessary. The second andthird schemes have essentially the same fragmentation as the standard buddy system, and use O(2(1+plg n) lg lg n) bits of auxiliary storage, which is!(lgk n) but o(n&quot;) for all k> = 1 and &quot;> 0. Finally, we present simulation results estimating the effect of the excessfragmentation in the first scheme.
The Toll of Garbage Collection  An Analysis of the NonGarbage Collected C++ and Garbage Collected C# Language
, 2004
"... Garbage collection (GC) plays a more and more dominant role in the landscape of modern computer science languages. Coupled with a proper object oriented language GC can help the developer to focus on the true problem domain, leaving the details of memory deallocation to a system cleanup process. How ..."
Abstract
 Add to MetaCart
Garbage collection (GC) plays a more and more dominant role in the landscape of modern computer science languages. Coupled with a proper object oriented language GC can help the developer to focus on the true problem domain, leaving the details of memory deallocation to a system cleanup process. However, the transition to a GC collected language might introduce new areas of problems, both in terms of application performance and scalability. This article will aim at describing these positive and negative effects of using a GC language. It will also illuminate the strong and weak side of both GC and nonGC language in such a way that a developer will have a clear understanding of the two alternatives.
High Bandwidth Data Transfer with OPIOM & Myrinet: Application to Remote Video
, 2001
"... This memory is recognized by the BIOS as PCI device DMAable memory. It is also mapped in the physical memory and can be accessed by the operating system as regular memory ..."
Abstract
 Add to MetaCart
This memory is recognized by the BIOS as PCI device DMAable memory. It is also mapped in the physical memory and can be accessed by the operating system as regular memory
Fast Allocation and Deallocation with an Improved Buddy System*
"... Abstract We propose several modifications to the binary buddy system for managing dynamicallocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in \Theta (lg n) time in the worst case (and on an amortizedbasis), where n is the size of th ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract We propose several modifications to the binary buddy system for managing dynamicallocation of memory blocks whose sizes are powers of two. The standard buddy system allocates and deallocates blocks in \Theta (lg n) time in the worst case (and on an amortizedbasis), where n is the size of the memory. We present three schemes that improve therunning time to O(1) time, where the time bound for deallocation is amortized for thefirst two schemes. The first scheme uses just one more word of memory than the standard buddy system, but may result in greater fragmentation than necessary. The second andthird schemes have essentially the same fragmentation as the standard buddy system, and use O(2(1+plg n) lg lg n) bits of auxiliary storage, which is!(lgk n) but o(n&quot;) for all k> = 1 and &quot;> 0. Finally, we present simulation results estimating the effect of the excessfragmentation in the first scheme.