Parallel Query Processing in Databases on Multicore Architectures
In this paper we present a novel and complete approach on how to encapsulate parallelism for relational database query execution that strives for maximum resource utilization for both CPU and disk activities. Its simple and robust design is capable of modeling intra- and inter-operator parallelism for one or more parallel queries in a most natural way. In addition, encapsulation guarantees that the bulk of relational operators can remain unmodified, as long as their implementation is thread-safe. We will show, that with this approach, the problem of scheduling parallel tasks is generalized, so that it can be safely entrusted to the underlying operating system (OS) without suffering any performance penalties. On the contrary, relocation of all scheduling decisions from the DBMS to the OS guarantees a centralized and therefore near-optimal resource allocation (depending on the OS’s abilities) for the complete system that is hosting the database server as one of its tasks. Moreover, with this proposal, query parallelization is fully transparent on the SQL interface of the database system. Configuration of the system for effective parallel query execution can be adjusted by the DB administrator by setting two descriptive tuning parameters. A prototype implementation has been integrated into the Transbase® relational DBMS engine.
Keywordsrelational dbms parallel query processing encapsulation intra-operator inter-operator scheduling optimization
Unable to display preview. Download preview PDF.
- 2.Copeland, G., Alexander, W., Boughter, E., Keller, T.: Data Placement in Bubba. In: Proceedings of the 1988 ACM SIGMOD international conference on Management of data, Chicago, Illinois, USA, June 01-03, pp. 99–108 (1988)Google Scholar
- 3.Stonebraker, M., Katz, R.H., Patterson, D.A., Ousterhout, J.K.: The Design of XPRS. In: Proceedings of the 14th International Conference on Very Large Data Bases, August 29-September 01, pp. 318–330 (1988)Google Scholar
- 5.Graefe, G., Cole, R.L., Davison, D.L., McKenna, W.J., Wolniewicz, R.H.: Extensible Query Optimization and Parallel Execution in Volcano. Morgan-Kaufman, San Mateo (1994)Google Scholar
- 7.Mehta, M., DeWitt, D.J.: Managing intra-operator parallelism in parallel database systems. In: VLDB 1995: Proceedings of the 21th International Conference on Very Large Data Bases, pp. 382–394. Morgan Kaufmann Publishers Inc., San Francisco (1995)Google Scholar
- 8.Zhou, J., Cieslewicz, J., Ross, K.A., Shah, M.: Improving Database Performance on Simultaneous Multithreading Processors. In: Proc. VLDB Conference, pp. 49–60 (2005)Google Scholar
- 9.Ailamaki, A., DeWitt, D.J., Hill, M.D., Wood, D.A.: DBMSs on a modern processor: Where does time go? The VLDB Journal, 266–277 (1999)Google Scholar
- 10.Englert, S., Gray, J., Kocher, R., Shah, P.: A Benchmark of NonStop SQL Release 2 Demonstrating Near-Linear Speedup and Scaleup on Large Databases, Tandem Computer Systems Report (1989) Google Scholar
- 13.Hall, C., Bonnet, P.: Getting Priorities Straight: Improving Linux Support for Database I/O. In: Proc. VLDB Conference (2005)Google Scholar