Non-Volatile Memory Database Management Systems

Abstract This book explores the implications of non-volatile memory (NVM) for database management systems (DBMSs). The advent of NVM will fundamentally change the dichotomy between volatile memory ...

[1]  Andrew Pavlo,et al.  Write-Behind Logging , 2016, Proc. VLDB Endow..

[2]  Andrew Pavlo,et al.  How to Build a Non-Volatile Memory Database Management System , 2017, SIGMOD Conference.

[3]  Mary Baker,et al.  Non-volatile memory for fast, reliable file systems , 1992, ASPLOS V.

[4]  Jignesh M. Patel,et al.  High-Performance Concurrency Control Mechanisms for Main-Memory Databases , 2011, Proc. VLDB Endow..

[5]  Michael Stonebraker,et al.  Rethinking main memory OLTP recovery , 2014, 2014 IEEE 30th International Conference on Data Engineering.

[6]  Scott Hahn,et al.  A protected block device for Persistent Memory , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

[7]  Shan Lu,et al.  Leveraging the short-term memory of hardware to diagnose production-run software failures , 2014, ASPLOS.

[8]  Mark Lillibridge,et al.  In-Memory Performance for Big Data , 2014, Proc. VLDB Endow..

[9]  Parthasarathy Ranganathan,et al.  Consistent, durable, and safe memory management for byte-addressable non volatile main memory , 2013, TRIOS@SOSP.

[10]  Michael Stonebraker,et al.  OLTP through the looking glass, and what we found there , 2019, Making Databases Work.

[11]  Dhruva R. Chakrabarti,et al.  Implications of CPU Caching on Byte-addressable Non-Volatile Memory Programming , 2012 .

[12]  Guy E. Blelloch,et al.  Sorting with Asymmetric Read and Write Costs , 2015, SPAA.

[13]  Patrick E. O'Neil,et al.  The log-structured merge-tree (LSM-tree) , 1996, Acta Informatica.

[14]  Matthias S. Müller,et al.  Memory Performance and Cache Coherency Effects on an Intel Nehalem Multiprocessor System , 2009, 2009 18th International Conference on Parallel Architectures and Compilation Techniques.

[15]  Qin Jin,et al.  Persistent B+-Trees in Non-Volatile Main Memory , 2015, Proc. VLDB Endow..

[16]  Michael J. Franklin Concurrency Control and Recovery. , 2014 .

[17]  Irving L. Traiger,et al.  The Recovery Manager of the System R Database Manager , 1981, CSUR.

[18]  Yoshiyasu Doi,et al.  Managing Non-Volatile Memory in Database Systems , 2018, SIGMOD Conference.

[19]  Andrew Pavlo,et al.  An Empirical Evaluation of In-Memory Multi-Version Concurrency Control , 2017, Proc. VLDB Endow..

[20]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[21]  Thomas F. Wenisch,et al.  Memory persistency , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[22]  Fang Liu,et al.  WAlloc: An efficient wear-aware allocator for non-volatile main memory , 2015, 2015 IEEE 34th International Performance Computing and Communications Conference (IPCCC).

[23]  Karsten Schwan,et al.  NVRAM-aware Logging in Transaction Systems , 2014, Proc. VLDB Endow..

[24]  Sang-Won Lee,et al.  SQLite Optimization with Phase Change Memory for Mobile Applications , 2015, Proc. VLDB Endow..

[25]  Christopher Frost,et al.  Better I/O through byte-addressable, persistent memory , 2009, SOSP '09.

[26]  Ismail Oukid,et al.  SOFORT: a hybrid SCM-DRAM storage engine for fast data recovery , 2014, DaMoN '14.

[27]  Robert H. Dennard,et al.  Challenges and future directions for the scaling of dynamic random-access memory (DRAM) , 2002, IBM J. Res. Dev..

[28]  Karsten Schwan,et al.  Data tiering in heterogeneous memory systems , 2016, EuroSys.

[29]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[30]  Hector Garcia-Molina,et al.  Main Memory Database Systems: An Overview , 1992, IEEE Trans. Knowl. Data Eng..

[31]  Kai Ren,et al.  SlimDB: A Space-Efficient Key-Value Storage Engine For Semi-Sorted Data , 2017, Proc. VLDB Endow..

[32]  Hideaki Kimura,et al.  FOEDUS: OLTP Engine for a Thousand Cores and NVRAM , 2015, SIGMOD Conference.

[33]  Aasheesh Kolli,et al.  Architecting Persistent Memory Systems , 2017 .

[34]  Karthick Rajamani,et al.  Energy Management for Commercial Servers , 2003, Computer.

[35]  Ryan Stutsman,et al.  To Lock, Swap, or Elide: On the Interplay of Hardware Transactional Memory and Lock-Free Indexing , 2015, Proc. VLDB Endow..

