Title :
Performance analyses on the generalised buddy system
Author :
Lo, C.-T.D. ; Srisa-an, W. ; Chang, J.M.
Author_Institution :
Dept. of Comput. Sci., Illinois Inst. of Technol., Chicago, IL, USA
Abstract :
For the past three decades (1970-2000), the buddy system has been the method of choice for memory allocation because of its speed and simplicity. However, the software realisation indicates that the buddy system incurs the overhead of internal fragmentation, external fragmentation, and memory traffic due to splitting and coalescing memory blocks. The paper presents a thorough analysis of the buddy system and its generalised extension, i.e. the generalised buddy system. All problems associating with the generalised buddy system are extensively investigated. J.M. Chang and E.F. Gehringer (1996) introduced the modified buddy system which eliminates two major drawbacks. First, it eliminates the splitting and coalescing overhead associated with the buddy system. Secondly, it also eliminates the internal fragmentation by using a new marking algorithm that only allocates a requested size. However, the severity of external fragmentation resulting from boundary and size blind spot remains to be studied. We propose an extension to the design that can solve existing issues. The extension also includes the first-fit algorithm into hardware domain. Two solutions that can solve the issues of size and boundary blind spots are also proposed. These solutions involve bit shifting to solve the boundary blind spot and the generalised buddy system to solve the size blind spot. We also present the simulation results of the proposed solutions. These results clearly indicate that both the shifting and the generalised buddy system yield minimal improvement over the modified buddy system. However, we believe that for some applications, these approaches enhance memory utilisation
Keywords :
memory architecture; storage allocation; storage management; bit shifting; boundary blind spots; coalescing memory blocks; coalescing overhead; external fragmentation; first-fit algorithm; generalised buddy system; hardware domain; internal fragmentation; marking algorithm; memory allocation; memory traffic; memory utilisation; modified buddy system; performance analyses; shifting buddy system; size blind spots; software realisation; splitting memory blocks; splitting overhead; system performance;
Journal_Title :
Computers and Digital Techniques, IEE Proceedings -
DOI :
10.1049/ip-cdt:20010597