In multi-version transactional memory read-onlytransactions do not have to abort, while update transactionsmay abort. There are situations where system delays donot allow to have precise consistency, such as in large scalenetwork and database applications, due to network delays orother factors. In order to cope with such systems, we introducehere the notion of approximate consistency in transactionalmemory. We define K-opacity as a relaxed consistencyproperty where read instructions in a read-only transactionmay read one of K most recent written values, while readinstructions in an update transaction read always the latestvalue. The relaxed consistency for read-only transactionshas two benefits: (i) it reduces space requirements, since anew object version is saved once every K object updates, which reduces the total number of saved object versionsby a factor of K, and (ii) it reduces the number of aborts, since there is smaller chance for read-only transactions toabort update transactions. This framework allows to haveworst-case consistency guarantees and simultaneously goodperformance characteristics. In addition to correctness proofs, we demonstrate the performance benefits of our approachwith experimental analysis. We tested our algorithm fordifferent values of K using different benchmarks and weobserved that when we increase K the number of abortsdecreases and at the same time the throughput increases.
['Basem Assiri', 'Costas Busch']
Approximately Opaque Multi-version Permissive Transactional Memory