Advertisement

Theory of Computing Systems

, Volume 49, Issue 4, pp 698–719 | Cite as

Inherent Limitations on Disjoint-Access Parallel Implementations of Transactional Memory

  • Hagit Attiya
  • Eshcar Hillel
  • Alessia Milani
Article

Abstract

Transactional memory (TM) is a popular approach for alleviating the difficulty of programming concurrent applications; TM guarantees that a transaction, consisting of a sequence of operations, appear to be executed atomically. Two fundamental properties of TM implementations are disjoint-access parallelism and the invisibility of read operations. Disjoint access parallelism ensures that operations on disconnected data do not interfere, and thus it is critical for TM scalability. The invisibility of read operations means that their implementation does not write to the memory, thereby reducing memory contention.

This paper proves an inherent tradeoff for implementations of transactional memories: they cannot be both disjoint-access parallel and have read-only transactions that are invisible and always terminate successfully. In fact, a lower bound of Ω(t) is proved on the number of writes needed in order to implement a read-only transaction of t items, which successfully terminates in a disjoint-access parallel TM implementation. The results assume strict serializability and thus hold under the assumption of opacity. It is shown how to extend the results to hold also for weaker consistency conditions, snapshot isolation and serializability.

Keywords

Transactional memory Disjoint-access parallelism Partial snapshots Lower bound Impossibility result 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. J. Assoc. Comput. Mach. 40(4), 873–890 (1993) zbMATHGoogle Scholar
  2. 2.
    Attiya, H., Ellen, F., Fatourou, P.: The complexity of updating multi-writer snapshot objects. In: Proc. 8th International Conference on Distributed Computing and Networking, pp. 319–330 (2006) Google Scholar
  3. 3.
    Attiya, H., Guerraoui, R., Ruppert, E.: Partial snapshot objects. In: Proc. 20th ACM Symposium on Parallelism in Algorithms and Architectures, pp. 336–343 (2008) Google Scholar
  4. 4.
    Avni, H., Shavit, N.: Maintaining consistent transactional states without a global clock. In: Proc. 15th International Colloquium on Structural Information and Communication Complexity, pp. 131–140 (2008) CrossRefGoogle Scholar
  5. 5.
    Aydonat, U., Abdelrahman, T.: Serializability of transactions in software transactional memory. In: 3rd ACM SIGPLAN Workshop on Transactional Computing (2008) Google Scholar
  6. 6.
    Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ANSI SQL isolation levels. SIGMOD Rec. 24(2), 1–10 (1995) CrossRefGoogle Scholar
  7. 7.
    Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Proc. 20th International Symposium on Distributed Computing, pp. 194–208 (2006) Google Scholar
  8. 8.
    Gramoli, V., Harmanci, D., Felber, P.: Towards a theory of input acceptance for transactional memories. In: Proc. 13th International Conference on Principle of Distributed Systems, pp. 527–533 (2008) Google Scholar
  9. 9.
    Guerraoui, R., Kapalka, M.: On obstruction-free transactions. In: Proc. 20th ACM Symposium on Parallelism in Algorithms and Architectures, pp. 304–313 (2008) Google Scholar
  10. 10.
    Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: Proc. 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 175–184 (2008) CrossRefGoogle Scholar
  11. 11.
    Guerraoui, R., Kapalka, M.: The semantics of progress in lock-based transactional memory. In: Proc. 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 404–415 (2009) Google Scholar
  12. 12.
    Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Proc. 22nd International Symposium on Distributed Computing, pp. 305–319 (2008) Google Scholar
  13. 13.
    Harris, T.L., Fraser, K., Pratt, I.A.: A practical multi-word compare-and-swap operation. In: Proc. 16th International Symposium on Distributed Computing, pp. 265–279 (2002) Google Scholar
  14. 14.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, San Mateo (2008) Google Scholar
  15. 15.
    Herlihy, M., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990) CrossRefGoogle Scholar
  16. 16.
    Herlihy, M., Luchangco, V., Moir, M.: Scherer III W. N.: Software transactional memory for dynamic-sized data structures. In: Proc. 22nd ACM Symposium on Principles of Distributed Computing, pp. 92–101 (2003) Google Scholar
  17. 17.
    Imbs, D., Raynal, M.: A lock-based protocol for software transactional memory. In: Proc. 13th International Conference on Principle of Distributed Systems, pp. 226–245 (2008) Google Scholar
  18. 18.
    Imbs, D., Raynal, M.: Help when needed, but no more: efficient read/write partial snapshot. In: Proc. 23nd International Symposium on Distributed Computing, pp. 142–156 (2009) Google Scholar
  19. 19.
    Imbs, D., Raynal, M., de Mendivil, J.R.: Brief announcement: virtual world consistency: a new condition for STM systems. In: Proc. 28th ACM Symposium on Principles of Distributed Computing, pp. 280–281 (2009) CrossRefGoogle Scholar
  20. 20.
    Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: Proc. 13th ACM Symposium on Principles of Distributed Computing, pp. 151–160 (1994) Google Scholar
  21. 21.
    Israeli, A., Shirazi, A.: The time complexity of updating snapshot memories. Inf. Process. Lett. 65(1), 33–40 (1998) MathSciNetCrossRefGoogle Scholar
  22. 22.
    Keidar, I., Perelman, D.: On avoiding spare aborts in transactional memory. In: Proc. 21th ACM Symposium on Parallelism in Algorithms and Architectures, pp. 59–68 (2009) Google Scholar
  23. 23.
    Lu, S., Bernstein, A., Lewis, P.: Correct execution of transactions at different isolation levels. IEEE Trans. Knowl. Data Eng. 16(9), 1070–1081 (2004) CrossRefGoogle Scholar
  24. 24.
    Napper, J., Alvisi, L.: Lock-free serializable transactions. Technical Report TR-05-04, The University of Texas at Austin (2005) Google Scholar
  25. 25.
    Papadimitriou, C.H.: The serializability of concurrent database updates. J. Assoc. Comput. Mach. 26(4), 631–653 (1979) MathSciNetzbMATHGoogle Scholar
  26. 26.
    Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: Proc. 20th International Symposium on Distributed Computing, pp. 284–298 (2006) Google Scholar
  27. 27.
    Riegel, T., Fetzer, C., Felber, P.: Snapshot isolation for software transactional memory. In: 1st ACM SIGPLAN Workshop on Transactional Computing (2006) Google Scholar
  28. 28.
    Riegel, T., Fetzer, C., Sturzrehm, H., Felber, P.: From causal to z-linearizable transactional memory. In: Proc. 26th ACM Symposium on Principles of Distributed Computing, pp. 340–341 (2007) Google Scholar
  29. 29.
    Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, San Mateo (2001) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Department of Computer ScienceTechnionHaifaIsrael

Personalised recommendations