Abstract
Concurrency control is an integral component in achieving high performance in many-core databases. Implementing serializable transaction processing efficiently is challenging. One approach, serialization graph testing (SGT) faithfully implements the conflict graph theorem by aborting only those transactions that would actually violate serializability (introduce a cycle), thus maintaining the required acyclic invariant. Alternative approaches, such as two-phase locking, disallow certain valid schedules to increase throughput, whereas SGT has the theoretically optimal property of accepting all and only conflict serializable schedules. Historically, SGT was deemed unviable in practice due to the high computational costs of maintaining an acyclic graph. Research has however overturned this historical view by utilising the increased computational power available due to modern hardware. Furthermore, a survey of 24 databases suggests that not all transactions demand conflict serializability but different transactions can perfectly settle for different, weaker isolation levels which typically require relatively lower overheads. Thus, in such a mixed environment, providing only the isolation level required of each transaction should, in theory, increase throughput and reduce aborts. The aim of this paper is to extend SGT for mixed environments subject to Adya’s mixing-correct theorem and demonstrate the resulting performance improvement. We augment the YCSB benchmark to generate transactions with different isolation requirements. For certain workloads, mixed serialization graph testing can achieve up to a 28% increase in throughput and a 19% decrease in aborts over SGT.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
\(^{\mathrm {*}}\) Indicates the default setting, \(^{\textrm{a}}\) Referred to as Read Stability, \(^{\textrm{b}}\) Behaves like Read Committed due to MVCC implementation, \(^{\textrm{c}}\) Implemented as Snapshot Isolation, \(^{\textrm{d}}\) Requires manual lock management, \(^{\textrm{e}}\) Behaves like Consistent Read.
- 2.
References
Bernstein, P., Hadzilacos, V., Goodman, N.: Concurrency control and recovery in database systems (1987)
Eswaran, K., Gray, J., Lorie, R., Traiger, I.: The notions of consistency and predicate locks in a database system. Commun. ACM 19(11), 624–63 (1976)
Kung, H., Robinson, J.: On optimistic methods for concurrency control. ACM Trans. Database Syst. 6(2), 213–226 (1981)
Durner, D., Neumann, T.: No false negatives: accepting all useful schedules in a fast serializable many-core system. In: 35th IEEE International Conference on Data Engineering, pp. 734–745 (2019)
Adya, A.: Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. PhD Thesis, Massachusetts Institute of Technology (1999)
Gray, J., Lorie, R., Putzolu, G., Traiger, I.: Granularity of locks and degrees of consistency in a shared data base. Model. Data Base Manage. Syst. 365–394 (1976)
Cooper, B., Silberstein, A., Tam E., Ramakrishnan, R., Sears, R.: Benchmarking cloud serving systems with YCSB. In: Proceedings of the 1st ACM Symposium on Cloud Computing, pp. 143–154 (2010)
Pavlo, A., Aslett, M.: What’s really new with NewSQL? SIGMOD Rec. 45(2), 45–55 (2016)
Taft, R. et al.: CockroachDB: the resilient geo-distributed SQL database. In: Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, pp. 1493–1509 (2020)
TiDB Transaction Isolation Levels. https://docs.pingcap.com/tidb/dev/transaction-isolation-levels. Accessed 9 May 2022
Fekete, A., Liarokapis, D., O’Neil, E., O’Neil, P., Shasha, D.: Making snapshot isolation serializable. ACM Trans. Database Syst. 30(2), 492–528 (2005)
Fraser, K.: Practical lock-freedom. PhD Thesis, University of Cambridge (2004)
Poess, M., Nambiar, R., Kulkarni, K., Narasimhadevara, C., Rabl, T., Jacobsen, H.A.: Analysis of TPCx-IoT: the first industry standard benchmark for IoT gateway systems. In: 34th IEEE International Conference on Data Engineering, pp. 1519–1530 (2018)
TPC Benchmark C, revision 5.11. www.tpc.org/tpc_documents_current_versions/pdf/tpc-c_v5.11.0.pdf. Accessed 19 July 2022
Acknowledgements
J. Waudby was supported by the Engineering and Physical Sciences Research Council, Centre for Doctoral Training in Cloud Computing for Big Data [grant number EP/L015358/1].
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Waudby, J., Ezhilchelvan, P., Webber, J. (2023). Pick & Mix Isolation Levels: Mixed Serialization Graph Testing. In: Nambiar, R., Poess, M. (eds) Performance Evaluation and Benchmarking. TPCTC 2022. Lecture Notes in Computer Science, vol 13860. Springer, Cham. https://doi.org/10.1007/978-3-031-29576-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-031-29576-8_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-29575-1
Online ISBN: 978-3-031-29576-8
eBook Packages: Computer ScienceComputer Science (R0)