An Efficient Scheduler for Closed Nested Transactions that Satisfies All-Reads-Consistency and Non-interference
A generally agreed upon requirement for correctness of concurrent executions in Transactional Memory systems is that all transactions including the aborted ones read consistent values. We denote this as all-reads-consistency. Opacity is a correctness criterion that satisfies the above requirement. A relevant property, which we call as non-interference, is that an aborted transaction should not affect the consistency of the transactions that are executed subsequently. This property is desirable in general and critical for closed nested transactions in the sense that the read steps of an aborted sub-transaction (that were executed before aborting) may make committing its top-level transaction impossible. Recently we proposed a new correctness criterion, Abort Shielded Consistency, that satisfies both all-reads-consistency and non-interference. In this paper, we present an efficient on-line scheduler that implements Abort Shielded Consistency. The scheduler is based on the notion of conflicts which have been appropriately defined for optimistic executions. The scheduler maintains a conflict-graph based on the events executed so far. An event is allowed to be executed only if it does not cause a cycle in the graph. The conflict-graph has separate components for each (parent) sub-transaction. Each component can be maintained autonomously at the site executing the sub-transaction and the checking can be done in a distributed manner.
KeywordsRead Operation Correctness Criterion Concurrent Execution Local Buffer Software Transactional Memory
Unable to display preview. Download preview PDF.
- 2.Baretto, J., Dragojevic, A., Ferreira, P., Guerraoui, R., Kapalka, M.: Leveraging Parallel Nesting in Transactional Memory. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Computing, pp. 91–100. ACM (2010)Google Scholar
- 3.Doherty, S., Groves, L., Luchangco, V., Moir, M.: Towards Formally Specifying and Verifying Transactional Memory. In: REFINE (2009)Google Scholar
- 4.Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPoPP 2008: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 175–184. ACM, New York (2008)Google Scholar
- 5.Imbs, D., de Mendivil, J.R., Raynal, M.: Brief announcement: virtual world consistency: a new condition for stm systems. In: PODC 2009: Proceedings of the 28th ACM Symposium on Principles of Distributed Computing, pp. 280–281. ACM, New York (2009)Google Scholar
- 7.Kumar, R., Vidyasankar, K.: HParSTM: A Hierarchy-based STM Protocol for Supporting Nested Parallelism. In: TRANSACT 2011 (June 2011)Google Scholar
- 8.Ni, Y., Menon, V.S., Adl-Tabatabai, A.-R., Hosking, A.L., Hudson, R.L., Moss, J.E.B., Saha, B., Shpeisman, T.: Open nesting in software transactional memory. In: PPoPP 2007: Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 68–78. ACM, New York (2007)Google Scholar
- 9.Peri, S., Vidyasankar, K.: Correctness of concurrent executions of closed nested transactions in transactional memory systems. Technical report, Memorial University of Newfoundland (July 2011)Google Scholar
- 10.Peri, S., Vidyasankar, K.: Correctness of concurrent executions of closed nested transactions in transactional memory systems. In: 12th International Conference on Distributed Computing and Networking, pp. 95–106 (2011)Google Scholar