Design Principles for Scaling Multi-core OLTP Under High Contention

Design Principles for Scaling Multi-core OLTP Under High Contention
复制标题

DOI:
10.1145/2882903.2882958
复制
发表时间:
2015-12
期刊:
Proceedings of the 2016 International Conference on Management of Data
影响因子:
--
通讯作者:
Kun Ren;Jose M. Faleiro;D. Abadi
Kun Ren;Jose M. Faleiro;D. Abadi
中科院分区:
其他
文献类型:
--
作者:
Kun Ren;Jose M. Faleiro;D. Abadi

文献摘要

被引文献

相似文献

尽管最近在提高高吞吐量事务性数据库系统的多核可伸缩性方面取得了重大进展,但对于涉及频繁访问高度竞争数据的工作负载,现代系统仍然无法实现可扩展的吞吐量。大多数无法实现高吞吐量的原因是保证ACID所涉及的基本约束——增加核心导致更多并发事务访问相同的争用数据,为了保证隔离,必须对这些数据进行序列化访问。因此,争用工作负载的线性可伸缩性是不可能的。然而,许多现代体系结构中存在缺陷,这些缺陷加剧了它们较差的可伸缩性,并导致吞吐量远远低于工作负载的基本要求。在本文中,我们确定了两个流行的设计原则,它们限制了许多(但不是全部)事务性数据库系统在竞争工作负载上的多核可伸缩性:这些系统中执行线程的多用途性质,以及缺乏数据访问的高级规划。我们通过实现一个原型系统Orthrus来演示这些设计原则的有害结果,Orthrus是由数据库组件功能分离原则和高级事务规划原则驱动的。我们发现,仅这两个原则就显著提高了高竞争工作负载上的可伸缩性,并且这些竞争工作负载的一个重要子集的吞吐量提高了一个数量级。
Although significant recent progress has been made in improving the multi-core scalability of high throughput transactional database systems, modern systems still fail to achieve scalable throughput for workloads involving frequent access to highly contended data. Most of this inability to achieve high throughput is explained by the fundamental constraints involved in guaranteeing ACID --- the addition of cores results in more concurrent transactions accessing the same contended data for which access must be serialized in order to guarantee isolation. Thus, linear scalability for contended workloads is impossible. However, there exist flaws in many modern architectures that exacerbate their poor scalability, and result in throughput that is much worse than fundamentally required by the workload. In this paper we identify two prevalent design principles that limit the multi-core scalability of many (but not all) transactional database systems on contended workloads: the multi-purpose nature of execution threads in these systems, and the lack of advanced planning of data access. We demonstrate the deleterious results of these design principles by implementing a prototype system, Orthrus, that is motivated by the principles of separation of database component functionality and advanced planning of transactions. We find that these two principles alone result in significantly improved scalability on high-contention workloads, and an order of magnitude increase in throughput for a non-trivial subset of these contended workloads.