Link to CALCM Home  

Staged Database Server Design for Emerging Computer Architectures

Tuesday November 7, 2006
Hamerschlag Hall D-210
4:30 pm

Ippokratis Pandis
Carnegie Mellon University

The design of conventional database management systems (DBMS) is based on the characteristics of now antiquated hardware designs. With the advent of chip multiprocessors and with the ever-increasing processor-memory speed gap, redesigning high-performance data management software is an imminent technical and research challenge for the database community.

Staged computing is a new server programming paradigm, which exhibits a number of attractive properties. By clustering similar threads and through explicit scheduling of their execution instruction and data locality is increased. Additionally, different types of threads can be pinned into different cores, and by pipelining data between various cores the system's performance becomes more scalable and predictable. Also, by grouping all the requests that want to do similar work, e.g. read the same file or execute the same procedure, the system can quickly and naturally identify work sharing opportunities, execute common work once, and distribute the results to all interested parties.

In this presentation we focus on database servers. Initially, we present QPipe, the first relational database execution engine that follows the principles of staged computing. Through staging QPipe manages to exploit work sharing opportunities that conventional database servers fail to detect. As a result, in decision support workloads (DSS) with multiple concurrent requests QPipe significantly outperforms commercial database servers. In the second part, we characterize the performance of a commercial database server on top of the emerging chip multiprocessors. Using both simulation and experiments on real hardware we find that the major bottleneck of current database server software is data cache stalls. We briefly describe techniques to address the problem, and we outline a preliminary design and implementation of an adaptable multi-core optimized staged database engine, called Cordoba.

Ippokratis Pandis is a second year graduate student at the ECE department of Carnegie Mellon University, advised by Prof. Anastassia Ailamaki. His research focuses on Staged Database Systems. Ippokratis received his B.Sc. from the Computer Engineering and Informatics Department of the University of Patras, Greece in 2002, and his M.Sc. jointly from the Information Networking Institute of CMU and Athens Information Technology, Greece, in 2004.


Department of Electrical and Computer EngineeringCarnegie Mellon UniversitySchool of Computer Science