Improving the Performance of Buddy Systems
IEEE Transactions on Computers
The measured cost of conservative garbage collection
Software—Practice & Experience
Evaluating models of memory allocation
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Memory allocation costs in large C and C++ programs
Software—Practice & Experience
Statistical Properties of the Buddy System
Journal of the ACM (JACM)
Communications of the ACM
Communications of the ACM
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
A High-Performance Memory Allocator for Object-Oriented Systems
IEEE Transactions on Computers
Dynamic Storage Allocation: A Survey and Critical Review
IWMM '95 Proceedings of the International Workshop on Memory Management
Hi-index | 0.01 |
Dynamic memory management has been an important part of a large class of computer programs and with the recent popularity of object oriented programming languages, more specifically Java, high performance dynamic memory management algorithms continue to be of great importance. In this paper, an analysis of Java programs, provided by the SPECjvm98 benchmark suite, and their behavior, as this relates to fragmentation, is performed. Based on this analysis, a new model is proposed which allows the estimation of the total internal fragmentation that Java systems will incur prior to the programs execution. The proposed model can also accommodate any variation of segregated lists implementation. A comparison with a previously introduced fragmentation model is performed as well as a comparison with actual fragmentation values that were extracted from SPECjvm98. Finally the idea of a test-bed application that will use the proposed model to provide to programmers/developers the ability to know, prior to a programs execution, the fragmentation and memory utilization of their programs, is also introduced. With this application at hand developers as well as designers of applications could better assess the stability, efficiency as well reliability of their applications at compile time.