Link to CALCM Home  

Speculative Parallelism in Database Systems

Tuesday February 24, 2004
Hamerschlag Hall D-210
4:00 pm

Chris Colohan
Carnegie Mellon University

Database systems currently exploit two levels of parallelism: parallelism between transactions, and ILP. If thread-level parallelism could be found within a transaction then transaction latency would be improved, and concurrency control bottlenecks would be reduced. Unfortunately, re-architecting an entire database system to use threads within a transaction is hard. I am currently looking at applying Thread Level Speculation to database systems, which allows me to recode common code paths to extract parallelism while letting the speculation mechanism ensure that infrequent code paths still operate correctly. This makes the job of parallelizing the code much easier, since I can observe gradual improvements as I modify more of the code. Preliminary results show significant speedups when running a single transaction from TPC-C. In this talk I will discuss this work in progress, and show the many ways in which a database can be modified to get rid of pesky unneeded data dependences and dramatically improve performance as a result.

Chris is a grad student currently in 25th grade. Not content with a single field of computer science, Chris is currently trying to draw together the fields of architecture, compilers, programming language design, operating systems, and databases into a grand unified theory of Thread Level Speculation. He hopes to succeed soon, so he can become a grownup and go forth into the real world.


Department of Electrical and Computer EngineeringCarnegie Mellon UniversitySchool of Computer Science