Algorithms and Architectures for Parallel Processing

Volume 5022 of the series Lecture Notes in Computer Science pp 2-13

Parallel Query Processing in Databases on Multicore Architectures

  • Ralph AckerAffiliated withTransaction Software
  • , Christian RothAffiliated withTransaction Software
  • , Rudolf BayerAffiliated withInstitut für Informatik, TU-München


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.


relational dbms parallel query processing encapsulation intra-operator inter-operator scheduling optimization