Encyclopedia of Big Data Technologies

Living Edition
| Editors: Sherif Sakr, Albert Zomaya

Hardware-Assisted Transaction Processing: NVM

  • Ilia Petrov
  • Andreas Koch
  • Tobias Vinçon
  • Sergey Hardock
  • Christian Riegger
Living reference work entry
DOI: https://doi.org/10.1007/978-3-319-63962-8_202-1

Synonyms

Definitions

A transaction is a demarcated sequence of application operations, for which the following properties are guaranteed by the underlying transaction processing system (TPS): atomicity, consistency, isolation, and durability (ACID). Transactions are therefore a general abstraction, provided by TPS that simplifies application development by relieving transactional applications from the burden of concurrency and failure handling. Apart from the ACID properties, a TPS must guarantee high and robust performance (high transactional throughput and low response times), high reliability (no data loss, ability to recover last consistent state, fault tolerance), and high availability (infrequent outages, short recovery times).

The architectures and workhorse algorithms of a high-performance TPS are built around the properties of the underlying hardware. The introduction of nonvolatile...

This is a preview of subscription content, log in to check access

References

  1. Arulraj J, Pavlo A (2017) How to build a non-volatile memory database management system. In: Proceedings of the 2017 ACM international conference on management of data, SIGMOD’17. ACM, New York, pp 1753–1758. https://doi.org/10.1145/3035918.3054780
  2. Arulraj J, Pavlo A, Dulloor SR (2015) Let’s talk about storage & recovery methods for non-volatile memory database systems. In: Proceedings of the 2015 ACM SIGMOD international conference on management of data, SIGMOD’15. ACM, New York, pp 707–722. https://doi.org/10.1145/2723372.2749441
  3. Arulraj J, Perron M, Pavlo A (2016) Write-behind logging. Proc VLDB Endow 10(4):337–348. https://doi.org/10.14778/3025111.3025116
  4. Ben-David N, Blelloch GE, Fineman JT, Gibbons PB, Gu Y, McGuffey C, Shun J (2016) Parallel algorithms for asymmetric read-write costs. In: Proceedings of the 28th ACM symposium on parallelism in algorithms and architectures, SPAA’16. ACM, New York, pp 145–156. https://doi.org/10.1145/2935764.2935767
  5. Boehm HJ, Chakrabarti DR (2016) Persistence programming models for non-volatile memory. In: Proceedings of ISMMGoogle Scholar
  6. Chatzistergiou A, Cintra M, Viglas SD (2015a) Rewind: recovery write-ahead system for in-memory non-volatile data-structures. Proc VLDB Endow 8(5):497–508. https://doi.org/10.14778/2735479.2735483
  7. Chatzistergiou A, Cintra M, Viglas SD (2015b) Rewind: recovery write-ahead system for in-memory non-volatile data-structures. Proc VLDB Endow 8(5):497–508Google Scholar
  8. Chen S (2009) Flashlogging: exploiting flash devices for synchronous logging performance. In: SIGMODGoogle Scholar
  9. Chen S, Jin Q (2015) Persistent b+-trees in non-volatile main memory. Proc VLDB Endow 8(7):786–797Google Scholar
  10. Chen S, Gibbons PB, Nath S (2011) Rethinking database algorithms for phase change memory. In: Proceedings of CIDRGoogle Scholar
  11. Chi P, Lee WC, Xie Y (2014) Making b+-tree efficient in pcm-based main memory. In: Proceedings of ISLPED, vol 454, pp 69–74Google Scholar
  12. Coburn J, Caulfield AM, Akel A, Grupp LM, Gupta RK, Jhala R, Swanson S (2011) Nv-heaps: making persistent objects fast and safe with next-generation, non-volatile memories. SIGPLAN Not 46(3):105–118Google Scholar
  13. Condit J, Nightingale EB, Frost C, Ipek E, Lee B, Burger D, Coetzee D (2009) Better I/O through byte-addressable, persistent memory. In: Proceedings of SOSPGoogle Scholar
  14. DeBrabant J, Arulraj J, Pavlo A, Stonebraker M, Zdonik SB, Dulloor S (2014a) A prolegomenon on OLTP database systems for non-volatile memory. In: International workshop on accelerating data management systems using modern processor and storage architectures – ADMS’14, Hangzhou, 1 Sept 2014, pp 57–63Google Scholar
  15. DeBrabant J, Arulraj J, Pavlo A, Stonebraker M, Zdonik SB, Dulloor S (2014b) A prolegomenon on OLTP database systems for non-volatile memory. In: Proceedings of ADMSGoogle Scholar
  16. Dulloor SR, Kumar S, Keshavamurthy A, Lantz P, Reddy D, Sankaran R, Jackson J (2014) System software for persistent memory. In: Proceedings of EuroSys, pp 15:1–15:15Google Scholar
  17. Gao S, Xu J, Harder T, He B, Choi B, Hu H (2015) Pcmlogging: optimizing transaction logging and recovery performance with PCM. TKDE 27(12):3332–3346Google Scholar
  18. Graefe G (2015) Instant recovery for data center savings. SIGMOD Rec 44(2):29–34Google Scholar
  19. Graefe G, Sauer C, Guy W, Härder T (2015) Instant recovery with write-ahead logging. Datenbank-Spektrum 15(3):235–239Google Scholar
  20. Graefe G, Guy W, Sauer C (2016) Instant recovery with write-ahead logging: page repair, system restart, media restore, and system failover. Synthesis lectures on data management, 2nd edn. Morgan & Claypool Publishers, San RafaelGoogle Scholar
  21. Hardock S, Petrov I, Gottstein R, Buchmann A (2017) From in-place updates to in-place appends: revisiting out-of-place updates on flash. In: Proceedings of the 2017 ACM international conference on management of data, SIGMOD’17. ACM, New York, pp 1571–1586. https://doi.org/10.1145/3035918.3035958
  22. Huang J, Schwan K, Qureshi MK (2014) NVRAM-aware logging in transaction systems. Proc VLDB Endow 8(4):389–400. https://doi.org/10.14778/2735496.2735502
  23. Intel (2017) libpmem: persistent memory programming. http://pmem.io
  24. JEDEC (2017) JEDEC DDR5 and NVDIMM-P standards under development. https://www.jedec.org/news/pressreleases/jedec-ddr5-nvdimm-p-standards-under-development
  25. Kim YR, Whang KY, Song IY (2010) Page-differential logging: an efficient and DBMS-independent approach for storing data into flash memory. In: Proceedings of SIGMOD, pp 363–374Google Scholar
  26. Kim K, Lee S, Moon B, Park C, Hwang JY (2011) IPL-P: in-page logging with PCRAM. PVLDB 4(12):1363–1366Google Scholar
  27. Kim WH, Kim J, Baek W, Nam B, Won Y (2016) NVWAL: exploiting NVRAM in write-ahead logging. SIGOPS Oper Syst Rev 50(2):385–398Google Scholar
  28. Kimura H (2015) Foedus: OLTP engine for a thousand cores and NVRAM. In: Proceedings of SIGMODGoogle Scholar
  29. Kolli A, Pelley S, Saidi A, Chen PM, Wenisch TF (2016) High-performance transactions for persistent memories. SIGPLAN Not 51(4):399–411Google Scholar
  30. Lee S, Moon B, Park C, Hwang JY, Kim K (2010a) Accelerating in-page logging with non-volatile memory. IEEE Data Eng Bull 33(4):41–47Google Scholar
  31. Lee S, Moon B, Park C, Hwang JY, Kim K (2010b) Accelerating in-page logging with non-volatile memory. IEEE Data Eng Bull 33(4):41–47Google Scholar
  32. Liu RS, Shen DY, Yang CL, Yu SC, Wang CYM (2014) NVM duet. In: ASPLOS. ACM Press, New York, pp 455–470. https://doi.org/10.1145/2541940.2541957, http://dl.acm.org/citation.cfm?id=2541940.2541957, http://dl.acm.org/citation.cfm?doid=2541940.2541957
  33. Liu M, Zhang M, Chen K, Qian X, Wu Y, Zheng W, Ren J (2017) DudeTM. In: ASPLOS. ACM Press, New York, pp 329–343. https://doi.org/10.1145/3037697.3037714, http://alchem.usc.edu/portal/static/download/dudetm.pdf, http://dl.acm.org/citation.cfm?doid=3037697.3037714
  34. Ma L, Arulraj J, Zhao S, Pavlo A, Dulloor SR, Giardino MJ, Parkhurst J, Gardner JL, Doshi K, Zdonik S (2016) Larger-than-memory data management on modern storage hardware for in-memory OLTP database systems. In: Proceedings of the 12th international workshop on data management on new hardware, DaMoN’16. ACM, New York, pp 9:1–9:7. https://doi.org/10.1145/2933349.2933358
  35. Mao Y, Kohler E, Morris RT (2012) Cache craftiness for fast multicore key-value storage. In: Proceedings of EuroSysGoogle Scholar
  36. Memaripour A, Badam A, Phanishayee A, Zhou Y, Alagappan R, Strauss K, Swanson S (2017) Atomic in-place updates for non-volatile main memories with kamino-Tx. In: EuroSys, pp 499–512. https://doi.org/10.1145/3064176.3064215, http://dl.acm.org/citation.cfm?doid=3064176.3064215
  37. Mihnea A, Lemke C, Radestock G, Schulze R, Thiel C, Blanco R, Meghlan A, Sharique M, Seifert S, Vishnoi S, Booss D, Peh T, Schreter I, Thesing W, Wagle M, Willhalm T (2017) Sap hana adoption of non-volatile memory. Proc VLDB Endow 10(12):1754–1765. https://doi.org/10.14778/3137765.3137780
  38. Ogleari MA, Miller EL, Zhao J (2016) Relaxing persistent memory constraints with hardware-driven undo+redo logging. STABLE Tech Rep 002:1–18. https://pdfs.semanticscholar.org/0910/14f8f886b88d60d981816c12665ec4667672.pdf?_ga=2.32218686.1829609296.1513867920-1003521937.1513867920
  39. On ST, Xu J, Choi B, Hu H, He B (2012) Flag commit: supporting efficient transaction recovery in flash-based dbmss. IEEE Trans Knowl Data Eng 24(9):1624–1639Google Scholar
  40. Oukid I, Booss D, Lespinasse A, Lehner W, Willhalm T, Gomes G (2017) Memory management techniques for large-scale persistent-main-memory systems. Proc VLDB Endow 10(11):1166–1177. https://doi.org/10.14778/3137628.3137629
  41. Oukid I, Lehner W (2017) Data structure engineering for byte-addressable non-volatile memory. In: Proceedings of the 2017 ACM international conference on management of data, SIGMOD’17. ACM, New York, pp 1759–1764. https://doi.org/10.1145/3035918.3054777
  42. Oukid I, Booss D, Lehner W, Bumbulis P, Willhalm T (2014) SOFORT. In: Proceedings of the tenth international workshop on data management on new hardware – DaMoN’14. ACM Press, New York, pp 1–7. https://doi.org/10.1145/2619228.2619236, http://15721.courses.cs.cmu.edu/spring2016/papers/a8-oukid.pdf, http://dl.acm.org/citation.cfm?doid=2619228.2619236
  43. Oukid I, Lehner W, Kissinger T, Willhalm T, Bumbulis P (2015) Instant recovery for main memory databases. In: Proceedings of CIDRGoogle Scholar
  44. Oukid I, Lasperas J, Nica A, Willhalm T, Lehner W (2016) FPTree: a hybrid SCM-dram persistent and concurrent b-tree for storage class memory. In: Proceedings of the 2016 international conference on management of data, SIGMOD’16. ACM, New York, pp 371–386. https://doi.org/10.1145/2882903.2915251
  45. Pavlo A, Angulo G, Arulraj J, Lin H, Lin J, Ma L, Menon P, Mowry TC, Perron M, Quah I, Santurkar S, Tomasic A, Toor S, Aken DV, Wang Z, Wu Y, Xian R, Zhang T (2017) Self-driving database management systems. In: CIDR. http://db.cs.cmu.edu/papers/2017/p42-pavlo-cidr17.pdf
  46. Pelley S, Wenisch TF, Gold BT, Bridge B (2013a) Storage management in the NVRAM era. Proc VLDB Endow 7(2):121–132. https://doi.org/10.14778/2732228.2732231
  47. Pelley S, Wenisch TF, Gold BT, Bridge B (2013b) Storage management in the NVRAM era. Proc VLDB Endow 7(2):121–132Google Scholar
  48. Sadoghi M, Ross KA, Canim M, Bhattacharjee B (2016) Exploiting SSDs in operational multiversion databases. VLDB J 25(5):651–672Google Scholar
  49. Sauer C, Graefe G, Härder T (2015) Single-pass restore after a media failure. In: Proceedings of BTW, pp 217–236Google Scholar
  50. Schwalb D, Berning T, Faust M, Dreseler M, Plattner H (2015) NVM malloc: memory allocation for NVRAM. In: Proceedings of ADMS, pp 61–72Google Scholar
  51. Schwalb D, Faust M, Dreseler M, Flemming P, Plattner H (2016) Leveraging non-volatile memory for instant restarts of in-memory database systems. In: 2016 IEEE 32nd international conference on data engineering (ICDE), pp 1386–1389.  https://doi.org/10.1109/ICDE.2016.7498351
  52. Tu S, Zheng W, Kohler E, Liskov B, Madden S (2013) Speedy transactions in multicore in-memory databases. In: Proceedings of SOSP, pp 18–32Google Scholar
  53. Viglas SD (2012) Adapting the B-tree for asymmetric I/O. In: Proceedings of the 16th East European conference on advances in databases and information systems, ADBIS’12. Springer, Berlin/Heidelberg, pp 399–412. https://doi.org/10.1007/978-3-642-33074-2_30
  54. Viglas SD (2015) Data management in non-volatile memory. In: Proceedings of the 2015 ACM SIGMOD international conference on management of data, SIGMOD’15. ACM, New York, pp 1707–1711. https://doi.org/10.1145/2723372.2731082
  55. Volos H, Tack AJ, Swift MM (2011) Mnemosyne: lightweight persistent memory. Asplos 22:1–13. https://doi.org/10.1145/1950365.1950379, http://research.cs.wisc.edu/sonar/papers/mnemosyne-osdi2010-poster_abstract.pdf
  56. Volos H, Nalli S, Panneerselvam S, Varadarajan V, Saxena P, Swift MM (2014) Aerie: flexible file-system interfaces to storage-class memory. In: Proceedings of EuroSys, pp 14:1–14:14Google Scholar
  57. Wang T, Johnson R (2014) Scalable logging through emerging non-volatile memory. Proc VLDB Endow 7(10):865–876Google Scholar
  58. Xu J, Swanson S (2016) Nova: a log-structured file system for hybrid volatile/non-volatile main memories. In: Proceedings of FASTGoogle Scholar
  59. Yang J, Wei Q, Chen C, Wang C, Yong KL, He B (2015) Nv-tree: reducing consistency cost for NVM-based single level systems. In: Proceedings of FAST, pp 167–181Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  • Ilia Petrov
    • 1
  • Andreas Koch
    • 2
  • Tobias Vinçon
    • 1
  • Sergey Hardock
    • 3
  • Christian Riegger
    • 1
  1. 1.Data Management LabReutlingen UniversityReutlingenGermany
  2. 2.Embedded Systems and Applications GroupTU DarmstadtDarmstadtGermany
  3. 3.DVSTU DarmstadtDarmstadtGermany

Section editors and affiliations

  • Mohammad Sadoghi

There are no affiliations available