00001 // -*- mode:c++; c-basic-offset:4 -*- 00002 /*<std-header orig-src='shore' incl-file-exclusion='REFERENCES_H'> 00003 00004 $Id: references.h,v 1.4 2010/07/07 21:43:42 nhall Exp $ 00005 00006 SHORE -- Scalable Heterogeneous Object REpository 00007 00008 Copyright (c) 1994-99 Computer Sciences Department, University of 00009 Wisconsin -- Madison 00010 All Rights Reserved. 00011 00012 Permission to use, copy, modify and distribute this software and its 00013 documentation is hereby granted, provided that both the copyright 00014 notice and this permission notice appear in all copies of the 00015 software, derivative works or modified versions, and any portions 00016 thereof, and that both notices appear in supporting documentation. 00017 00018 THE AUTHORS AND THE COMPUTER SCIENCES DEPARTMENT OF THE UNIVERSITY 00019 OF WISCONSIN - MADISON ALLOW FREE USE OF THIS SOFTWARE IN ITS 00020 "AS IS" CONDITION, AND THEY DISCLAIM ANY LIABILITY OF ANY KIND 00021 FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 00022 00023 This software was developed with support by the Advanced Research 00024 Project Agency, ARPA order number 018 (formerly 8230), monitored by 00025 the U.S. Army Research Laboratory under contract DAAB07-91-C-Q518. 00026 Further funding for this work was provided by DARPA through 00027 Rome Research Laboratory Contract No. F30602-97-2-0247. 00028 00029 */ 00030 00031 /* -- do not edit anything above this line -- </std-header>*/ 00032 00033 /* This file contains doxygen documentation only */ 00034 00035 /**\page REFERENCES References 00036 * 00037 *\section REFSYNC Synchronization Primitives 00038 * These are papers are pertinent to the synchronization primitives used 00039 * in the threads layer of the storage manager. 00040 * 00041 * \subsection JPA1 [JPA1] 00042 * R. Johnson, I. Pandis, A. Ailamaki. 00043 * "Critical Sections: Re-emerging Scalability Concerns for Database Storage Engines" 00044 * in Proceedings of the 4th. DaMoN, Vancouver, Canada, June 2008 00045 * (May be found here: http://www.db.cs.cmu.edu/db-site/Pubs/#DBMS:General) 00046 * 00047 * \subsection B1 [B1] 00048 * H-J Boehm. 00049 * "Reordering Constraints for Pthread-Style Locks" 00050 * HP Technical Report HPL-2005-217R1, September 2006 00051 * (http://www.hpl.hp.com/techreports/2005/HPL-2005-217R1.pdf) 00052 * 00053 * \subsection MCS1 [MCS1] 00054 * J.M. Mellor-Crummey, M.L. Scott 00055 * "Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors" 00056 * in 00057 * ACM Transactions on Computer Systems, Vol 9, No. 1, February, 1991, pp 00058 * 20-65 00059 * (http://www.cs.rice.edu/~johnmc/papers/tocs91.pdf) 00060 * 00061 * \subsection SS1 [SS1] 00062 * M.L.Scott, W.N. Scherer III 00063 * "Scalable Queue-Based Spn Locks with Timeout" 00064 * in PPOPP '01, June 18-20, 2001, Snowbird, Utah, USA 00065 * (http://www.cs.rochester.edu/u/scott/papers/2001_PPoPP_Timeout.pdf) 00066 * 00067 * \subsection HSS1 [HSS1] 00068 * B. He, M.L.Scott, W.N. Scherer III 00069 * "Preemption Adaptivity in Time-Published Queue-Based Spin Locks" 00070 * in Proceedings of HiPC 2005: 12th International Conference, Goa, India, December 18-21, 00071 * (http://www.springer.com/computer/swe/book/978-3-540-30936-9 and 00072 * http://www.cs.rice.edu/~wns1/papers/2005-HiPC-TPlocks.pdf) 00073 * 00074 *\section REFSMT Shore-MT 00075 * These papers describe the Shore-MT release and related work. 00076 * 00077 * \subsection JPHA1 [JPHA1] 00078 * R. Johnson, I. Pandis, N. Hardavellas, A. Ailamaki. 00079 * "Shore-MT: A Quest for Scalablility in the Many-Core Era" 00080 * Carnegie Mellon University Technical Report CMU-CS-08-114, 00081 * April, 2008 (unpublished) 00082 * 00083 * \subsection JPHAF1 [JPHAF1] 00084 * R. Johnson, I. Pandis, N. Hardavellas, A. Ailamaki, B. Falsaff 00085 * "Shore-MT: A Scalable Storage Manager for the MultiCore Era" 00086 * in Proceedings of the 12th EDBT, St. Petersburg, Russia, 2009 00087 * (http://diaswww.epfl.ch/shore-mt/papers/edbt09johnson.pdf) 00088 * 00089 *\section REFDLD Deadlock Detection 00090 * This paper is the basis for the deadlock detection used by 00091 * the storage manager's lock manager. 00092 * 00093 * \subsection KH1 [KH1] 00094 * E. Koskinen, M. Herlihy 00095 * "Dreadlocks: Efficient Deadlock Detection" 00096 * in SPAA '08, June 14-16, 2008, Munich, Germany 00097 * (http://www.cl.cam.ac.uk/~ejk39/papers/dreadlocks-spaa08.pdf) 00098 * 00099 *\section REFHASH Cuckoo Hashing 00100 * This paper describes cuckoo hashing, a variation of which 00101 * is used by the storage manager's buffer manager. 00102 * \subsection P1 [P1] 00103 * R Pagh 00104 * "Cuckoo Hashing for Undergraduates", 00105 * Lecture note, IT University of Copenhagen, 2006 00106 * (http://www.it-c.dk/people/pagh/papers/cuckoo-undergrad.pdf) 00107 * 00108 *\section ARIES ARIES Recovery 00109 * 00110 * Many papers fall under the topic "ARIES"; this is an early 00111 * paper that describes the logging and recovery. 00112 * 00113 *\subsection MHLPS [MHLPS] 00114 * C. Mohan, D. Haderle, B. Lindsay, H. Parahesh, P. Schwarz, 00115 * "ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking 00116 * and Partial Rollbacks Using Write-Ahead Logging" 00117 * IBM Almaden Reserch Center Technical Report RJ6649, Revised 11/2/90 00118 * 00119 *\section REFRTREE R*-Tree Indexes 00120 * This paper describes R*-Trees, the structure of the storage manager's 00121 * spatial indexes. 00122 * 00123 *\subsection BKSS [BKSS] 00124 * N. Beckmenn, H.P. Kriegel, R. Schneider, B. Seeger, 00125 * "The R*-Tree: An Efficient and Robust Access Method for Points and Rectangles" 00126 * in Proc. ACM SIGMOD Int. Conf. on Management of Data, 1990, pp. 322-331. 00127 * 00128 *\section REFBTREE B+-Tree Indexes 00129 * This describes the key-value locking and index-management locking, 00130 * as well as the details of how logging and recovery are handled for 00131 * B+-Trees in ARIES. 00132 *\subsection MOH1 [MOH1] 00133 * C. Mohan 00134 * "Concurrency Control and Recovery Methods for B+-Tree Indexes: ARIES/KVL and ARIES/IM" 00135 * IBM Almaden Reserch Center Technical Report RJ9715, March 1, 1994 00136 * 00137 *\section REFHUGEPAGE1 Huge Pages (hugetlbfs) 00138 * 00139 * If you have RHEL kernel documentation installed, see: 00140 * /usr/share/doc/kernel-doc-<version>/Documentation/vm/hugetlbpage.txt 00141 * 00142 *\subsection RHEL1 [RHEL1] 00143 * http://linux.web.cern.ch/linux/scientific5/docs/rhel/RHELTuningandOptimizationforOracleV11.pdf (access 5/18/2010) for information about using huge pages with 00144 * Linux (this is for Red Hat Linux). 00145 * 00146 *\subsection LINSYB1 [LINSYB1] 00147 * http://www.cyberciti.biz/tips/linux-hugetlbfs-and-mysql-performance.html (access 5/18/2010) for information about using hugetlbfs for SyBase. 00148 * 00149 *\subsection LINKER1 [LINKER1] 00150 * http://lxr.linux.no/source/Documentation/vm/hugetlbpage.txt (access 5/18/2010) for information about Linux kernel support for hugetlbfs. 00151 */ 00152