arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1503.03642cs.DB
收藏

DGCC:一种新的基于依赖图的多核并发控制协议

DGCC:A New Dependency Graph based Concurrency Control Protocol for Multicore Database Systems

Chang Yao, Divyakant Agrawal, Pengfei Chang, Gang Chen, Beng Chin Ooi, Weng-Fai Wong, Meihui Zhang

摘要:

多核CPU和大存储器越来越成为现代计算机系统中的标准。然而,目前的数据库管理系统(DBMS)在利用这种系统的并行性方面通常是无效的。特别是,争用可能导致性能的急剧下降。本文提出了一种新的并发控制协议DGCC(DepartmentGraph based并发控制),它将并发控制与执行分离。DGCC在执行批处理事务之前为它们构建依赖关系图。使用这些图,在执行之前解决同一批事务中的争用。因此,事务的执行不需要处理争用,同时保持与序列化执行完全等效。这更好地利用了多核硬件,并实现了更高级别的并行性。为了促进DGCC,我们还提出了一种系统架构,该架构不具有某些集中控制组件,从而产生更好的可扩展性,并支持更有效的恢复机制。我们广泛的实验研究表明,DGCC实现高达四倍的吞吐量相比,国家的最先进的并发控制协议的高争用工作负载。

英文摘要:

Multicore CPUs and large memories are increasingly becoming the norm in modern computer systems. However, current database management systems (DBMSs) are generally ineffective in exploiting the parallelism of such systems. In particular, contention can lead to a dramatic fall in performance. In this paper, we propose a new concurrency control protocol called DGCC (Dependency Graph based Concurrency Control) that separates concurrency control from execution. DGCC builds dependency graphs for batched transactions before executing them. Using these graphs, contentions within the same batch of transactions are resolved before execution. As a result, the execution of the transactions does not need to deal with contention while maintaining full equivalence to that of serialized execution. This better exploits multicore hardware and achieves higher level of parallelism. To facilitate DGCC, we have also proposed a system architecture that does not have certain centralized control components yielding better scalability, as well as supports a more efficient recovery mechanism. Our extensive experimental study shows that DGCC achieves up to four times higher throughput compared to that of state-of-the-art concurrency control protocols for high contention workloads.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