How not to lie with statistics: the correct way to summarize benchmark results
Communications of the ACM - The MIT Press scientific computation series
Improving the Performance of Buddy Systems
IEEE Transactions on Computers
COSMOS: A compiled simulator for MOS circuits
25 years of DAC Papers on Twenty-five years of electronic design automation
Fast allocation and deallocation of memory based on object lifetimes
Software—Practice & Experience
The measured cost of conservative garbage collection
Software—Practice & Experience
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
Computer architecture (2nd ed.): a quantitative approach
Computer architecture (2nd ed.): a quantitative approach
Communications of the ACM
Communications of the ACM
Experience in automatic storage allocation
Communications of the ACM
Data Structure Techniques
Dynamic Storage Allocation: A Survey and Critical Review
IWMM '95 Proceedings of the International Workshop on Memory Management
New methods for dynamic storage allocation (Fast Fits)
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Non-compacting memory allocation and real-time garbage collection
Non-compacting memory allocation and real-time garbage collection
Hoard: a scalable memory allocator for multithreaded applications
ACM SIGPLAN Notices
Composing high-performance memory allocators
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Hoard: a scalable memory allocator for multithreaded applications
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
Real Java for real time - gain and pain
CASES '02 Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems
Reconsidering custom memory allocation
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
GCspy: an adaptable heap visualisation framework
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Heap Garbage Collection in XSB: Practice and Experience
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
Decreasing Memory Overhead in Hard Real-Time Garbage Collection
EMSOFT '02 Proceedings of the Second International Conference on Embedded Software
Are Mallocs Free of Fragmentation?
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
The Memory Behavior of the WWW, or The WWW Considered as a Persistent Store
POS-9 Revised Papers from the 9th International Workshop on Persistent Object Systems
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
The space cost of lazy reference counting
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and analysis of a quantitative simulator for dynamic memory management
Journal of Systems and Software
MC2: high-performance garbage collection for memory-constrained environments
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Journal of VLSI Signal Processing Systems
Upper bound for defragmenting buddy heaps
LCTES '05 Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Quantifying the performance of garbage collection vs. explicit memory management
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A locality-improving dynamic memory allocator
Proceedings of the 2005 workshop on Memory system performance
Intelligent memory manager: reducing cache pollution due to memory management functions
Journal of Systems Architecture: the EUROMICRO Journal
McRT-Malloc: a scalable transactional memory allocator
Proceedings of the 5th international symposium on Memory management
DieHard: probabilistic memory safety for unsafe languages
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Reducing internal fragmentation in segregated free lists using genetic algorithms
Proceedings of the 2006 international workshop on Workshop on interdisciplinary software engineering research
A tunable hybrid memory allocator
Journal of Systems and Software
Sum-of-squares heuristics for bin packing and memory allocation
Journal of Experimental Algorithmics (JEA)
An efficient dynamic memory allocator for sensor operating systems
Proceedings of the 2007 ACM symposium on Applied computing
Exterminator: automatically correcting memory errors with high probability
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the conference on Design, automation and test in Europe
malloc() performance in a multithreaded Linux environment
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Journal of Systems and Software
Implementation of a constant-time dynamic storage allocator
Software—Practice & Experience
A constant-time dynamic storage allocator for real-time systems
Real-Time Systems
The Lightweight Runtime Engine of the Wireless Internet Platform for Mobile Devices
ICESS '07 Proceedings of the 3rd international conference on Embedded Software and Systems
Two memory allocators that use hints to improve locality
Proceedings of the 2009 international symposium on Memory management
A study of memory management for web-based applications on multicore processors
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Measuring Fragmentation of Two-Dimensional Resources Applied to Advance Reservation Grid Scheduling
CCGRID '09 Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid
ISVC '09 Proceedings of the 5th International Symposium on Advances in Visual Computing: Part I
Modeling and simulation of pedestrian behaviors in crowded places
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Overlay techniques for scratchpad memories in low power embedded processors
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Cache index-aware memory allocation
Proceedings of the international symposium on Memory management
Simulation of high-performance memory allocators
Microprocessors & Microsystems
Efficient protection against heap-based buffer overflows without resorting to magic
ICICS'06 Proceedings of the 8th international conference on Information and Communications Security
WWIC'05 Proceedings of the Third international conference on Wired/Wireless Internet Communications
The myrmics memory allocator: hierarchical,message-passing allocation for global address spaces
Proceedings of the 2012 international symposium on Memory Management
A study of best-fit memory allocators
Computer Languages, Systems and Structures
Improving Memory Management Security for C and C++
International Journal of Secure Software Engineering
OOPSLA 2002: Reconsidering custom memory allocation
ACM SIGPLAN Notices - Supplemental issue
Hi-index | 0.00 |
We show that for 8 real and varied C and C++ programs, several conventional dynamic storage allocators provide near-zero fragmentation, once we account for overheads due to implementation details such as headers, alignment, etc. This substantially strengthens our previous results showing that the memory fragmentation problem has generally been misunderstood, and that good allocator policies can provide good memory usage for most programs. The new results indicate that for most programs, excellent allocator policies are readily available, and efficiency of implementation is the major challenge. While we believe that our experimental results are state-of-the-art and our methodology is superior to most previous work, more work should be done to identify and study unusual problematic program behaviors not represented in our sample.