[36]  Per-Åke Larson,et al.  Easy Lock-Free Indexing in Non-Volatile Memory , 2018, 2018 IEEE 34th International Conference on Data Engineering (ICDE).

[37]  Maurice Herlihy,et al.  A Methodology for Implementing Highly Concurrent Data Objects , 1992, OPSR.

[38]  Amos Israeli,et al.  Disjoint-access-parallel implementations of strong shared memory primitives , 1994, PODC '94.

[39]  Rajesh Gupta,et al.  From ARIES to MARS: transaction support for next-generation, solid-state drives , 2013, SOSP.

[40]  A. L. Narasimha Reddy,et al.  SCMFS: A file system for Storage Class Memory , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[41]  Hyojun Kim,et al.  Evaluating Phase Change Memory for Enterprise Storage Systems: A Study of Caching and Tiering Approaches , 2014, TOS.

[42]  Andrew Pavlo,et al.  Bridging the Archipelago between Row-Stores and Column-Stores for Hybrid Workloads , 2016, SIGMOD Conference.

[43]  Ryan Johnson,et al.  Scalable Logging through Emerging Non-Volatile Memory , 2014, Proc. VLDB Endow..

[44]  Stratis Viglas,et al.  Efficient persist barriers for multicores , 2015, 2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[45]  Viktor Leis,et al.  Query Processing and Optimization in Modern Database Systems , 2017, BTW.

[46]  Ilia Petrov,et al.  Making cost-based query optimization asymmetry-aware , 2012, DaMoN '12.

[47]  Michael Stonebraker,et al.  Anti-Caching: A New Approach to Database Management System Architecture , 2013, Proc. VLDB Endow..

[48]  Stratis Viglas,et al.  Adapting the B + -tree for Asymmetric I/O , 2012, ADBIS.

[49]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[50]  Guy E. Blelloch,et al.  Parallel Algorithms for Asymmetric Read-Write Costs , 2016, SPAA.

[51]  Yuan Xie,et al.  Kiln: Closing the performance gap between systems with and without persistence support , 2013, 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[52]  Ismail Oukid,et al.  FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory , 2016, SIGMOD Conference.

[53]  Michael M. Swift,et al.  Aerie: flexible file-system interfaces to storage-class memory , 2014, EuroSys '14.

[54]  Alan Jay Smith,et al.  Characteristics of production database workloads and the TPC benchmarks , 2001, IBM Syst. J..

[55]  Jianliang Xu,et al.  PCMLogging: reducing transaction logging overhead with PCM , 2011, CIKM '11.

[56]  Stratis Viglas,et al.  Write-limited sorts and joins for persistent memory , 2014, Proc. VLDB Endow..

[57]  Mendel Rosenblum,et al.  Fast crash recovery in RAMCloud , 2011, SOSP.

[58]  M. P. Vecchi,et al.  Optimization by simulated annealing , 1987 .

[59]  Philippas Tsigas,et al.  Lock-free deques and doubly linked lists , 2008, J. Parallel Distributed Comput..

[60]  Kyu Ho Park,et al.  Adaptive page grouping for energy efficiency in hybrid PRAM-DRAM main memory , 2012, RACS.

[61]  Goetz Graefe,et al.  Foster b-trees , 2012, TODS.

[62]  Sudipta Sengupta,et al.  The Bw-Tree: A B-tree for new hardware platforms , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

[63]  Mihnea Andrei,et al.  SAP HANA Adoption of Non-Volatile Memory , 2017, Proc. VLDB Endow..

[64]  Anastasia Ailamaki,et al.  Enabling efficient OS paging for main-memory OLTP databases , 2013, DaMoN '13.

[65]  Sanjay Kumar,et al.  System software for persistent memory , 2014, EuroSys '14.

[66]  Viktor Leis,et al.  The ART of practical synchronization , 2016, DaMoN '16.

[67]  Carlo Curino,et al.  OLTP-Bench: An Extensible Testbed for Benchmarking Relational Databases , 2013, Proc. VLDB Endow..

[68]  Subramanya Dulloor,et al.  Let's Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems , 2015, SIGMOD Conference.

[69]  Thomas F. Wenisch,et al.  Storage Management in the NVRAM Era , 2013, Proc. VLDB Endow..

[70]  Radu Stoica,et al.  Identifying hot and cold data in main-memory databases , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

[71]  Wolfgang Lehner,et al.  Efficient transaction processing in SAP HANA database: the end of a column store myth , 2012, SIGMOD Conference.

[72]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.

[73]  OHAD RODEH,et al.  B-trees, shadowing, and clones , 2008, TOS.

[74]  H. V. Jagadish,et al.  Recovery Algorithms for Database Machines with Nonvolatile Main Memory , 1989, IWDM.

[75]  Michael Stonebraker,et al.  H-store: a high-performance, distributed main memory transaction processing system , 2008, Proc. VLDB Endow..

