ACM Home Page
Please provide us with feedback. Feedback
Dependency-aware reordering for parallelizing query optimization in multi-core CPUs
Full text PdfPdf (568 KB)
Source
International Conference on Management of Data archive
Proceedings of the 35th SIGMOD international conference on Management of data table of contents
Providence, Rhode Island, USA
SESSION: Research session 2: databases on modern hardware table of contents
Pages 45-58  
Year of Publication: 2009
ISBN:978-1-60558-551-2
Authors
Wook-Shin Han  Kyungpook National University, Daegu, South Korea
Jinsoo Lee  Kyungpook National University, Daegu, South Korea
Sponsors
ACM: Association for Computing Machinery
SIGMOD: ACM Special Interest Group on Management of Data
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 89,   Downloads (12 Months): 296,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1559845.1559853
What is a DOI?

ABSTRACT

The state of the art commercial query optimizers employ cost-based optimization and exploit dynamic programming (DP) to find the optimal query execution plan (QEP) without evaluating redundant sub-plans. The number of alternative QEPs enumerated by the DP query optimizer can increase exponentially, as the number of joins in the query increases. Recently, by exploiting the coming wave of multi-core processor architectures, a state of the art parallel optimization algorithm [14], referred to as PDPsva, has been proposed to parallelize the "time-consuming" DP query optimization process itself. While PDPsva significantly extends the practical use of DP to queries having up to 20-25 tables, it has several limitations: 1) supporting only the size-driven DP enumerator, 2) statically allocating search space, and 3) not fully exploiting parallelism. In this paper, we propose the first generic solution for parallelizing any type of bottom-up optimizer, including the graph-traversal driven type, and for supporting dynamic search allocation and full parallelism. This is a challenging problem, since recently developed, state of art DP optimizers such as DPcpp [21] and DPhyp [22] are very difficult to parallelize due to tangled dependencies in the join pairs they generate. Unless the solution is very carefully devised, a lot of synchronization conflicts are bound to occur. By viewing a serial bottom-up optimizer as one which generates a totally ordered sequence of join pairs in a streaming fashion, we propose a novel concept of dependency-aware reordering, which minimizes waiting time caused by dependencies of join pairs. To maximize parallelism, we also introduce a series of novel performance optimization techniques: 1) pipelining of join pair generation and plan generation; 2) the synchronization-free global MEMO; and 3) threading across dependencies. Through extensive experiments with various query topologies, we show that our solution supports any type of bottom up optimization, achieving linear speedup for each type. Despite the fact that our solution is generic, due to sophisticated optimization techniques, our generic parallel optimizer outperforms PDPsva tailored to size-driven enumeration. Experimental results also show that our solution is much more robust than PDPsva with respect to search space allocation.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
 
4
K. P. Bennett, M. C. Ferris, and Y. E. Ioannidis. A genetic algorithm for database query optimization. In ICGA, 1991.
5
6
7
 
8
 
9
10
 
11
J. Erickson. Multicore and gpus: One tool, two processors. Dr. Dobb's Journal, 2007, http://www.ddj.com/hpc-highperformance-computing/199501192.
 
12
M. B. et al. Pam: a novel performance/power aware meta-scheduler for multi-core systems. In SC, 2008.
 
13
 
14
 
15
W.-S. Han and J. Lee. Dependency-Aware Reordering for Parallelizing Query Optimization in Multi-Core CPUs. http://wshan.org/HanL09Reordering.pdf.
 
16
 
17
S.-H. S. Huang, H. Liu, and V. Viswanathan. Parallel dynamic programming. IEEE TPDS, 5(3), 1994.
18
19
 
20
 
21
22
 
23
 
24
 
25
 
26
Postgresql version 8.3. http://www.postgresql.org.
 
27
 
28
 
29
P. Stenstrom. Ipdps panel: Is the multi-core roadmap going to live up to its promises? IPDPS, 2007.
30
31
32
33
34
 
35
D. Wentzlaff and A. Agarwal. The Case for a Factored Operating System (fos). http://hdl.handle.net/1721.1/42894

Collaborative Colleagues:
Wook-Shin Han: colleagues
Jinsoo Lee: colleagues