% Bibliography of key references for "LaTeX for Thesis and Large Documents" % For use with BibTeX @article{Sleator85, author = {Sleator, Daniel Dominic and Tarjan, Robert Endre}, title = {Self-Adjusting Binary Search Trees}, journal = jacm, volume = 32, number = 3, year = 1985, issn = {0004-5411}, pages = {652-686}, doi = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/3828.3835}, address = {New York, NY, USA}, } @article{Berger00, 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}, booktitle = {International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-IX)}, journal = sigplan, volume = 35, number = 11, month = nov, year = 2000, pages = {117-128}, note = {International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-IX)}, } @inproceedings{berger02reconsidering, author = {Emery D. Berger and Benjamin G. Zorn and Kathryn S. McKinley}, title = {Reconsidering Custom Memory Allocation}, booktitle = {Proceedings of the 17th ACM SIGPLAN Conference on Object-Oriented Programming: Systems, Languages, and Applications (OOPSLA) 2002}, month = nov, year = 2002, location = {Seattle, Washington, USA}, publisher = {ACM}, address = {New York, NY, USA}, } @article{larson99memory, author = {Per-{\AA}ke Larson and Murali Krishnan}, title = {Memory Allocation for Long-Running Server Applications}, journal = sigplan, volume = 34, number = 3, pages = {176-185}, year = 1999, url = {http://citeseer.ist.psu.edu/article/larson98memory.html} } @techreport{gidpt04, author = {Anders Gidenstam and Marina Papatriantafilou and Philippas Tsigas}, title = {Allocating Memory in a Lock-Free Manner}, number = {2004-04}, institution = {Computing Science}, address = {Chalmers University of Technology}, year = 2004, url = {http://citeseer.ist.psu.edu/gidenstam04allocating.html} } @phdthesis{berger02thesis, author = {Emery Berger}, title = {Memory Management for High-Performance Applications}, school = {The University of Texas at Austin}, year = 2002, month = aug, url = {http://citeseer.ist.psu.edu/article/berger02memory.html} } @misc{sgimisc, author = {SGI}, title = {The Standard Template Library for {C++}}, note = {\href{www.sgi.com/tech/stl/Allocators.html}{www.sgi.com/\-tech/\-stl/\-Allocators.html}}, } @misc{dlmalloc, author = {Doug Lea}, title = {dlmalloc version 2.8.4}, month = may, year = 2009, note = {\href{ftp://g.oswego.edu/pub/misc/malloc.c}{ftp://g.oswego.edu/\-pub/\-misc/\-malloc.c}}, } @misc{ptmalloc3, author = {Wolfram Gloger}, title = {ptmalloc version 3}, month = may, year = 2006, note = {\href{http://www.malloc.de/malloc/ptmalloc3-current.tar.gz} {http://www.malloc.de/\-malloc/\-ptmalloc3-current.tar.gz}}, } @misc{tbbmalloc, key = {tbbmalloc}, author = {multiple contributors}, title = {Threading Building Blocks}, month = mar, year = 2020, note = {\href{https://github.com/oneapi-src/oneTBB/releases/tag/v2020.2} {https://github.com/\-oneapi-src/\-oneTBB/\-releases/\-tag/\-v2020.2}}, } @misc{GNUallocAPI, author = {GNU}, title = {Summary of malloc-Related Functions}, year = 2020, note = {\href{https://www.gnu.org/software/libc/manual/html\_node/Summary-of-Malloc.html} {https://www.gnu.org/\-software/\-libc/\-manual/\-html\_node/\-Summary-of-Malloc.html}}, } @misc{SeriallyReusable, author = {IBM}, title = {Serially reusable programs}, month = mar, year = 2021, note = {\href{https://www.ibm.com/docs/en/ztpf/1.1.0.15?topic=structures-serially-reusable-programs} {https://www.ibm.com/\-docs/\-en/\-ztpf/\-1.1.0.15?\-topic=structures-serially-reusable-programs}}, } @misc{librseq, author = {Mathieu Desnoyers}, title = {Library for Restartable Sequences}, month = mar, year = 2022, note = {\href{https://github.com/compudj/librseq}{https://github.com/\-compudj/\-librseq}}, } @misc{glibc, key = {glibc}, author = {multiple contributors}, title = {glibc version 2.31}, month = feb, year = 2020, note = {\href{https://www.gnu.org/software/libc}{https://\-www.gnu.org/\-software/\-libc}}, } @misc{hoard, author = {Emery D. Berger}, title = {hoard version 3.13}, month = apr, year = 2022, note = {\href{https://github.com/emeryberger/Hoard}{https://github.com/\-emeryberger/\-Hoard}}, } @misc{rpmalloc, author = {Mattias Jansson}, title = {rpmalloc version 1.4.1}, month = apr, year = 2022, note = {\href{https://github.com/mjansson/rpmalloc}{https://\-github.com/\-mjansson/\-rpmalloc}}, } @misc{jemalloc, key = {jemalloc}, author = {multiple contributors}, title = {jemalloc version 5.2.1}, month = apr, year = 2022, note = {\href{https://github.com/jemalloc/jemalloc}{https://github.com/\-jemalloc/\-jemalloc}}, } @comment{mtmalloc, author = {Greg Nakhimovsky}, title = {Improving Scalability of Multithreaded Dynamic Memory Allocation}, journal = {Dr. Dobb's}, month = jul, year = 2001, url = {http://www.ddj.com/mobile/184404685?pgno=1} } @misc{mtmalloc, key = {mtmalloc}, title = {mtmalloc}, year = 2009, note = {\href{http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libmtmalloc/common/mtmalloc.c} {http://src.opensolaris.org/\-source/\-xref/\-onnv/\-onnv-gate/\-usr/\-src/\-lib/\-libmtmalloc/\-common/\-mtmalloc.c}}, } @misc{tcmalloc, author = {Sanjay Ghemawat and Paul Menage}, title = {tcmalloc version 1.5}, month = jan, year = 2010, note = {\href{http://google-perftools.googlecode.com/files/google-perftools-1.5.tar.gz} {http://google-perftools.\-googlecode.\-com/\-files/\-google-perftools-1.5.tar.gz}}, } @misc{uniformPRNG, author = {\CC Standard Library}, title = {\lstinline{uniform_int_distribution}}, month = apr, year = 2022, note = {\href{https://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution} {https://en.cppreference.com/w/\-cpp/numeric/\-random/\-uniform\_int\_distribution}}, } @misc{fisherPRNG, author = {\CC Standard Library}, title = {\lstinline{fister_f_distribution}}, month = apr, year = 2022, note = {\href{https://www.cplusplus.com/reference/random/fisher_f_distribution} {https://www.cplusplus.com/\-reference/\-random/\-fisher\_f\_distribution}}, } @inproceedings{streamflow, author = {Scott Schneider and Christos D. Antonopoulos and Dimitrios S. Nikolopoulos}, title = {Scalable Locality-Conscious Multithreaded Memory Allocation}, booktitle = {International Symposium on Memory Management (ISSM'06)}, month = jun, year = 2006, pages = {84-94}, location = {Ottawa, Ontario, Canada}, publisher = {ACM}, address = {New York, NY, USA}, } @misc{streamflowweb, author = {Scott Schneider and Christos Antonopoulos and Dimitrios Nikolopoulos}, title = {Streamflow}, note = {\href{http://people.cs.vt.edu/~scschnei/streamflow}{http://people.cs.vt.edu/\-\char`\~scschnei/\-streamflow}}, } @inproceedings{Blumofe94, author = {R. Blumofe and C. Leiserson}, title = {Scheduling Multithreaded Computations by Work Stealing}, booktitle = {Proceedings of the 35th Annual Symposium on Foundations of Computer Science, Santa Fe, New Mexico.}, pages = {356-368}, year = 1994, month = nov, url = {http://citeseer.ist.psu.edu/article/blumofe94scheduling.html} } @article{Johnstone99, author = {Mark S. Johnstone and Paul R. Wilson}, title = {The Memory Fragmentation Problem: Solved?}, journal = sigplan, volume = 34, number = 3, pages = {26-36}, year = 1999, } @inproceedings{Grunwald93, author = {Dirk Grunwald and Benjamin G. Zorn and Robert Henderson}, title = {Improving the Cache Locality of Memory Allocation}, booktitle = {{SIGPLAN} Conference on Programming Language Design and Implementation}, pages = {177-186}, year = 1993, url = {http://citeseer.ist.psu.edu/grunwald93improving.html} } @inproceedings{Wilson95, author = {Wilson, Paul R. and Johnstone, Mark S. and Neely, Michael and Boles, David}, title = {Dynamic Storage Allocation: A Survey and Critical Review}, booktitle = {Proc. Int. Workshop on Memory Management}, address = {Kinross Scotland, UK}, year = 1995, url = {http://citeseer.ist.psu.edu/wilson95dynamic.html} } @inproceedings{Siebert00, author = {Fridtjof Siebert}, title = {Eliminating External Fragmentation in a Non-moving Garbage Collector for Java}, booktitle = {CASES '00: Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems}, year = 2000, isbn = {1-58113-338-3}, pages = {9-17}, location = {San Jose, California, United States}, doi = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/354880.354883}, publisher = {ACM Press}, address = {New York, NY, USA} } @inproceedings{Lim98, author = {Tian F. Lim and Przemyslaw Pardyak and Brian N. Bershad}, title = {A Memory-Efficient Real-Time Non-copying Garbage Collector}, booktitle = {ISMM '98: Proceedings of the 1st international symposium on Memory management}, year = 1998, isbn = {1-58113-114-3}, pages = {118-129}, location = {Vancouver, British Columbia, Canada}, doi = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/286860.286873}, publisher = {ACM Press}, address = {New York, NY, USA} } @article{Chang01, author = {J. Morris Chang and Woo Hyong Lee and Witawas Srisa-an}, title = {A Study of the Allocation Behavior of {C++} Programs}, journal = {J. Syst. Softw.}, volume = 57, number = 2, year = 2001, issn = {0164-1212}, pages = {107-118}, doi = {http://dx.doi.org/10.1016/S0164-1212(00)00122-9}, publisher = {Elsevier Science Inc.}, address = {New York, NY, USA} } @article{Herlihy93, author = {Maurice Herlihy}, title = {A Methodology for Implementing Highly Concurrent Data Objects}, journal = toplas, volume = 15, number = 5, year = 1993, issn = {0164-0925}, pages = {745-770}, doi = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/161468.161469}, publisher = {ACM Press}, address = {New York, NY, USA} } @article{Denning05, author = {Peter J. Denning}, title = {The Locality Principle}, journal = cacm, volume = 48, number = 7, year = 2005, issn = {0001-0782}, pages = {19-24}, doi = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1070838.1070856}, publisher = {ACM Press}, address = {New York, NY, USA} } @misc{wilson-locality, author = {Paul R. Wilson}, title = {Locality of Reference, Patterns in Program Behavior, Memory Management, and Memory Hierarchies}, url = {http://citeseer.ist.psu.edu/337869.html} } @inproceedings{Feng05, author = {Yi Feng and Emery D. Berger}, title = {A Locality-Improving Dynamic Memory Allocator}, booktitle = {Proceedings of the 2005 Workshop on Memory System Performance}, location = {Chicago, Illinois}, publisher = {ACM}, address = {New York, NY, USA}, month = jun, year = 2005, pages = {68-77}, } @inproceedings{grunwald-locality, author = {Dirk Grunwald and Benjamin Zorn and Robert Henderson}, title = {Improving the Cache Locality of Memory Allocation}, booktitle = {PLDI '93: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation}, year = 1993, isbn = {0-89791-598-4}, pages = {177-186}, location = {Albuquerque, New Mexico, United States}, doi = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/155090.155107}, publisher = {ACM Press}, address = {New York, NY, USA} } @article{Alexandrescu01b, author = {Andrei Alexandrescu}, title = {{volatile} -- Multithreaded Programmer's Best Friend}, journal = {Dr. Dobb's}, month = feb, year = 2001, url = {http://www.ddj.com/cpp/184403766} } @article{Attardi03, author = {Joseph Attardi and Neelakanth Nadgir}, title = {A Comparison of Memory Allocators in Multiprocessors}, journal = {Sun Developer Network}, month = jun, year = 2003, note = {\href{http://developers.sun.com/solaris/articles/multiproc/multiproc.html} {http://developers.sun.com/\-solaris/\-articles/\-multiproc/\-multiproc.html}}, } @unpublished{memlayout, author = {Peter Jay Salzman}, title = {Memory Layout and the Stack}, journal = {Using GNU's GDB Debugger}, note = {\href{http://dirac.org/linux/gdb/02a-Memory\_Layout\_And\_The\_Stack.php} {http://dirac.org/\-linux/\-gdb/\-02a-Memory\_Layout\_And\_The\_Stack.php}}, } @unpublished{Ferguson07, author = {Justin N. Ferguson}, title = {Understanding the Heap by Breaking It}, note = {\href{https://www.blackhat.com/presentations/bh-usa-07/Ferguson/Whitepaper/bh-usa-07-ferguson-WP.pdf} {https://www.blackhat.com/\-presentations/\-bh-usa-07/Ferguson/\-Whitepaper/\-bh-usa-07-ferguson-WP.pdf}}, } @inproceedings{Huang06, author = {Xianglong Huang and Brian T Lewis and Kathryn S McKinley}, title = {Dynamic Code Management: Improving Whole Program Code Locality in Managed Runtimes}, booktitle = {VEE '06: Proceedings of the 2nd international conference on Virtual execution environments}, year = 2006, isbn = {1-59593-332-6}, pages = {133-143}, location = {Ottawa, Ontario, Canada}, doi = {http://doi.acm.org/10.1145/1134760.1134779}, publisher = {ACM Press}, address = {New York, NY, USA} } @inproceedings{Herlihy03, author = {M. Herlihy and V. Luchangco and M. Moir}, title = {Obstruction-free Synchronization: Double-ended Queues as an Example}, booktitle = {Proceedings of the 23rd IEEE International Conference on Distributed Computing Systems}, year = 2003, month = may, url = {http://www.cs.brown.edu/~mph/publications.html} } @techreport{Detlefs93, author = {David L. Detlefs and Al Dosser and Benjamin Zorn}, title = {Memory Allocation Costs in Large {C} and {C++} Programs}, number = {CU-CS-665-93}, institution = {University of Colorado}, address = {130 Lytton Avenue, Palo Alto, CA 94301 and Campus Box 430, Boulder, CO 80309}, year = 1993, url = {http://citeseer.ist.psu.edu/detlefs93memory.html} } @inproceedings{Oyama99, author = {Y. Oyama and K. Taura and A. Yonezawa}, title = {Executing Parallel Programs With Synchronization Bottlenecks Efficiently}, booktitle = {Proceedings of International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications (PDSIA '99)}, year = {1999}, pages = {182--204}, publisher = {World Scientific}, address = {Sendai, Japan}, } @inproceedings{Dice02, author = {Dave Dice and Alex Garthwaite}, title = {Mostly Lock-Free Malloc}, booktitle = {Proceedings of the 3rd international symposium on Memory management (ISMM'02)}, month = jun, year = 2002, pages = {163-174}, location = {Berlin, Germany}, publisher = {ACM}, address = {New York, NY, USA}, }