Highly-Concurrent Multi-word Synchronization

(Extended Abstract)
  • Hagit Attiya
  • Eshcar Hillel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4904)

Abstract

The design of concurrent data structures is greatly facilitated by the availability of synchronization operations that atomically modify k arbitrary locations, such as k-read-modify-write (k RMW). Aiming to increase concurrency in order to exploit the parallelism offered by today’s multi-core and multiprocessing architectures, we propose a software implementation of k RMW that efficiently breaks apart delay chains. Our algorithm ensures that two operations delay each other only if they are within distance O(k) in the conflict graph, dynamically induced by the operations’ data items.

The algorithm uses double compare-and-swap (DCAS). When DCAS is not supported by the architecture, the algorithm of Attiya and Dagan [3] can be used to replace DCAS with (unary) CAS, with only a slight increase in the interference among operations.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Afek, Y., Merritt, M., Taubenfeld, G., Touitou, D.: Disentangling multi-object operations. In: PODC 1997, pp. 111–120 (1997)Google Scholar
  2. 2.
    Anderson, J.H., Moir, M.: Universal constructions for multi-object operations. In: PODC 1995, pp. 184–193 (1995)Google Scholar
  3. 3.
    Attiya, H., Dagan, E.: Improved implementations of binary universal operations. J. ACM 48(5), 1013–1037 (2001)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd edn. John Wiley & Sons, West Sussex (2004)Google Scholar
  5. 5.
    Barnes, G.: A method for implementing lock-free shared-data structures. In: SPAA 1993, pp. 261–270 (1993)Google Scholar
  6. 6.
    Choy, M., Singh, A.K.: Efficient fault-tolerant algorithms for distributed resource allocation. ACM Trans. Program. Lang. Syst. 17(3), 535–559 (1995)CrossRefGoogle Scholar
  7. 7.
    Ha, P.H., Tsigas, P., Wattenhofer, M., Wattenhofer, R.: Efficient multi-word locking using randomization. In: PODC 2005, pp. 249–257 (2005)Google Scholar
  8. 8.
    Harris, T.L., Fraser, K., Pratt, I.A.: A practical multi-word compare-and-swap operation. In: Malkhi, D. (ed.) DISC 2002. LNCS, vol. 2508, pp. 265–279. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)CrossRefGoogle Scholar
  10. 10.
    Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: ISCA 1993, pp. 289–300 (1993)Google Scholar
  11. 11.
    Herlihy, M.P., Wing, J.M.: Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRefGoogle Scholar
  12. 12.
    Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: PODC 1994, pp. 151–160 (1994)Google Scholar
  13. 13.
    Rajwar, R., Goodman, J.R.: Transactional lock-free execution of lock-based programs. In: ASPLOS 2002, pp. 5–17 (2002)Google Scholar
  14. 14.
    Shavit, N., Touitou, D.: Software transactional memory. Dist. Comp. 10(2), 99–116 (1997)CrossRefGoogle Scholar
  15. 15.
    Turek, J., Shasha, D., Prakash, S.: Locking without blocking: Making lock based concurrent data structure algorithms nonblocking. In: PODS 1992, pp. 212–222 (1992)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Hagit Attiya
    • 1
  • Eshcar Hillel
    • 1
  1. 1.Department of Computer Science 

Personalised recommendations