This directory contains documentation on Hoard, and article on Heap Layers and four technical papers describing Heap Layers and related memory allocators. The documentation on Hoard can be read by pointing your browser to index.html. The article, in heaplayers-article-cuj.htm, is from the C/C++ Users Journal (www.cuj.com), by Andrei Alexandrescu (with some help from Emery Berger). It's a good overview of Heap Layers. The technical articles first describe a previous version of Hoard, which has now been rewritten in terms of Heap Layers (berger-asplos2000.pdf). The second (berger-pldi2001.pdf) presents the Heap Layers framework itself along with some uniprocessor allocators written using the framework, while the third (berger-oopsla2002.pdf) presents an empirical study of custom memory allocators and "reaps", a hybrid of regions of heaps. The fourth (feng-msp2005.pdf) presents a locality-improving dynamic allocator called "Vam", built with Heap Layers. The following are BibTeX entries, included for citing convenience. berger-asplos2000.pdf: @inproceedings{berger00hoard, author = {Emery D. Berger and Kathryn S. McKinley and Robert D. Blumofe and Paul R. Wilson}, title = "Hoard: A Scalable Memory Allocator for Multithreaded Applications", month = {November}, year = 2000, pages = "117--128", booktitle = "International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-IX)", address = "Cambridge, MA", url = "citeseer.nj.nec.com/berger00hoard.html" } berger-pldi2001.pdf: @inproceedings{ berger01composing, author = "Emery D. Berger and Benjamin G. Zorn and Kathryn S. McKinley", title = "Composing High-Performance Memory Allocators", booktitle = "{SIGPLAN} Conference on Programming Language Design and Implementation", pages = "114-124", year = "2001", url = "citeseer.nj.nec.com/berger01composing.html" } berger-oopsla2002.pdf: @inproceedings{ berger01reconsidering, author = "Emery D. Berger and Benjamin G. Zorn and Kathryn S. McKinley", title = "Reconsidering Custom Memory Allocation", booktitle = "Proceedings of the Conference on Object-Oriented Programming: Systems, Languages, and Applications (OOPSLA) 2002", address = "Seattle, Washington", month = Nov, year = "2002", url = "citeseer.nj.nec.com/berger01reconsidering.html" } feng-msp2005.pdf: @inproceedings{ feng05locality, author = "Yi Feng and Emery D. Berger", title = "{A Locality-Improving Dynamic Memory Allocator}", booktitle = "Proceedings of the 2005 Workshop on Memory System Performance", address = "Chicago, Illinois", month = Jun, year = 2005}