skip to main content
research-article

From cooperative scans to predictive buffer management

Published:01 August 2012Publication History
Skip Abstract Section

Abstract

In analytical applications, database systems often need to sustain workloads with multiple concurrent scans hitting the same table. The Cooperative Scans (CScans) framework, which introduces an Active Buffer Manager (ABM) component into the database architecture, has been the most effective and elaborate response to this problem, and was initially developed in the X100 research prototype. We now report on the the experiences of integrating Cooperative Scans into its industrial-strength successor, the Vectorwise database product. During this implementation we invented a simpler optimization of concurrent scan buffer management, called Predictive Buffer Management (PBM). PBM is based on the observation that in a workload with long-running scans, the buffer manager has quite a bit of information on the workload in the immediate future, such that an approximation of the ideal OPT algorithm becomes feasible. In the evaluation on both synthetic benchmarks as well as a TPC-H throughput run we compare the benefits of naive buffer management (LRU) versus CScans, PBM and OPT; showing that PBM achieves benefits close to Cooperative Scans, while incurring much lower architectural impact.

References

  1. L. A. Belady. A study of replacement algorithms for a virtual-storage computer. IBM Sys. Journal, 5(2):78--101, 1966. Google ScholarGoogle Scholar
  2. H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O'Neil, and P. O'Neil. A critique of ansi sql isolation levels. SIGMOD Record, 24(2):1--10, 1995. Google ScholarGoogle Scholar
  3. C.-M. Chen and N. Roussopoulos. Adaptive database buffer allocation using query feedback. In VLDB, pages 342--353, 1993. Google ScholarGoogle Scholar
  4. H.-T. Chou and D. J. DeWitt. An evaluation of buffer management strategies for relational database systems. In VLDB, pages 127--141, 1985. Google ScholarGoogle Scholar
  5. C. Cook. Database Architecture: The Storage Engine, 2001. http://msdn.microsoft.com/library.Google ScholarGoogle Scholar
  6. C. Faloutsos, R. T. Ng, and T. K. Sellis. Predictive load control for flexible buffer allocation. In VLDB, pages 265--274, 1991. Google ScholarGoogle Scholar
  7. P. M. Fernandez. Red brick warehouse: a read-mostly rdbms for open smp platforms. SIGMOD Record, 23(2):492, 1994. Google ScholarGoogle Scholar
  8. G. Giannikis, P. Unterbrunner, J. Meyer, G. Alonso, D. Fauser, and D. Kossmann. Crescando. In SIGMOD, pages 1227--1230, 2010. Google ScholarGoogle Scholar
  9. G. Graefe. Encapsulation of parallelism in the volcano query processing system. In SIGMOD, pages 102--111, 1990. Google ScholarGoogle Scholar
  10. S. Harizopoulos, V. Shkapenyuk, and A. Ailamaki. Qpipe: a simultaneously pipelined relational query engine. In SIGMOD, pages 383--394, 2005. Google ScholarGoogle Scholar
  11. S. Héman, M. Zukowski, N. J. Nes, L. Sidirourgos, and P. Boncz. Positional update handling in column stores. In SIGMOD, pages 543--554, 2010. Google ScholarGoogle Scholar
  12. D. Inkster, P. Boncz, and M. Zukowski. Integration of VectorWise with Ingres. SIGMOD Record, 40(3):45--53, 2011. Google ScholarGoogle Scholar
  13. C. A. Lang, B. Bhattacharjee, T. Malkemus, S. Padmanabhan, and K. Wong. Increasing buffer-locality for multiple relational table scans through grouping and throttling. In ICDE, pages 1136--1145, 2007.Google ScholarGoogle Scholar
  14. C. A. Lang, B. Bhattacharjee, T. Malkemus, and K. Wong. Increasing buffer-locality for multiple index based scans through intelligent placement and index scan speed control. In VLDB, pages 1298--1309, 2007. Google ScholarGoogle Scholar
  15. B. V. Roy. A short proof of optimality for the min cache replacement algorithm. Technical report, Stanford University, 2010.Google ScholarGoogle Scholar
  16. T. J. Teorey and T. B. Pinkerton. A comparative analysis of disk scheduling policies. In SOSP, pages 78--87, 1971. Google ScholarGoogle Scholar
  17. P. Unterbrunner, G. Giannikis, G. Alonso, D. Fauser, and D. Kossmann. Predictable performance for unpredictable workloads. PVLDB, 2(1):706--717, 2009. Google ScholarGoogle Scholar
  18. Vectorwise. http://www.actian.com/vectorwise.Google ScholarGoogle Scholar
  19. M. Zukowski and P. Boncz. Vectorwise: Beyond Column Stores. IEEE DEBULL, 35(1):21--27, 2012.Google ScholarGoogle Scholar
  20. M. Zukowski, P. A. Boncz, N. J. Nes, and S. Heman. Monetdb/X100 - A DBMS In The CPU Cache. IEEE DEBULL, 28(2):17--22, 2005.Google ScholarGoogle Scholar
  21. M. Zukowski, S. Héman, N. Nes, and P. Boncz. Cooperative scans: dynamic bandwidth sharing in a dbms. In VLDB, pages 723--734, 2007. Google ScholarGoogle Scholar

Index Terms

  1. From cooperative scans to predictive buffer management
    Index terms have been assigned to the content through auto-classification.

    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

    Full Access

    • Published in

      cover image Proceedings of the VLDB Endowment
      Proceedings of the VLDB Endowment  Volume 5, Issue 12
      August 2012
      340 pages

      Publisher

      VLDB Endowment

      Publication History

      • Published: 1 August 2012
      Published in pvldb Volume 5, Issue 12

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader