Tuesday Oct. 20, 2009
Hamerschlag Hall D-210
Carnegie Mellon University
While hardware technology has undergone major advancements over the past decade, transaction processing systems have remained largely unchanged. The number of cores on a chip grows exponentially, following Moore's Law, allowing for an ever-increasing number of transactions to execute in parallel. As the number of concurrently-executing transactions increases, contended critical sections become scalability burdens. In typical transaction processing systems the cen-tralized lock manager is often the first contended component and scalability bottleneck.
We identify the conventional thread-to-transaction assignment policy as the primary cause of contention. Then, we design DORA, a system that decomposes each transaction to smaller actions and assigns actions to threads based on which data each action is about to access. This allows each thread to mostly access thread-local data structures, minimizing interaction with the contention-prone centralized lock manager. Built on top of a conventional storage engine, DORA's design maintains all the ACID properties. Evaluation of a prototype implementation of DORA on a multicore system demonstrates that DORA attains up to 4.6x higher throughput than the state-of-the-art storage engine when running a variety of OLTP workloads, such TPC-C, TPC-B, and Nokia's TM1.
Ippokratis Pandis is a Ph.D. student of the Electrical and Computer Engineering de-partment of Carnegie Mellon University, ad-vised by Prof. Ailamaki. He is a member of the Staged database systems project and his research focuses on high-performing database computing on emerging computer architectures.