[76]  D. Stewart,et al.  The missing memristor found , 2008, Nature.

[77]  Timothy J. Slegel,et al.  Transactional Memory Architecture and Implementation for IBM System Z , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

[78]  Ismail Oukid,et al.  Memory Management Techniques for Large-Scale Persistent-Main-Memory Systems , 2017, Proc. VLDB Endow..

[79]  Stratis Viglas,et al.  REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures , 2015, Proc. VLDB Endow..

[80]  James H. Anderson,et al.  Implementing wait-free objects on priority-based systems , 1997, PODC '97.

[81]  Thomas F. Wenisch,et al.  Delegated persist ordering , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[82]  Ismail Oukid,et al.  Data Structure Engineering For Byte-Addressable Non-Volatile Memory , 2017, SIGMOD Conference.

[83]  Thomas E. Anderson,et al.  Strata: A Cross Media File System , 2017, SOSP.

[84]  Adolf Hohl,et al.  Hyrise-NV: Instant Recovery for In-Memory Databases Using Non-Volatile Memory , 2016, DASFAA.

[85]  Craig Freedman,et al.  Hekaton: SQL server's memory-optimized OLTP engine , 2013, SIGMOD '13.

[86]  Ahmed Eldawy,et al.  Trekking Through Siberia: Managing Cold Data in a Memory-Optimized Database , 2014, Proc. VLDB Endow..

[87]  Michael Haubenschild,et al.  LeanStore: In-Memory Data Management beyond Main Memory , 2018, 2018 IEEE 34th International Conference on Data Engineering (ICDE).

[88]  Ismail Oukid,et al.  On testing persistent-memory-based software , 2016, DaMoN '16.

[89]  Ricardo Bianchini,et al.  Page placement in hybrid memory systems , 2011, ICS '11.

[90]  Chao Wang,et al.  NVMalloc: Exposing an Aggregate SSD Store as a Memory Partition in Extreme-Scale Machines , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[91]  Dimitrios S. Nikolopoulos,et al.  Energy-Efficient In-Memory Data Stores on Hybrid Memory Hierarchies , 2015, DaMoN.

[92]  Christopher J. Hughes,et al.  Performance evaluation of Intel® Transactional Synchronization Extensions for high-performance computing , 2013, 2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[93]  Shan Lu,et al.  Production-run software failure diagnosis via hardware performance counters , 2013, ASPLOS '13.

[94]  Stratis Viglas,et al.  Data Management in Non-Volatile Memory , 2015, SIGMOD Conference.

[95]  Shih-Hung Chen,et al.  Phase-change random access memory: A scalable technology , 2008, IBM J. Res. Dev..

[96]  Eugene Wong,et al.  Query optimization by simulated annealing , 1987, SIGMOD '87.

[97]  Carlo Curino,et al.  Skew-aware automatic database partitioning in shared-nothing, parallel OLTP systems , 2012, SIGMOD Conference.

[98]  Babak Falsafi,et al.  Shore-MT: a scalable storage manager for the multicore era , 2009, EDBT '09.

[99]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

[100]  Trevor N. Mudge,et al.  An Analytical Model for Designing Memory Hierarchies , 1996, IEEE Trans. Computers.

[101]  Alfons Kemper,et al.  Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems , 2015, SIGMOD Conference.

[102]  Ren-Shuo Liu,et al.  NVM duet: unified working memory and persistent store architecture , 2014, ASPLOS.

[103]  Jian Xu,et al.  NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System , 2017, SOSP.

[104]  Eddie Kohler,et al.  Cache craftiness for fast multicore key-value storage , 2012, EuroSys '12.

[105]  Youyou Lu,et al.  Loose-Ordering Consistency for persistent memory , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).

[106]  C. Mohan,et al.  High performance database logging using storage class memory , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[107]  Keir Fraser,et al.  A Practical Multi-word Compare-and-Swap Operation , 2002, DISC.

[108]  Michael Stonebraker,et al.  The End of an Architectural Era (It's Time for a Complete Rewrite) , 2007, VLDB.

[109]  Lin Ma,et al.  Larger-than-memory data management on modern storage hardware for in-memory OLTP database systems , 2016, DaMoN '16.

[110]  Goetz Graefe,et al.  Instant recovery with write-ahead logging , 2015, Datenbank-Spektrum.

[111]  Slawomir Pilarski,et al.  Checkpointing for Distributed Databases: Starting from the Basics , 1992, IEEE Trans. Parallel Distributed Syst..

[112]  Jeffrey S. Vetter,et al.  Algorithm-Directed Data Placement in Explicitly Managed Non-Volatile Memory , 2016, HPDC.

[113]  Viktor Leis,et al.  The adaptive radix tree: ARTful indexing for main-memory databases , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).