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
A hardware implementation of realloc function
Integration, the VLSI Journal
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
A study of page replacement performance in garbage collection heap
Journal of Systems and Software
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
Enhancing the Real-Time Capability of the Linux Kernel
RTCSA '98 Proceedings of the 5th International Conference on Real-Time Computing Systems and Applications
Architectural Support for Dynamic Memory Management
ICCD '00 Proceedings of the 2000 IEEE International Conference on Computer Design: VLSI in Computers & Processors
A Dualthreaded Java Processor for Java Multithreading
ICPADS '98 Proceedings of the 1998 International Conference on Parallel and Distributed Systems
Non-compacting memory allocation and real-time garbage collection
Non-compacting memory allocation and real-time garbage collection
Journal of Systems and Software
Simulation of high-performance memory allocators
Microprocessors & Microsystems
EASE'06 Proceedings of the 10th international conference on Evaluation and Assessment in Software Engineering
Quantifying the impact of dynamic memory managers into memory-intensive applications
Proceedings of the 2011 Summer Computer Simulation Conference
Hi-index | 0.00 |
The use of object-oriented programming in software development allows software systems to be more robust and more maintainable. At the same time, the development time and expense are also reduced. To achieve these benefits, object-oriented applications use dynamic memory management (DMM) to create generic objects that can be reused. Consequently, these applications are often highly dynamic memory intensive. For the last three decades, several DMM schemes have been proposed. Such schemes include first fit, best fit. segregated fit, and buddy systems. Because the performance (e.g., speed, memory utilization, etc.) of each scheme differs, it becomes a difficult choice in selecting the most suitable approach for an application and what parameters (e.g., block size. etc.) should be adopted. In this paper, a DMM simulation tool and its usage are presented. This tool receives DMM traces of C/C++ or Java programs and performs simulation according to the scheme (first fit, best fit, buddy system, and segregated fit) defined by the user. Techniques required to obtain memory traces are presented. At the end of each simulation run, a variety of performance metrics are reported to the users. By using this tool, software engineers can evaluate system performance and decide which algorithm is the most suitable. Moreover, hardware engineers can perform a system analysis before hardware (e.g., modified buddy system, first fit, etc.) is fabricated.