The measured cost of conservative garbage collection
Software—Practice & Experience
The memory fragmentation problem: solved?
Proceedings of the 1st international symposium on Memory management
Composing high-performance memory allocators
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Efficient representations and abstractions for quantifying and exploiting data reference locality
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
More Effective C++: 35 New Ways to Improve Your Programs and Designs
More Effective C++: 35 New Ways to Improve Your Programs and Designs
Evaluating Integrated Hardware-Software Optimizations Using a Unified Energy Estimation Framework
IEEE Transactions on Computers
Dynamic Storage Allocation: A Survey and Critical Review
IWMM '95 Proceedings of the International Workshop on Memory Management
The design and analysis of a quantitative simulator for dynamic memory management
Journal of Systems and Software
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
A locality-improving dynamic memory allocator
Proceedings of the 2005 workshop on Memory system performance
Systematic dynamic memory management design methodology for reduced memory footprint
ACM Transactions on Design Automation of Electronic Systems (TODAES)
A tunable hybrid memory allocator
Journal of Systems and Software
A constant-time dynamic storage allocator for real-time systems
Real-Time Systems
SDMA: A Simulation-Driven Dynamic Memory Allocator for Wireless Sensor Networks
SENSORCOMM '08 Proceedings of the 2008 Second International Conference on Sensor Technologies and Applications
Two memory allocators that use hints to improve locality
Proceedings of the 2009 international symposium on Memory management
Optimization of dynamic memory managers for embedded systems using grammatical evolution
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
Data Structures and Algorithms in C++
Data Structures and Algorithms in C++
Efficient system-level prototyping of power-aware dynamic memory managers for embedded systems
Integration, the VLSI Journal - Special issue: Low-power design techniques
A Field Guide to Genetic Programming
A Field Guide to Genetic Programming
Proceedings of the 12th annual conference on Genetic and evolutionary computation
Simulation of High-Performance Memory Allocators
DSD '10 Proceedings of the 2010 13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools
An Introduction to Evolutionary Computation in Finance
IEEE Computational Intelligence Magazine
Hi-index | 0.00 |
For the last 30years, a large variety of memory allocators have been proposed. Since performance, memory usage and energy consumption of each memory allocator differs, software engineers often face difficult choices in selecting the most suitable approach for their applications. To this end, custom allocators are developed from scratch, which is a difficult and error-prone process. This issue has special impact in the field of portable consumer embedded systems, that must execute a limited amount of multimedia applications, demanding high performance and extensive memory usage at a low energy consumption. This paper presents a flexible and efficient simulator to study Dynamic Memory Managers (DMMs), a composition of one or more memory allocators. This novel approach allows programmers to simulate custom and general DMMs, which can be composed without incurring any additional runtime overhead or additional programming cost. We show that this infrastructure simplifies DMM construction, mainly because the target application does not need to be compiled every time a new DMM must be evaluated and because we propose a structured method to search and build DMMs in an object-oriented fashion. Within a search procedure, the system designer can choose the ''best'' allocator by simulation for a particular target application and embedded system. In our evaluation, we show that our scheme delivers better performance, less memory usage and less energy consumption than single memory allocators.