Goals
As database servers handle more and more requests on increasingly larger databases the process
of optimizing resource usage (both hardware and software) becomes more difficult.
The ever-changing state-of-the-art hardware and the needs for increased functionality present
a new set of bottlenecks to overcome.
The main philosophy of the Staged DB design is to group concurrent tasks per software and
hardware resource in the system. We do not propose a major overhaul in existing DBMS software.
Rather, a small number of targeted changes can encapsulate existing functions into
micro-servers (stages) ready to process a group of tasks.
By better matching tasks with resources we can attack bottlenecks and optimize resource
usage in ways that are not feasible with traditional DBMS designs.
Current Focus
Our focus currently is in four directions:
-
Study the performance of database systems when running OLTP and DSS workload on emerging
hardware, such as the highly-parallel chip multiprocessors.
-
Build a staged relational query engine that can optimally manage available disk bandwidth,
RAM, and CPU cycles across multiple concurrent queries, and provide a significant performance
boost over conventional query engines.
-
Apply the Staged DB design coupled with smart scheduling to Online Transaction Processing (OLTP)
engines in order to optimize both instruction and data cache (processor cache) performance,
as well as, to improve the (intra-transaction) parallelism in those workloads.
-
Optimize chip multiprocessors for commercial workloads, especially database applications, such as
on-line transaction processing (OLTP) and decision support applications (DSS).
Future Plans
-
Apply the Staged DB design in distributed and highly-paralllel CMP environments.
-
Develop auto-tuning tools for Staged DBMS.
|