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.
|