Bibliography | König, Valentin Simon Nepomuk: Ordering Transactions on Distributed Persistent Objects. University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis No. 102 (2023). 59 pages, english.
|
Abstract | Resilient and consistent data storage is critical for applications and services across all industries. As such, various persistent storage layers, such as database storage systems, have been developed. These either require complex data translations, commonly tackled through Object-Relational Mapping (ORM), or force the application to use data types specifically developed for persistent storage (e. g., Intel PMDK). Persistent objects describe a novel storage system that is able to persist and transactionally modify application-defined objects. With persistent objects, applications transactionally execute arbitrary functions on their existing data objects. However, they only allow local transactional modifications on individual objects, as there are no consistency guarantees across sequences of transactions.
In this work, we present a novel distributed transaction coordination algorithm called Two-Phase Ordering (2PO) that provides isolation between concurrently executing clients. The algorithm uses application-specific knowledge, which becomes available through the use of application-native objects in the local persistent storage layer. Moreover, the distributed transaction execution order of 2PO depends entirely on the user’s desired semantics. Thus, the system accomodates both linearizable consistency as well as arbitrary interleavings of non-transactional interactions at the same time. By proving the consistency guarantees of 2PO in the general case, we show that our work is applicable to traditional transactional storage systems (e. g., databases) as well.
Our evaluations show that 2PO supports linearizability as well as highly available transaction consistency models, such as Monotonic Atomic View (MAV), both with high commit rates (above 97 % under high contention), all while scaling linearly with the number of nodes.
|