architectural principles for database systems on storage
play

Architectural Principles for Database Systems on Storage-Class - PowerPoint PPT Presentation

Architectural Principles for Database Systems on Storage-Class Memory Dr.-Ing. Ismail Oukid Dissertationspreis Vortrag BTW Rostock, March 8, 2019 Storage-Class Memory SCM is byte-addressable non-volatile memory Main Memory High Performance


  1. Architectural Principles for Database Systems on Storage-Class Memory Dr.-Ing. Ismail Oukid Dissertationspreis Vortrag BTW Rostock, March 8, 2019

  2. Storage-Class Memory SCM is byte-addressable non-volatile memory Main Memory High Performance Disk L1 Cache LL Cache DRAM SCM Flash Hard Drive SRAM EDRAM 2 21 2 23 2 13 2 15 2 17 2 19 2 5 2 7 2 9 2 11 2 1 2 3 Access Latency in Cycles for a 4 GHz Processor [1] SCM is a merging point between memory and storage [1] Qureshi et al. “Phase change memory: From devices to systems”. Synthesis Lectures of Computer Science, 2011. 2

  3. Research Question What are the implications of SCM for Database Systems? Goal: Explore opportunities and challenges Already investigated in the 1980s for FRAM and battery-backed DRAM What is different this time? Supported by Linux New SCM-targeted Standardized and Windows instructions NVDIMM form factor Slide partially inspired from Joy Arulraj‘s talk, “Write - Behind Logging”, SAP, September 2017 3

  4. SCM in the Memory Hierarchy CPU MOV Core Core Store Buffer Store Buffer … L1 L1 L2 L2 L3 - Cache load/store operations DRAM buffer pool file API Disk 4

  5. SCM in the Memory Hierarchy CPU Core Core Store Buffer Store Buffer … L1 L1 L2 L2 L3 - Cache DRAM buffer pool persistency Propagation to stable storage boundary under control of the DBMS UNDO / REDO Disk 5

  6. SCM in the Memory Hierarchy CPU MOV MOV Core Core Store Buffer Store Buffer … L1 L1 L2 L2 L3 - Cache same load/store operations SCM DRAM buffer pool file API Disk 6

  7. SCM in the Memory Hierarchy CPU Core Core Hardware controls Store Buffer Store Buffer … data propagation L1 L1 to SCM L2 L2 L3 - Cache persistency boundary SCM DRAM buffer pool Disk 7

  8. Path-Finding for Database Systems on SCM SOFORT Recovery Strategies Testing Framework for SCM-Based Databases Concurrency Control and Recovery Primitives Persistent Data Structures Persistent Memory Management 9

  9. Path-Finding for Database Systems on SCM SOFORT Recovery Strategies Testing Framework for SCM-Based Databases Concurrency Control and Recovery Primitives Persistent Data Structures Persistent Memory Management Oukid et al. Memory Management Techniques for Large-Scale Persistent-Main- Memory Systems. In VLDB‘17 10

  10. Persistent vs. Transient Memory Allocator Application application address space 1. Provide a recoverable addressing scheme Transient Persistent allocator allocator 2. Avoid persistent memory leaks Virtual memory subsystem DRAM SCM 11

  11. Path-Finding for Database Systems on SCM SOFORT Recovery Strategies Testing Framework for SCM-Based Databases Concurrency Control and Recovery Primitives Persistent Data Structures Persistent Memory Management Oukid et al. FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory. In SIGMOD‘16 12

  12. 1. Selective Persistence Volatile (DRAM) 2 5 7 Inner nodes in DRAM for better performance 1 2 3 4 5 6 7 Leaves in SCM to L1 L2 L3 L4 L5 L6 L7 ensure durability Persistent (SCM) Inner nodes rebuilt from leaves upon recovery in O(#entries) Recovery is up to 100x faster than a full rebuild 13

  13. Hardware Transactional Memory (HTM) Allows optimistic execution of critical sections Time Thread 2 L1 Cache Thread 1 Transactions keep read and XBEGIN 1 write sets in L1 cache XBEGIN Critical 1 section 2 Critical 2 FLUSH → Abort! section XEND XEND HTM and SCM are apparently incompatible 15

  14. 4. Selective Concurrency Transient – Hardware Transactional Memory 2 5 7 1 2 3 4 5 6 7 L4 L5 L6 L7 L2 L1 L3 L4 Persistent – Fine-grained locking 16

  15. Path-Finding for Database Systems on SCM SOFORT Recovery Strategies Testing Framework for SCM-Based Databases Concurrency Control and Recovery Primitives Persistent Data Structures Persistent Memory Management Oukid et al. SOFORT: A Hybrid SCM-DRAM Storage Engine for Fast Data Recovery . In DaMoN‘14 Oukid et al. Instant Recovery for Main- Memory Databases. In CIDR‘15 17

  16. Adapting MVCC to SCM SCM DRAM Employee Office Timestamps Transaction object Transaction object - Transaction ID (TXID) - List of modified rows Robinson Crusoe Despair Island (1, 4) - Start timestamp - Commit timestamp Oliver Twist London (2, inf) - List of read rows - List of modified rows August the Strong Dresden (3, inf) - Commit timestamp (CTS) Robinson Crusoe London (4, inf) Intuition: {list of modified Robinson Crusoe Despair Island CTS Undo Log rows + versioned data} ~= log Redo Log Robinson Crusoe London CTS No need for a central logging component 18

  17. Benefits of our MVCC Adaption to SCM Less system architecture complexity Potential for better scalability ✓ No central logging component Reduced data redundancy Faster recovery ✓ No redo phase during recovery Lower transaction latency ✓ No need for group commit 19

  18. Path-Finding for Database Systems on SCM SOFORT Recovery Strategies Testing Framework for SCM-Based Databases Concurrency Control and Recovery Primitives Persistent Data Structures Persistent Memory Management Oukid et al. Adaptive Recovery for SCM- Enabled Databases. In ADMS‘17 20

  19. Adaptive Recovery Intuition 1 : Secondary data structures are not equally important Recover indexes in order of importance → How to rank indexes? Intuition 2 : Some indexes are not useful for the current workload Release recovery resources after rebuilding important indexes → When to release resources? 21

  20. Path-Finding for Database Systems on SCM SOFORT Recovery Strategies Testing Framework for SCM-Based Databases Concurrency Control and Recovery Primitives Persistent Data Structures Persistent Memory Management Oukid et al. On Testing Persistent-Memory-Based Software. In DaMoN‘16 22

  21. Testing of SCM-Based Software 23

  22. Conclusion Thesis Goal: Research SCM opportunities and challenges for database systems Thesis Contributions: → Identified several SCM opportunities and challenges → Devised building blocks to solve the challenges and leverage the opportunities → Built SOFORT to demonstrate the opportunities brought by SCM for database systems Pave the way for future database systems on SCM 24

  23. Acknowledgements Supervisors Peter Bumbulis Thomas Willhalm Anisoara Nica Daniel Booss Prof. Wolfgang Lehner Supervised Students Grégoire Gomes Adrien Lespinasse Johan Lasperas Daniel Bossle 25

  24. Acknowledgements SAP HANA Campus Thesis Co-examiner TUD Database Systems Group Lars Dannecker Claudio Hartmann Arne Schwarz Ulrike Fischer Kai Herrmann Prof. Stefan Katrin Braunschweig Kasun Perera Manegold Julian Eberius Rihan Hai Tim Kiefer Ahmad Ahmadov Ingo Müller Frank Tetzel Robert Ulbricht Johannes Luong Marcus Paradies Matthias Hauck Ines Funke Annett Ungethüm Michael Rudolf Robin Rehrmann SAP and Intel Hannes Rauhe Stefan Noll Ulrike Schöbel Patrick Damme Colleagues Iraklis Psaroudakis Jonathan Dees Dirk Habich Lars Kegel Maik Thiele Juliana Hildebrandt Elena Vasilyeva Philipp Große Norman May Martin Hahmann Alexander Krause Florian Wolf Martin Kaufmann Alexander Boehm Hannes Voigt Mikhail Zarubin David Kernert Francesc Trull Roman Dementiev Robert Brunel Thomas Kissinger Elvis Koci Otto Bruggeman Georgios Psaropoulos Tobias Jäkel Nusrat Lisa Jahan Oliver Rebholz Tomas Karnagel Muhammad Idris Lucas Lersch Abdelkader Sellami Till Kolditz Rana Faisal Munir Thomas Bach 26

  25. Conclusion Thesis Goal: Research SCM opportunities and challenges for database systems Thesis Contributions: → Identified several SCM opportunities and challenges → Devised building blocks to solve the challenges and leverage the opportunities → Built SOFORT to demonstrate the opportunities brought by SCM for database systems Pave the way for future database systems on SCM Thank you! 27

Recommend


More recommend