An Efficient Scheduler for Closed Nested Transactions that Satisfies All-Reads-Consistency and Non-interference

  • Sathya Peri
  • Krishnamurthy Vidyasankar
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7129)

Abstract

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.

Keywords

Read Operation Correctness Criterion Concurrent Execution Local Buffer Software Transactional Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Agrawal, K., Leiserson, C.E., Sukha, J.: Memory models for open-nested transactions. In: MSPC 2006: Proceedings of the 2006 Workshop on Memory System Performance and Correctness, pp. 70–81. ACM, New York (2006)CrossRefGoogle Scholar
  2. 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. 3.
    Doherty, S., Groves, L., Luchangco, V., Moir, M.: Towards Formally Specifying and Verifying Transactional Memory. In: REFINE (2009)Google Scholar
  4. 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. 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
  6. 6.
    Imbs, D., Raynal, M.: A Lock-Based STM Protocol that Satisfies Opacity and Progressiveness. In: Baker, T.P., Bui, A., Tixeuil, S. (eds.) OPODIS 2008. LNCS, vol. 5401, pp. 226–245. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Kumar, R., Vidyasankar, K.: HParSTM: A Hierarchy-based STM Protocol for Supporting Nested Parallelism. In: TRANSACT 2011 (June 2011)Google Scholar
  8. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sathya Peri
    • 1
  • Krishnamurthy Vidyasankar
    • 2
  1. 1.Indian Institute of Technology PatnaIndia
  2. 2.Memorial UniversitySt John’sCanada

Personalised recommendations