skip to main content
10.1145/3035918.3064011acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Fast Failure Recovery for Main-Memory DBMSs on Multicores

Authors Info & Claims
Published:09 May 2017Publication History

ABSTRACT

Main-memory database management systems (DBMS) can achieve excellent performance when processing massive volume of on-line transactions on modern multi-core machines. But existing durability schemes, namely, tuple-level and transaction-level logging-and-recovery mechanisms, either degrade the performance of transaction processing or slow down the process of failure recovery. In this paper, we show that, by exploiting application semantics, it is possible to achieve speedy failure recovery without introducing any costly logging overhead to the execution of concurrent transactions. We propose PACMAN, a parallel database recovery mechanism that is specifically designed for lightweight, coarse-grained transaction-level logging. PACMAN leverages a combination of static and dynamic analyses to parallelize the log recovery: at compile time, PACMAN decomposes stored procedures by carefully analyzing dependencies within and across programs; at recovery time, PACMAN exploits the availability of the runtime parameter values to attain an execution schedule with a high degree of parallelism. As such, recovery performance is remarkably increased. We evaluated PACMAN in a fully-fledged main-memory DBMS running on a 40-core machine. Compared to several state-of-the-art database recovery mechanisms, can significantly reduce recovery time without compromising the efficiency of transaction processing.

