Title :
Moving Database Systems to Multicore: An Auto-Tuning Approach
Author :
Pankratius, Victor ; Heneka, Martin
Author_Institution :
Karlsruhe Inst. of Technol., Karlsruhe, Germany
Abstract :
In the multicore era, database systems are facing new challenges to exploit parallelism and scale query performance on new processors. Taking advantage of multicore, however, is not trivial and goes far beyond inserting parallel constructs into available database system code. Varying hardware characteristics require different query parallelization strategies on each multicore platform. Query optimizers at the heart of each database system have to be reengineered, but the problem is that these optimizers are complex. In addition, optimization best practices evolved during a long-term process of research and experimentation. This paper presents a successful modular technique that does not require a major rewrite of database code from scratch. We discuss the implementation details of new fine-granular parallelism approach that can be used as an add-on to existing systems and other query optimizations. We start with query execution plans that are generated by sequential optimizers. Using multithreading, we exploit parallelism within queries and within join operators, which leverages the new performance opportunities in modern multicore hardware. Our query performance optimization is adaptive and employs QJetpack, a feedback-directed auto-tuner, in a novel way. It iteratively partitions query execution plans by detecting performance patterns that are pre-benchmarked on each platform. Then, the auto-tuner steers the application of parallel transformations based on query run-time feedback. This paper focuses on difficult scenarios with I/O-intensive join queries and shows that we can speed up query execution despite significant I/O limitations. The performance of all benchmarked queries could be improved, with low tuning overhead, on all of our multicore platforms.
Keywords :
multi-threading; multiprocessing systems; query processing; QJetpack; auto-tuning approach; database systems; feedback-directed auto-tuner; fine-granular parallelism approach; multicore platform; multithreading; query execution plans; query optimizers; query parallelization; query run-time feedback; sequential optimizers; Database systems; Instruction sets; Multicore processing; Optimization; Parallel processing; Pipelines; Multicore; database systems; query processing;
Conference_Titel :
Parallel Processing (ICPP), 2011 International Conference on
Conference_Location :
Taipei City
Print_ISBN :
978-1-4577-1336-1
Electronic_ISBN :
0190-3918
DOI :
10.1109/ICPP.2011.24