Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2041072.2041080guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Looking for efficient implementations of concurrent objects

Published: 19 September 2011 Publication History

Abstract

As introduced by Taubenfeld, a contention-sensitive implementation of a concurrent object is an implementation such that the overhead introduced by locking is eliminated in the common cases, i.e., when there is no contention or when the operations accessing concurrently the object are non-interfering. This paper, that can be considered as an introductory paper to this topic, presents a methodological construction of a contention-sensitive implementation of a concurrent stack. In a contention-free context a push or pop operation does not rest on a lock mechanism and needs only six accesses to the shared memory. In case of concurrency a single lock is required. Moreover, the implementation is starvation-free (any operation is eventually executed). The paper, that presents the algorithms in an incremental way, visits also a family of liveness conditions and important concurrency-related concepts such as the notion of an abortable object.

References

[1]
Aguilera, M.K., Frolund, S., Hadzilacos, V., Horn, S.L., Toueg, S.: Abortable and Query-abortable Objects and their Implementations. In: Proc. 26th Int'l ACM Symposium on Principles of Distributed Computing (PODC 2007), pp. 23-32. ACM Press, New York (2007).
[2]
Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems, p. 370. Addison Wesley Publishing Company, Reading (1987).
[3]
Dijkstra, E.W.D.: Hierarchical Ordering of Sequential Processes. Acta Informatica 1(1), 115-138 (1971).
[4]
Fich, F.E., Luchangco, V., Moir, M., Shavit, N.N.: Obstruction-free algorithms can be practically wait-free. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 78-92. Springer, Heidelberg (2005).
[5]
Guerraoui, R., Kapalka, M., Kuznetsov, P.: The Weakest Failure Detectors to Boost Obstruction-freedom. Distributed Computing 20(6), 415-433 (2008).
[6]
Guerraoui, R., Raynal, M.: From Unreliable Objects to Reliable Objects: The Case of Atomic Registers and Consensus. In: Malyshkin, V.E. (ed.) PaCT 2007. LNCS, vol. 4671, pp. 47-61. Springer, Heidelberg (2007).
[7]
Herlihy, M.P.: Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems 13(1), 124-149 (1991).
[8]
Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction-free Synchronization: Double-ended Queues as an Example. In: Proc. 23th Int'l IEEE Conference on Distributed Computing Systems (ICDCS 2003), pp. 522-529. IEEE Press, New York (2003).
[9]
Herlihy, M.P., Shavit, N.: The Art of Multiprocessor Programming, p. 508. Morgan Kaufman Pub., San Francisco (2008).
[10]
Herlihy, M.P., Wing, J.M.: Linearizability: a Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems 12(3), 463-492 (1990).
[11]
Hewitt, C.E., Atkinson, R.R.: Specification and Proof Techniques for Serializers. IEEE Transactions on Software Engineering SE5(1), 1-21 (1979).
[12]
Hoare, C.A.R.: Monitors: an Operating System Structuring Concept. Communications of the ACM 17(10), 549-557 (1974).
[13]
Jayanti, P.: Adaptive and Efficient Abortable Mutual Exclusion. In: Proc. 22th Int'l ACM Symposium on Principles of Distributed Computing (PODC 2003), pp. 295-304. ACM Press, New York (2003).
[14]
Lamport, L.: How to Make a Multiprocessor Computer that Correctly Executes Multiprocess Programs. IEEE Transactions on Computers C28(9), 690-691 (1979).
[15]
Lamport, L.: On Interprocess Communication, Part 1: Basic formalism, Part II: Algorithms. Distributed Computing 1(2), 77-101 (1986).
[16]
Lamport, L.: A Fast Mutual Exclusion Algorithm. ACM Transactions on Computer Systems 5(1), 1-11 (1987).
[17]
Peterson, G.L.: Myths about Mutual Exclusion. Information Processing Letters 12(3), 115-116 (1981).
[18]
Raynal, M.: Algorithms for Mutual Exclusion, p. 107. The MIT Press, Cambridge (1986); ISBN 0-262-18119-3.
[19]
Raynal, M.: Locks Considered Harmful: A Look at Non-traditional Synchronization. In: Brinkschulte, U., Givargis, T., Russo, S. (eds.) SEUS 2008. LNCS, vol. 5287, pp. 369-380. Springer, Heidelberg (2008).
[20]
Raynal, M.: Shared Memory Synchronization in Presence of Failures: an Exercise-based Introduction. In: IEEE Int'l Conference on Complex, Intelligent and Software Intensive Systems (CISIS 2009), pp. 9-18. IEEE Press, New York (2009).
[21]
Raynal, M.: On the Implementation of Concurrent Objects. Technical Report 1968, IRISA, Université de Rennes, France (2011); To appear in a Springer Verlag LNCS special issue dedicated to the 75th birthday of Brian Randell.
[22]
Shafiei, N.: Non-blocking Array-Based Algorithms for Stacks and Queues. In: Garg, V., Wattenhofer, R., Kothapalli, K. (eds.) ICDCN 2009. LNCS, vol. 5408, pp. 55-66. Springer, Heidelberg (2008).
[23]
Suzuki, I., Kasami, T.: A Distributed Mutual Exclusion Algorithm. ACM Transactions on Computer Systems 3(4), 344-349 (1985).
[24]
Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming, p. 423. Pearson Prentice-Hall, London (2006); ISBN 0-131-97259-6.
[25]
Taubenfeld, G.: Efficient Transformations of Obstruction-Free Algorithms into Nonblocking Algorithms. In: Pelc, A. (ed.) DISC 2007. LNCS, vol. 4731, pp. 450-464. Springer, Heidelberg (2007).
[26]
Taubenfeld, G.: Contention-Sensitive Data Structures and Algorithms. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 157-171. Springer, Heidelberg (2009).

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
PaCT'11: Proceedings of the 11th international conference on Parallel computing technologies
September 2011
500 pages
ISBN:9783642231773
  • Editor:
  • Victor Malyshkin

Sponsors

  • Russian Fund for Basic Resch: Russian Fund for Basic Research
  • LUFTHANSA: Lufthansa Official Airlines
  • AST: Academy of Sciences of the Republic of Tatarstan
  • Russian Acadamy of Sciences: Russian Acadamy of Sciences
  • KFU: Kazan Federal University

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 19 September 2011

Author Tags

  1. Compare&Swap
  2. abortable object
  3. asynchronous shared memory system
  4. atomic register
  5. contention manager
  6. contention-sensitiveness
  7. deadlock-freedom
  8. linearizability
  9. liveness
  10. lock-freedom
  11. non-blocking
  12. obstruction-freedom
  13. progress condition
  14. starvation-freedom
  15. synchronization

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media