TY - JOUR
T1 - Exploiting single-threaded model in multi-core in-memory systems
AU - Yao, Chang
AU - Agrawal, Divyakant
AU - Chen, Gang
AU - Lin, Qian
AU - Ooi, Beng Chin
AU - Wong, Weng Fai
AU - Zhang, Meihui
N1 - Publisher Copyright:
© 1989-2012 IEEE.
PY - 2016/10
Y1 - 2016/10
N2 - The widely adopted single-threaded OLTP model assigns a single thread to each static partition of the database for processing transactions in a partition. This simplifies concurrency control while retaining parallelism. However, it suffers performance loss arising from skewed workloads as well as transactions that span multiple partitions. In this paper, we present a dynamic single-threaded in-memory OLTP system, called LADS, that extends the simplicity of the single-threaded model. The key innovation in LADS is the separation of dependency resolution and execution into two non-overlapping phases for batches of transactions. After the first phase of dependency resolution, the record actions of the transactions are partitioned and ordered. Each independent partition is then executed sequentially by a single thread, avoiding the need for locking. By careful mapping of the tasks to be performed to threads, LADS is able to achieve a high degree of balanced parallelism. We evaluate LADS against H-Store, a partition-based database; DORA, a data-oriented transaction processing system; and SILO, a multi-core in-memory OLTP engine. The experimental study shows that LADS achieves up to 20x higher throughput than existing systems and exhibits better robustness with various workloads.
AB - The widely adopted single-threaded OLTP model assigns a single thread to each static partition of the database for processing transactions in a partition. This simplifies concurrency control while retaining parallelism. However, it suffers performance loss arising from skewed workloads as well as transactions that span multiple partitions. In this paper, we present a dynamic single-threaded in-memory OLTP system, called LADS, that extends the simplicity of the single-threaded model. The key innovation in LADS is the separation of dependency resolution and execution into two non-overlapping phases for batches of transactions. After the first phase of dependency resolution, the record actions of the transactions are partitioned and ordered. Each independent partition is then executed sequentially by a single thread, avoiding the need for locking. By careful mapping of the tasks to be performed to threads, LADS is able to achieve a high degree of balanced parallelism. We evaluate LADS against H-Store, a partition-based database; DORA, a data-oriented transaction processing system; and SILO, a multi-core in-memory OLTP engine. The experimental study shows that LADS achieves up to 20x higher throughput than existing systems and exhibits better robustness with various workloads.
KW - Transaction management
KW - concurrency control
KW - in-memory OLTP system
KW - multi-core
KW - single-threaded model
UR - http://www.scopus.com/inward/record.url?scp=84990909338&partnerID=8YFLogxK
U2 - 10.1109/TKDE.2016.2578319
DO - 10.1109/TKDE.2016.2578319
M3 - Article
AN - SCOPUS:84990909338
SN - 1041-4347
VL - 28
SP - 2635
EP - 2650
JO - IEEE Transactions on Knowledge and Data Engineering
JF - IEEE Transactions on Knowledge and Data Engineering
IS - 10
M1 - 7486988
ER -