MonetDB/X100: Hyper-Pipelining Query Execution

About this paper

This paper is under a licence that does not allow it to be reproduced, so what is here is its front matter and a short abstract. Read it at the publisher's page.

English
Tiếng Việt

CWI Kruislaan 413 Amsterdam, The Netherlands {P.Boncz,M.Zukowski,N.Nes}@cwi.nl

Abstract

Database systems tend to achieve only low IPC (instructions-per-cycle) efficiency on modern CPUs in compute-intensive application areas like decision support, OLAP and multimedia retrieval. This paper starts with an in-depth investigation to the reason why this happens, focusing on the TPC-H benchmark. Our analysis of various relational systems and MonetDB leads us to a new set of guidelines for designing a query processor.

The second part of the paper describes the architecture of our new X100 query engine for the MonetDB system that follows these guidelines. On the surface, it resembles a classical Volcano-style engine, but the crucial difference to base all execution on the concept of vector processing makes it highly CPU efficient. We evaluate the power of MonetDB/X100 on the 100GB version of TPC-H, showing its raw execution power to be between one and two orders of magnitude higher than previous technology.

MonetDB/X100: Thực thi truy vấn theo đường ống siêu tốc

Peter Boncz, Marcin Zukowski, Niels Nes

CWI Kruislaan 413 Amsterdam, The Netherlands {P.Boncz,M.Zukowski,N.Nes}@cwi.nl

Tóm tắt

Các hệ thống cơ sở dữ liệu thường chỉ đạt hiệu quả IPC (lệnh trên mỗi chu kỳ) thấp trên các CPU hiện đại trong những lĩnh vực ứng dụng cần nhiều tính toán như hỗ trợ ra quyết định, OLAP và truy xuất đa phương tiện. Bài báo này bắt đầu bằng một nghiên cứu chuyên sâu về nguyên nhân dẫn đến điều này, tập trung vào phép đo chuẩn TPC-H. Phân tích của chúng tôi về nhiều hệ thống quan hệ khác nhau và MonetDB dẫn chúng tôi đến một tập các hướng dẫn mới cho việc thiết kế một bộ xử lý truy vấn.

Phần thứ hai của bài báo mô tả kiến trúc của bộ máy truy vấn X100 mới cho hệ thống MonetDB, tuân theo các hướng dẫn này. Bề ngoài, nó giống một bộ máy kiểu Volcano cổ điển, nhưng sự khác biệt cốt lõi là việc dựa toàn bộ thực thi trên khái niệm xử lý vectơ khiến nó đạt hiệu quả CPU cao. Chúng tôi đánh giá sức mạnh của MonetDB/X100 trên phiên bản 100GB của TPC-H, cho thấy khả năng thực thi thô của nó cao hơn công nghệ trước đây từ một đến hai bậc độ lớn.

1 Introduction

This section is missing here.

2 How CPUs Work

This section is missing here.

3 Microbenchmark: TPC-H Query 1

This section is missing here.

4 X100: A Vectorized Query Processor

This section is missing here.

5 TPC-H Experiments

This section is missing here.

6 Related Work

This section is missing here.

7 Conclusion and Future Work

This section is missing here.

Notes

  1. MonetDB is now in open-source, see monetdb.cwi.nl that employs a vectorized query processing model. Apart from achieving high CPU efficiency, MonetDB/X100 is intended to scale up towards non main-memory (disk-based) datasets. The second part of this paper is dedicated to describing the architecture of MonetDB/X100 and evaluating its performance on the full TPC-H benchmark of size 100GB.

References

  1. The STREAM Benchmark: Computer Memory Bandwidth. http://www.streambench.org.
  2. A. Ailamaki, D. DeWitt, M. Hill, and M. Skounakis. Weaving Relations for Cache Performance. In Proc. VLDB, Rome, Italy, 2001.
  3. A. Ailamaki, D. J. DeWitt, M. D. Hill, and D. A. Wood. DBMSs on a Modern Processor: Where Does Time Go? In Proc. VLDB, Edinburgh, 1999.
  4. P. A. Boncz. Monet: A Next-Generation DBMS Kernel For Query-Intensive Applications. Ph.d. thesis, Universiteit van Amsterdam, Amsterdam, The Netherlands, May 2002.
  5. P. A. Boncz and M. L. Kersten. MIL Primitives for Querying a Fragmented World. VLDB J., 8(2):101–119, 1999.
  6. Q. Cao, J. Torrellas, P. Trancoso, J.-L. Larriba-Pey, B. Knighten, and Y. Won. Detailed characterization of a quad pentium pro server running tpc-d. In Proc. ICCD, Austin, USA, 1999.
  7. S. Chen, P. B. Gibbons, and T. C. Mowry. Improving index performance through prefetching. In Proc. SIGMOD, Santa Barbara, USA, 2001.
  8. G. P. Copeland and S. Khoshafian. A Decomposition Storage Model. In Proc. SIGMOD, Austin, USA, 1985.
  9. R. Cornacchia, A. van Ballegooij, and A. P. de Vries. A case study on array query optimisation. In Proc. CVDB, 2004.
  10. G. Graefe. Volcano - an extensible and parallel query evaluation system. IEEE Trans. Knowl. Data Eng., 6(1):120–135, 1994. Read it here
  11. S. Manegold, P. A. Boncz, and M. L. Kersten. Optimizing Main-Memory Join On Modern Hardware. IEEE Transactions on Knowledge and Data Eng., 14(4):709–730, 2002.
  12. G. Moerkotte. Small Materialized Aggregates: A Light Weight Index Structure for Data Warehousing. In Proc. VLDB, New York, USA, 1998.
  13. G. Moore. Cramming more components onto integrated circuits. Electronics, 38(8), Apr. 1965.
  14. S. Padmanabhan, T. Malkemus, R. Agarwal, and A. Jhingran. Block oriented processing of relational database operations in modern computer architectures. In Proc. ICDE, Heidelberg, Germany, 2001.
  15. R. Ramamurthy, D. J. DeWitt, and Q. Su. A case for fractured mirrors. In Proc. VLDB, Hong Kong, 2002.
  16. J. Rao and K. A. Ross. Making B+-Trees Cache Conscious in Main Memory. In Proc. SIGMOD, Madison, USA, 2000.
  17. K. A. Ross. Conjunctive selection conditions in main memory. In Proc. PODS, Madison, USA, 2002.
  18. A. Shatdal, C. Kant, and J. F. Naughton. Cache conscious algorithms for relational query processing. In Proc. VLDB, Santiago, 1994.
  19. M. Stonebraker, J. Anton, and M. Hirohama. Extendability in POSTGRES. IEEE Data Eng. Bull., 10(2):16–23, 1987.
  20. A. Wilschut, J. Flokstra, and P. Apers. Parallel Evaluation of Multi-Join Queries. In San Jose, USA, San Jose, CA, USA, May 1995.
  21. J. Zhou and K. A. Ross. Buffering accesses to memory-resident index structures. In Proc. VLDB, Toronto, Canada, 2003.
  22. J. Zhou and K. A. Ross. Buffering database operations for enhanced instruction cache performance. In Proc. SIGMOD, Paris, France, 2004.

Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8.

Read off the page by a vision model reading the page images using gpt-5. Translated into Tiếng Việt by gpt-5, against glossary version 7. Translated from the English.