Skip to main content
Log in

Universal constructions that ensure disjoint-access parallelism and wait-freedom

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

A universal construction is a general mechanism for obtaining a concurrent implementation of an object from its sequential code. We show that there is no universal construction that is both disjoint-access parallel (guaranteeing the processes operating on different parts of an implemented object do not interfere with one another) and wait-free (guaranteeing progress for each nonfaulty process when accessing an object). In contrast, we present a universal construction which results in disjoint-access parallel, wait-free implementations of any object provided there is a bound on the number of data items accessed by each operation supported by the object.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Afek, Y., Dauber, D., Touitou, D.: Wait-free made fast. In: Proceedings of the 27th Annual ACM Symposium on Theory of Computing (STOC), pp. 538–547. ACM (1995)

  2. Afek, Y., Merritt, M., Taubenfeld, G., Touitou, D.: Disentangling multi-object operations (extended abstract). In: Proceedings of the 16th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 111–120. ACM (1997)

  3. Anderson, J.H., Moir, M.: Universal constructions for multi-object operations. In: Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 184–193. ACM (1995)

  4. Anderson, J.H., Moir, M.: Universal constructions for large objects. IEEE Trans. Parallel Distrib. Syst. 10(12), 1317–1332 (1999)

    Article  Google Scholar 

  5. Attiya, H., Dagan, E.: Improved implementations of binary universal operations. J. ACM 48(5), 1013–1037 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  6. Attiya, H., Fatourou, P.: Disjoint access parallelism in software transactional memory. Transactional Memory: Foundations. Algorithms, Tools and Applications, vol. 8913, pp. 72–97. Springer, Lecture Notes in Computing Sciences (2015)

  7. Attiya, H., Hillel, E.: Highly concurrent multi-word synchronization. Theor. Comput. Sci. 412(12–14), 1243–1262 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  8. Attiya, H., Hillel, E.: Built-in coloring for highly-concurrent doubly-linked lists. Theory Comput. Syst. 52(4), 729–762 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  9. Attiya, H., Hillel, E., Milani, A.: Inherent limitations on disjoint-access parallel implementations of transactional memory. Theory Comput. Syst. 49(4), 698–719 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  10. Barnes, G.: A method for implementing lock-free shared-data structures. In: Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA), pp. 261–270. ACM (1993)

  11. Berenson, H., Bernstein, P.A., Gray, J., Melton, J., O’Neil, E.J., O’Neil, P.E.: A critique of ANSI SQL isolation levels. In: Proceedings of the 16th ACM International Conference on Management of Data (SIGMOD), pp. 1–10. ACM Press (1995)

  12. Bushkov, V., Dziuma, D., Fatourou, P., Guerraoui, R.: The PCL theorem–transactions cannot be parallel, consistent and live. In: Proceedings of the 26th Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). ACM Press, July 2014

  13. Bushkov, V., Guerraoui, R., Kapałka, M.: On the liveness of transactional memory. In: Proceedings of the 31st ACM Symposium on Principles of Distributed Computing (PODC), pp. 9–18. ACM (2012)

  14. Chuong, P., Ellen, F., Ramachandran, V.: A universal construction for wait-free transaction friendly data structures. In: Proceedings of the 22nd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 335–344. ACM (2010)

  15. Dice, D., Shavit, N.: What really makes transactions faster? In: 1st Workshop on Transactional Computing (2006)

  16. Fatourou, P., Kallimanis, N.D.: The redblue adaptive universal constructions. In: Proceedings of the 23rd International Symposium Distributed Computing (DISC), vol. 5805 of Lecture Notes in Computer Science, pp. 127–141. Springer (2009)

  17. Fatourou, P., Kallimanis, N.D.: Highly-efficient wait-free synchronization. Theory Comput. Syst. 55(3), 475–520 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  18. Felber, P., Fetzer, C., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), pp. 237–246. ACM (2008)

  19. Fich, F., Herlihy, M., Shavit, N.: On the space complexity of randomized synchronization. J. ACM 45(5), 843–862 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  20. Fraser, K.: Practical lock freedom. Technical report, Computer Laboratory, University of Cambridge (2003). http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-579.pdf

  21. Guerraoui, R., Kapałka, M.: On obstruction-free transactions. In: Proceedings of the 20th Annual Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 304–313. ACM (2008)

  22. Guerraoui, R., Kapałka, M.: On the correctness of transactional memory. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), pp. 175–184. ACM (2008)

  23. Guerraoui, R., Kapalka, M.: The semantics of progress in lock-based transactional memory. In: Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pp. 404–415. ACM (2009)

  24. Herlihy, M.: A methodology for implementing highly concurrent data structures. In: Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), pp. 197–206. ACM (1990)

  25. Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13, 124–149 (1991)

    Article  Google Scholar 

  26. Herlihy, M., Luchangco, V., Martin, P., Moir, M.: Nonblocking memory management support for dynamic-sized data structures. ACM Trans. Comput. Syst. 23, 146–196 (2005)

    Article  Google Scholar 

  27. Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: Proceedings of the 20th Annual International Symposium on Computer Architecture (ISCA), pp. 289–300. ACM (1993)

  28. Herlihy, M., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  29. Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing (PODC), pp. 151–160. ACM (1994)

  30. Jayanti, P., Petrovic, S.: Efficiently implementing a large number of LL/SC objects. In: Proceedings of the 9th International Conference on Principles of Distributed Computing (OPODIS), vol. 3974 of Lecture Notes in Computer Science, pp. 45–56. Springer (2005)

  31. Kuznetsov, P., Ravi, S.: On partial wait-freedom in transactional memory. In: Proceedings of the 2015 International Conference on Distributed Computing and Networking, (ICDCN), pp. 10:1–10:9. ACM (2015)

  32. Lu, S., Bernstein, A., Lewis, P.: Correct execution of transactions at different isolation levels. IEEE Trans. Knowl. Data Eng. 16(9), 1070–1081 (2004)

    Article  Google Scholar 

  33. Marathe, V.J., III, W.N.S., Scott, M.L.: Adaptive software transactional memory. In: Proceedings of the 19th International Conference on Distributed Computing (DISC), vol. 3724 of Lecture Notes in Computer Science, pp. 354–368. Springer (2005)

  34. Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26(4), 631–653 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  35. Peluso, S., Palmieri, R., Romano, P., Ravindran, B., Quaglia, F.: Disjoint-access parallelism: impossibility, possibility, and cost of transactional memory implementations. In: Proceedings of the 34th ACM Symposium on Principles of Distributed Computing (PODC), pp. 217–226. ACM (2015)

  36. Riegel, T., Fetzer, C., Felber, P.: Snapshot isolation for software transactional memory. In: First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (TRANSACT) (2006)

  37. Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the 14th Annual ACM symposium on Principles of Distributed Computing (PODC), pp. 204–213. ACM (1995)

  38. Tabba, F., Moir, M., Goodman, J.R., Hay, A.W., Wang, C.: Nztm: nonblocking zero-indirection transactional memory. In: Proceedings of the 21st Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 204–213. ACM (2009)

  39. Turek, J., Shasha, D., Prakash, S.: Locking without blocking: making lock based concurrent data structure algorithms nonblocking. In: Proceedings of the 11th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS), pp. 212–222. ACM (1992)

  40. Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, Los Altos (2001)

    Google Scholar 

