This work is supported by the National Science Foundation (Grants CCR-0346867 and ACI-0312980) the U.S. Department of Energy (Grant DE-FG02-05ER2568), and an equipment grant from the College of William and Mary.
 N. Arora, R. Blumofe, and C. Greg-Plaxton. Thread Scheduling for Multiprogrammed Multiprocessors. In Proc. of the 10th ACM Symposium on Parallel Algorithms and Architectures, pages 119– 129, Puerto Vallarta, Mexico, June 1998.
 D. Barrett and B. Zorn. Using Lifetime Predictors to Improve Memory Allocation Performance. In Proc. of the 1993 ACM SIGPLAN Conference on Programming Languages Design and Implementation, pages 187–196, June 1993.
 E. Berger, K. Mckinley, R. Blumofe, and P. Wilson. Hoard: A Scalable Memory Allocator for Multithreaded Applications. In Proc. of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 117–128, Cambridge, MA, November 2000.
 E. Berger, B. Zorn, and K. McKinley. Reconsidering Custom Mem- ory Allocation. In Proc. of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applpica- tions, pages 1–12, Seattle, WA, November 2002.
 Filip Blagojevic. Optimizing Irregular Adaptive Application on Multi-Threaded Processors: The Case of Medium-Grain Parallel Delaunay Mesh Generation. Master’s thesis, The College of William and Mary, Williamsburg, VA, U.S.A., December 2005.
 C. Cascaval, E. Duesterwald, P. Sweeney, and R. Wisniewski. Multiple Page Size Modeling and Optimization. In Proc. of the 14th International Conference on Parallel Architectures and Compilation Techniques, pages 339–349, Saint Louis, MO, September 2005.
 Y. Feng and E. Berger. A Locality-Improving Dynamic Memory Allocator. In Proceedings of the Third Annual ACM SIGPLAN Workshop on Memory Systems Performance, Chicago, IL, June 2005.
 D. Gay and A. Aiken. Memory Management with Explicit Regions. In Proc. of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 313–323, Montreal, Canada, June 1998.
Dynamic Memory Allocator Implementa-
 Google. Google Performance Tools. http://goog-perftools.sourceforge.net/.
 D. Grunwald, B. Zorn, and R. Henderson. Improving the Cache Locality of Memory Allocation. In Proc. of the ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation, pages 177–186, Albuquerque, NM, June 1993.
 P. Kamp. Malloc(3) Revisted. http://phk.freebsd.dk/pubs/malloc.pdf.
 K. C. Knowlton. A Fast Storage Allocator. Communications of the ACM, 8(10):623–625, 1965.
 D. E. Knuth. Dynamic Storage Allocation. In The Art of Computer Programming, volume 1. Addison-Wesley, 1968.
 P. Larson and M. Krishnan. Memory Allocation for Long-Running Server Applications. In Proceedings of the First International Symposium on Memory Management, pages 176–185, Vancouver, BC, October 1998.
 D. Lea. A Memory Allocator. http://gee.cs.oswego.edu/dl/html/malloc.html.
 L. McDowell, S. Eggers, and S. Gribble. Improving Server Software Support for Simultaneous Multithreaded Processors. In Proc. of the 2003 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 37–48, San Diego, CA, June 2003.
 M. Michael. Scalable Lock-free Dynamic Memory Allocation. In Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation, pages 35–46, Washington, DC, June 2004.
 J. Navarro, S. Iyer, and A. Cox. Practical, Transparent Operating System Support for Superpages. In Proc. of the Fifth Symposium on Operating Systems Design and Implementation, pages 89–104, Boston, MA, December 2002.
 T. Romer, W. Ohlrich, A. Karlin, and B. Bershad. Reducing TLB and Memory Overhead using Online Superpage Promotion. In Proc. of the 22nd International Symposium on Computer Architecture, pages 176–187, Santa Margherita Ligure, Italy, June 1995.
 D. Ross. The AED Free Storage Package. Communications of the ACM, 10(8):481–492, 1967.
 M. Seidl and B. Zorn. Segregating Heap Objects by Reference Behavior and Lifetime. In Proc. of the 8th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 12–23, San Jose, CA, October 1998.
 Y. Shuf, M. Gupta, R. Bordawekar, and J. Pal Singh. Exploiting Prolific Types for Memory Management and Optimizations. In Proc. of the 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Lanugages, pages 295–306, Portland, OR, January 2002.
 G. Steele. Data Representation in PDP-10 MACLISP. Technical Report AI Lab Memo 421, MIT, 1977.
 V. Vee and W. Hsu. A Scalable and Efficient Storage Allocator on Shared Memory Multiprocessors. In Proceedings of the 1999 International Symposium on Parallel Architectures, Algorithms and Networks, pages 230–235, Perth, Australia, June 1999.
 K. Vo. Vmalloc: A General and Efficient Memory Allocator. Software
Practice and Experience, 26(3):357–374, 1996.
 P. Wilson, M. Johnstone, M. Neely, and D. Boles. Storage Allocation: A Survey and Critical Review.
Dynamic In Proc. of
the International Workshop on Memory Management, LNCS Vol. 986, pages 1–116, Kinross, UK, September 1995.