References

  1. MySQL. http://www.mysql.com.Google ScholarGoogle Scholar
  2. OLTPBench. http://oltpbenchmark.com/.Google ScholarGoogle Scholar
  3. Oracle. http://www.oracle.com.Google ScholarGoogle Scholar
  4. F. E. Allen. Control Flow Analysis. In ACM SIGPLAN Notices, 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. M. Austin and G. S. Sohi. Dynamic Dependency Analysis of Ordinary Programs. In ISCA, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. Cao, M. Vaz Salles, B. Sowell, Y. Yue, A. Demers, J. Gehrke, and W. White. Fast Checkpoint Recovery Algorithms for Frequently Consistent Applications. In SIGMOD, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Cheung, S. Madden, O. Arden, and A. C. Myers. Automatic Partitioning of Database Applications. In VLDB, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. C. Corbett, J. Dean, M. Epstein, A. Fikes, C. Frost, J. J. Furman, S. Ghemawat, A. Gubarev, C. Heiser, P. Hochschild, W. Hsieh, S. Kanthak, E. Kogan, H. Li, A. Lloyd, S. Melnik, D. Mwaura, D. Nagle, S. Quinlan, R. Rao, L. Rolig, Y. Saito, M. Szymaniak, C. Taylor, R. Wang, and D. Woodford. Spanner: Google's Globally-Distributed Database. In OSDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. J. DeWitt, R. H. Katz, F. Olken, L. D. Shapiro, M. R. Stonebraker, and D. A. Wood. Implementation Techniques for Main Memory Database Systems. In SIGMOD, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Diaconu, C. Freedman, E. Ismert, P.-A. Larson, P. Mittal, R. Stonecipher, N. Verma, and M. Zwilling. Hekaton: SQL Server's Memory-Optimized OLTP Engine. In SIGMOD, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. E. Difallah, A. Pavlo, C. Curino, and P. Cudre-Mauroux. OLTP-Bench: An Extensible Testbed for Benchmarking Relational Databases. In VLDB, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Gawlick and D. Kinkade. Varieties of Concurrency Control in IMS/VS Fast Path. IEEE Data Eng. Bull., 8(2), 1985.Google ScholarGoogle Scholar
  13. J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Grund, J. Krüger, H. Plattner, A. Zeier, P. Cudre-Mauroux, and S. Madden. HYRISE: A Main-Memory Hybrid Storage Engine. In VLDB, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Johnson, I. Pandis, N. Hardavellas, A. Ailamaki, and B. Falsafi. Shore-MT: A Scalable Storage Manager for the Multicore Era. In EDBT, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Johnson, I. Pandis, R. Stoica, M. Athanassoulis, and A. Ailamaki. Aether: A Scalable Approach to Logging. In VLDB, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Kallman, H. Kimura, J. Natkins, A. Pavlo, A. Rasin, S. Zdonik, E. P. C. Jones, S. Madden, M. Stonebraker, Y. Zhang, J. Hugg, and D. J. Abadi. H-Store: A High-Performance, Distributed Main Memory Transaction Processing System. In VLDB, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Kemper and T. Neumann. HyPer: A Hybrid OLTP & OLAP Main Memory Database System Based on Virtual Memory Snapshots. In ICDE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. Kim, T. Wang, J. Ryan, and I. Pandis. ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads. In SIGMOD, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Lee, K. Kim, and S. K. Cha. Differential Logging: A Commutative and Associative Logging Scheme for Highly Parallel Main Memory Database. In ICDE, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. X. Li and M. H. Eich. Post-Crash Log Processing for Fuzzy Checkpointing Main Memory Databases. In ICDE, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A.-P. Liedes and A. Wolski. Siren: A Memory-Conserving, Snapshot-Consistent Checkpoint Algorithm for In-Memory Databases. In ICDE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Lomet, K. Tzoumas, and M. Zwilling. Implementing Performance Competitive Logical Recovery. In VLDB, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. N. Malviya, A. Weisberg, S. Madden, and M. Stonebraker. Rethinking Main Memory OLTP Recovery. In ICDE, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  25. C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz. ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging. TODS, 17(1), 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. S. Mu, Y. Cui, Y. Zhang, W. Lloyd, and J. Li. Extracting More Concurrency from Distributed Transactions. In OSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. N. Narula, C. Cutler, E. Kohler, and R. Morris. Phase Reconciliation for Contended In-Memory Transactions. In OSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. D. Ongaro, S. M. Rumble, R. Stutsman, J. Ousterhout, and M. Rosenblum. Fast Crash Recovery in RAMCloud. In SOSP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-Oriented Transaction Execution. In VLDB, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. Pavlo, G. Angulo, J. Arulraj, H. Lin, J. Lin, L. Ma, P. Menon, T. C. Mowry, M. Perron, I. Quah, S. Santurkar, A. Tomasic, S. Toor, D. Van Aken, Z. Wang, Y. Wu, R. Xian, and T. Zhang. Self-Driving Database Management Systems. In CIDR, 2017.Google ScholarGoogle Scholar
  32. K. Ramachandra, R. Guravannavar, and S. Sudarshan. Program Analysis and Transformation for Holistic Optimization of Database Applications. In SOAP, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. K. Ren, T. Diamond, D. J. Abadi, and A. Thomson. Low-Overhead Asynchronous Checkpointing in Main-Memory Database Systems. In SIGMOD, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. K. Salem and H. Garcia-Molina. Checkpointing Memory-Resident Databases. In ICDE, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. D. Schwalb, M. Faust, J. Wust, M. Grund, and H. Plattner. Efficient Transaction Processing for Hyrise in Mixed Workload Environments. In IMDM. 2015.Google ScholarGoogle ScholarCross RefCross Ref
  36. D. Shasha, F. Llirbat, E. Simon, and P. Valduriez. Transaction Chopping: Algorithms and Performance Studies. TODS, 20(3), 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. B. Steensgaard. Points-To Analysis in Almost Linear Time. In POPL, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. M. Stonebraker, S. Madden, D. J. Abadi, S. Harizopoulos, N. Hachem, and P. Helland. The End of an Architectural Era: (It's Time for a Complete Rewrite). In VLDB, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. A. Thomson, T. Diamond, S.-C. Weng, K. Ren, P. Shao, and D. J. Abadi. Calvin: Fast Distributed Transactions for Partitioned Database Systems. In SIGMOD, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. S. Tu, W. Zheng, E. Kohler, B. Liskov, and S. Madden. Speedy Transactions in Multicore In-Memory Databases. In SOSP, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. T. Wang and R. Johnson. Scalable Logging Through Emerging Non-Volatile Memory. In VLDB, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Y. Wu, J. Arulraj, J. Lin, R. Xian, and A. Pavlo. An Empirical Evaluation of In-Memory Multi-Version Concurrency Control. In VLDB, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Y. Wu, C.-Y. Chan, and K.-L. Tan. Transaction Healing: Scaling Optimistic Concurrency Control on Multicores. In SIGMOD, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Y. Wu and K.-L. Tan. Scalable In-Memory Transaction Processing with H™. In USENIX ATC, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. C. Yan and A. Cheung. Leveraging lock contention to improve oltp application performance. In VLDB, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. C. Yao, D. Agrawal, G. Chen, B. C. Ooi, and S. Wu. Adaptive Logging: Optimizing Logging and Recovery Costs in Distributed In-Memory Databases. In SIGMOD, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Y. Zhang, R. Power, S. Zhou, Y. Sovran, M. K. Aguilera, and J. Li. Transaction Chains: Achieving Serializability With Low Latency in Geo-Distributed Storage Systems. In SOSP, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. W. Zheng, S. Tu, E. Kohler, and B. Liskov. Fast Databases With Fast Durability and Recovery Through Multicore Parallelism. In OSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Fast Failure Recovery for Main-Memory DBMSs on Multicores

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SIGMOD '17: Proceedings of the 2017 ACM International Conference on Management of Data
          May 2017
          1810 pages
          ISBN:9781450341974
          DOI:10.1145/3035918

          Copyright © 2017 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 9 May 2017

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate785of4,003submissions,20%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader