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.6 2010/09/15 18:35:30 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 * These links were valid on 8/31/2010. 00038 * 00039 * \anchor REFSYNC 00040 * \htmlonly 00041 * <b><font color=#B2222 size=5> Synchronization Primitives 00042 * </font> </b> 00043 * \endhtmlonly 00044 * 00045 * These are papers are pertinent to the synchronization primitives used 00046 * in the threads layer of the storage manager. 00047 * 00048 * \section JPA1 [JPA1] 00049 * R. Johnson, I. Pandis, A. Ailamaki. 00050 * "Critical Sections: Re-emerging Scalability Concerns for Database Storage Engines" 00051 * in Proceedings of the 4th. DaMoN, Vancouver, Canada, June 2008 00052 * (http://doi.acm.org/10.1145/1457150.1457157 http://www.db.cs.cmu.edu/db-site/Pubs/#DBMS:General) 00053 * 00054 * \section B1 [B1] 00055 * H-J Boehm. 00056 * "Reordering Constraints for Pthread-Style Locks" 00057 * HP Technical Report HPL-2005-217R1, September 2006 00058 * (http://doi.acm.org/10.1145/1229428.1229470 http://www.hpl.hp.com/techreports/2005/HPL-2005-217R1.pdf) 00059 * 00060 * \section MCS1 [MCS1] 00061 * J.M. Mellor-Crummey, M.L. Scott 00062 * "Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors" 00063 * in 00064 * ACM Transactions on Computer Systems, Vol 9, No. 1, February, 1991, pp 00065 * 20-65 00066 * (http://doi.acm.org/10.1145/103727.103729 http://www.cs.rice.edu/~johnmc/papers/tocs91.pdf) 00067 * 00068 * \section SS1 [SS1] 00069 * M.L.Scott, W.N. Scherer III 00070 * "Scalable Queue-Based Spin Locks with Timeout" 00071 * in PPOPP '01, June 18-20, 2001, Snowbird, Utah, USA 00072 * (http://doi.acm.org/10.1145/379539.379566 http://www.cs.rochester.edu/u/scott/papers/2001_PPoPP_Timeout.pdf) 00073 * 00074 * \section HSS1 [HSS1] 00075 * B. He, M.L.Scott, W.N. Scherer III 00076 * "Preemption Adaptivity in Time-Published Queue-Based Spin Locks" 00077 * in Proceedings of HiPC 2005: 12th International Conference, Goa, India, December 18-21, 00078 * (http://www.springer.com/computer/swe/book/978-3-540-30936-9 and 00079 * http://www.cs.rice.edu/~wns1/papers/2005-HiPC-TPlocks.pdf) 00080 * 00081 * \anchor REFSMT 00082 * \htmlonly 00083 * <b><font color=#B2222 size=5> SHORE-MT 00084 * </font> </b> 00085 * \endhtmlonly 00086 * 00087 * This paper describes the DIAS Shore-MT release. 00088 * 00089 * \section JPHAF1 [JPHAF1] 00090 * R. Johnson, I. Pandis, N. Hardavellas, A. Ailamaki, B. Falsaff 00091 * "Shore-MT: A Scalable Storage Manager for the MultiCore Era" 00092 * in Proceedings of the 12th EDBT, St. Petersburg, Russia, 2009 00093 * (http://doi.acm.org/10.1145/1516360.1516365 http://diaswww.epfl.ch/shore-mt/papers/edbt09johnson.pdf) 00094 * 00095 * \anchor REFDLD 00096 * \htmlonly 00097 * <b><font color=#B2222 size=5> Deadlock Detection 00098 * </font> </b> 00099 * \endhtmlonly 00100 * 00101 * This paper is the basis for the deadlock detection used by 00102 * the storage manager's lock manager. 00103 * 00104 * \section KH1 [KH1] 00105 * E. Koskinen, M. Herlihy 00106 * "Dreadlocks: Efficient Deadlock Detection" 00107 * in SPAA '08, June 14-16, 2008, Munich, Germany 00108 * (http://doi.acm.org/10.1145/1378533.1378585 http://www.cl.cam.ac.uk/~ejk39/papers/dreadlocks-spaa08.pdf) 00109 * 00110 * \anchor REFHASH 00111 * \htmlonly 00112 * <b><font color=#B2222 size=5> Cuckoo Hashing 00113 * </font> </b> 00114 * \endhtmlonly 00115 * 00116 * This paper describes cuckoo hashing, a variation of which 00117 * is used by the storage manager's buffer manager. 00118 * \section P1 [P1] 00119 * R. Pagh 00120 * "Cuckoo Hashing for Undergraduates", 00121 * Lecture note, IT University of Copenhagen, 2006 00122 * (http://www.it-c.dk/people/pagh/papers/cuckoo-undergrad.pdf) 00123 * 00124 * See also 00125 * R. Pagh, F. F. Rodler 00126 * "Cuckoo Hashing" 00127 * in Procedings of the 9th Annual European Symposium on Algorithms, 00128 * p. 121-133, August 28-31, 2001, ISBN 3-540-42493-8 00129 * 00130 * 00131 * \anchor REFARIES 00132 * \htmlonly 00133 * <b><font color=#B2222 size=5> ARIES Recovery 00134 * </font> </b> 00135 * \endhtmlonly 00136 * 00137 * Many papers fall under the topic "ARIES"; this is an early 00138 * paper that describes the logging and recovery. 00139 * 00140 *\section MHLPS [MHLPS] 00141 * C. Mohan, D. Haderle, B. Lindsay, H. Parahesh, P. Schwarz, 00142 * "ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking 00143 * and Partial Rollbacks Using Write-Ahead Logging" 00144 * IBM Almaden Reserch Center Technical Report RJ6649, Revised 11/2/90 00145 * Also in 00146 * ACM Transactions on Database Systems (TODS) Volume 17, Issue 1 (March 1992), pp. 94-162 00147 * (http://doi.acm.org/10.1145/128765.128770) 00148 * 00149 * \anchor REFRTREE 00150 * \htmlonly 00151 * <b><font color=#B2222 size=5> R*-Tree Indexes 00152 * </font> </b> 00153 * \endhtmlonly 00154 * 00155 * This paper describes R*-Trees, the structure of the storage manager's 00156 * spatial indexes. 00157 * 00158 *\section BKSS [BKSS] 00159 * N. Beckmenn, H.P. Kriegel, R. Schneider, B. Seeger, 00160 * "The R*-Tree: An Efficient and Robust Access Method for Points and Rectangles" 00161 * in Proc. ACM SIGMOD International Conference on Management of Data, 1990, pp. 322-331. 00162 * (http://doi.acm.org/10.1145/93597.98741) 00163 * 00164 * \anchor REFBTREE 00165 * \htmlonly 00166 * <b><font color=#B2222 size=5> B+ - Tree Indexes 00167 * </font> </b> 00168 * \endhtmlonly 00169 * 00170 * This describes the key-value locking and index-management locking, 00171 * as well as the details of how logging and recovery are handled for 00172 * B+-Trees in ARIES. 00173 * 00174 *\section MOH1 [MOH1] 00175 * C. Mohan 00176 * "Concurrency Control and Recovery Methods for B+-Tree Indexes: ARIES/KVL and ARIES/IM" 00177 * IBM Almaden Reserch Center Technical Report RJ9715, March 1, 1994 00178 * 00179 * \anchor REFHUGEPAGE1 00180 * \htmlonly 00181 * <b><font color=#B2222 size=5> Huge Pages (hugetlbfs) </font> </b> 00182 * \endhtmlonly 00183 * 00184 * If you have RHEL kernel documentation installed, see: 00185 * /usr/share/doc/kernel-doc-<version>/Documentation/vm/hugetlbpage.txt 00186 * 00187 *\section RHEL1 [RHEL1] 00188 * http://linux.web.cern.ch/linux/scientific5/docs/rhel/RHELTuningandOptimizationforOracleV11.pdf for information about using huge pages with 00189 * Linux (this is for Red Hat Linux). 00190 * 00191 *\section LINSYB1 [LINSYB1] 00192 * http://www.cyberciti.biz/tips/linux-hugetlbfs-and-mysql-performance.html for information about using hugetlbfs for SyBase. 00193 * 00194 *\section LINKER1 [LINKER1] 00195 * http://lxr.linux.no/source/Documentation/vm/hugetlbpage.txt for information about Linux kernel support for hugetlbfs. 00196 * 00197 00198 * \anchor REFMISCSHOREPAPERS 00199 * \htmlonly 00200 * <b><font color=#B2222 size=5> Other Work Using the SHORE Storage Manager 00201 * </font> </b> 00202 * \endhtmlonly 00203 * 00204 * This section contains a small subset of the published papers whose work used the SHORE storage manager. 00205 * 00206 * \section JPA2 [JPA2] 00207 * R. Johnson, I. Pandis, A. Ailamaki 00208 * "Improving OLTP Scalability Using Speculative Lock Inheritance" 00209 * in Proceedings of the VLDB Endowment, Volume 2, Issue 1 August 2009 00210 * (http://www.cs.cmu.edu/~ipandis/resources/vldb09johnson.pdf) 00211 * 00212 * \section JPSAA1 [JPSAA1] 00213 * R. Johnson, I. Pandis, R. Stoica, M. Athanassoulis, A. Ailamaki 00214 * "Aether: A Scalable Approach to Logging" 00215 * in Proceedings of the 36th International Conference on Very Large Data Bases, 00216 * Singapore, 00217 * Sept 13-17, 2010. 00218 * and in Proceedings of the VLDB Endowment, Volume 3, Issue 1. 00219 * (http://www.cs.cmu.edu/~ipandis/resources/vldb10aether.pdf) 00220 * 00221 * \section JASA [JASA1] 00222 * R. Johnson, M. Athanassoulis, R. Stoica, A. Ailamaki 00223 * "A New Look at the Roles of Spinning and Blocking" 00224 * in Proceedings of the 5th International Workshop on Data Management on New Hardware, 00225 * Providence, Rhode Island, June 28, 2009, pp. 21-26 00226 * (http://doi.acm.org/10.1145/1565694.1565700) 00227 * 00228 * \section HAMS [HAMS1] 00229 * S. Harizopoulos, D. Abadi, S. Madden, M. Stonebraker 00230 * "OLTP Through the Looking Glass, and What We Found There" 00231 * in Proceedings of SIGMOD '08, Vancouver, BC, Canada, June 9-12, 2008 00232 * (http://doi.acm.org/10.1145/11376616.1376713) 00233 * 00234 * \section RDS [RDS1] 00235 * R. Ramamurthy, D. DeWitt, Q. Su 00236 * "A Case for Fractured Mirrors" 00237 * in VLDB Journal, Volume 12, Issue 1, pp. 89-101, August 2003 00238 * (http://dx.doi.org/10.1007/s00778-003-0093-1) 00239 * 00240 * \section KFDA [KFDA1] 00241 * D. Kossmann, M.J. Franklin, G. Drasch, Wig Ag 00242 * "Cache Investment: Integrating Query Optimization and Distributed Data Placement" 00243 * in ACM Transactions on Database Systems (TODS), Volume 25, Issue 4, December 2000 00244 * (http://doi.acm.org/10.1145/377673.377677) 00245 * 00246 * \section KFDA [KFDA1] 00247 * Y. Chen, J.M. Patel 00248 * "Design and Evaluation of Trajectory Join Algorithms" 00249 * in ACM GIS '09, Seattle, Washington, November 4-6, 2009 00250 * (http://doi.acm.org/10.1145/1653771.1653809) 00251 * 00252 * 00253 * \section CZZSS1 [CZZSS1] 00254 * Z. Chen, Y. Zhang, Y. Zhou, H. Scott, B. Shiefer 00255 * "Empirical Evaluation of Multi-level Buffer Cache Collaboration for Storage Systems" 00256 * in Proceedings of the 2005 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, 00257 * Banff, Alberta, Canada, 00258 * June 6-10 2005, 00259 * pp. 145-156 00260 * (http://doi.acm.org/10.1145/1064212.1064230) 00261 * 00262 * \section MWSZG1 [MWSZG1] 00263 * M.P. Mesnier, M. Wachs, R.R. Sambasivan, A.Z. Zheng, G.R. Ganger 00264 * "Modeling the Relative Fitness of Storage", 00265 * in Proceedings of the 2007 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, 00266 * Best Paper Award, 00267 * San Diego, CA, 00268 * June 12-16 2007, 00269 * pp 37-48 00270 * (http://doi.acm.org/10.1145/1254882.1254887) 00271 * 00272 * \section PCC1 [PCC1] 00273 * J.M. Patel, Y. Chen, V.P. Chakka, 00274 * "STRIPES: An Efficient Index for Predicted Trajectories" 00275 * in Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data, 00276 * Paris, France, 00277 * June 13-18 2004, 00278 * (http://doi.acm.org/10.1145/1007568.1007639) 00279 * pp. 635-646 00280 * 00281 * \section ADH1 [ADH1] 00282 * A. Ailamaki, D.J.DeWitt, M.D.Hill, 00283 * "Data Page Layouts For Relations Databases on Deep Memory Hierarchies", 00284 * in VLDB Journal, Volume 11, Issue 3, November 2002, pp. 198-215 00285 * (http://dx.doi.org/10.1007/s00778-002-0074-9) 00286 */