Using Read Promotion and Mixed Isolation Levels for Performant Yet Serializable Execution of Transaction Programs
Brecht Vandevoort, Alan Fekete, Bas Ketsman, Frank Neven, Stijn Vansummeren

TL;DR
This paper introduces a theory and method for assigning the lowest possible isolation levels to transaction programs in mixed-isolation environments, ensuring serializability and integrity while optimizing throughput.
Contribution
It extends existing theories to handle transactions generated by parameterized programs, enabling practical, high-throughput, serializable execution in real-world applications.
Findings
Successfully applied to the SmallBank benchmark.
Ensures serializability with minimal isolation levels.
Improves throughput by optimizing code modifications.
Abstract
We propose a theory that can determine the lowest isolation level that can be allocated to each transaction program in an application in a mixed-isolation-level setting, to guarantee that all executions will be serializable and thus preserve all integrity constraints, even those that are not explicitly declared. This extends prior work applied to completely known transactions, to deal with the realistic situation where transactions are generated by running programs with parameters that are not known in advance. Using our theory, we propose an optimization method that allows for high throughput while ensuring that all executions are serializable. Our method is based on searching for application code modifications that are semantics-preserving while improving the isolation level allocation. We illustrate our approach to the SmallBank benchmark.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Software Testing and Debugging Techniques