Download references

Acknowledgments

Faith Ellen was supported in part by the Natural Science and Engineering Research Council of Canada. Panagiota Fatourou was supported by the European Commission under the 7th Framework Program through the TransForm (FP7-MC-ITN-238639), HiPEAC2 (FP7-ICT-217068), HiPEAC3 (FP7-ICT-287759), Euroserver(FP7-ICT-610456), and ENCORE (FP7-ICT-248647) projects and by the ARISTEIA Action of the Operational Program Education and Lifelong Learning through the GreenVM project. Eleftherios Kosmas was supported by the project “IRAKLITOS II - University of Crete” of the Operational Programme for Education and Lifelong Learning 2007–2013 (E.P.E.D.V.M.) of the NSRF (2007–2013), co-funded by the European Union (European Social Fund) and National Resources. Alessia Milani and Panagiota Fatourou were supported in part by the EURO-TM cost action IC001. Alessia Milani and Corentin Travers were supported in part by the ANR project DISPLEXITY. Some of the work was done while Faith Ellen, Alessia Milani and Corentin Travers were visiting FORTH ICS, Crete, Greece, and while Faith Ellen and Eleftherios Kosmas were visiting Labri, Bordeaux, France. The visit of Faith Ellen was supported in part by the Embassy of France in Canada.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Corentin Travers.

Additional information

A preliminary version of this work appeared in the Proceedings of the 31st Annual ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC), 2012, pp. 115–124.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ellen, F., Fatourou, P., Kosmas, E. et al. Universal constructions that ensure disjoint-access parallelism and wait-freedom. Distrib. Comput. 29, 251–277 (2016). https://doi.org/10.1007/s00446-015-0261-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-015-0261-8

Keywords

Navigation