Abstract :
Dynamic memory management is an important and essential part of computer
systems design. Ecient memory allocation, garbage collection, and compaction are
becoming critical in parallel and distributed applications using object oriented languages
like C++ and Java. In addition to achieving fast allocation/de-allocation of memory objects
and fragmentation, memory management techniques should strive to improve the overall
execution performance of object oriented applications. In this paper, we introduce Address
Ordered and Segregated Binary Trees, two memory management techniques particularly
ecient for object oriented applications. Our empirical results manifest that both ABT
and SBT, when accompanied by coalescing, outperform the existing allocators such as
Segregated free lists in terms of storage utilization and execution performance. We also
show that these new allocators perform well in terms of storage utilization, even without
coalescing. This is in particular suitable for web-applications.