Skip to main content

Polymorphic Contention Management

  • Conference paper
Distributed Computing (DISC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3724))

Included in the following conference series:

Abstract

In software transactional memory (STM) systems, a contention manager resolves conflicts among transactions accessing the same memory locations. Whereas atomicity and serializability of the transactions are guaranteed at all times, the contention manager is of crucial importance for guaranteeing that the system as a whole makes progress.

A number of different contention management policies have been proposed and evaluated in the recent literature. An empirical evaluation of these policies leads to the striking result that there seems to be no “universal” contention manager that works best under all reasonable circumstances. Instead, transaction throughput can vary dramatically depending on factors such as transaction length, data access patterns, the length of contended vs. uncontended phases, and so on.

This paper proposes polymorphic contention management, a structure that allows contention managers to vary not just across workloads, but across concurrent transactions in a single workload, and even across different phases of a single transaction. The ability to mix contention managers or to change them on-the-fly provides performance benefits, but also poses number of questions concerning how a contention manager of a given class can interact in a useful way with contention managers of different, possibly unknown classes. We address these questions by classifying contention managers in a hierarchy, based on the cost associated with each contention manager, and present a general algorithm to handle conflict between contention managers from different classes. We describe how our polymorphic contention management structure is smoothly integrated with nested transactions in the SXM library.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Dijkstra, E.: Hierarchical ordering of sequential processes. Acta Informatica 1(2), 115–138 (1971)

    Article  MathSciNet  Google Scholar 

  2. Gray, J.: A transaction model, automata languages and programming. In: de Bakker, J.W., van Leeuwen, J. (eds.) ICALP 1980. LNCS, vol. 85, pp. 282–298. Springer, Heidelberg (1980)

    Google Scholar 

  3. Guerraoui, R.: Atomic object composition. In: Tokoro, M., Pareschi, R. (eds.) ECOOP 1994. LNCS, vol. 821, pp. 118–138. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  4. Guerraoui, R., Capobianchi, R., Lanusse, A., Roux, P.: Nesting actions through asynchronous message passing: the ACS protocol. In: Lehrmann Madsen, O. (ed.) ECOOP 1992. LNCS, vol. 615, pp. 170–184. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  5. Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of contention managers. In: PODC 2005: Proceedings of the twenty-fourth annual symposium on Principles of Distributed Computing. ACM Press, New York (2005)

    Google Scholar 

  6. Hammond, L., Nayfeh, B., Olukotun, K.: A single-chip multiprocessor. Computer 30(9), 79–85 (1997)

    Article  Google Scholar 

  7. Harris, T., Fraser, K.: Language support for lightweight transactions. In: OOPSLA 2003: Proceedings of the eighteenth ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (October 2003)

    Google Scholar 

  8. Harris, T., Marlow, S., Jones, S., Herlihy, M.: Composable memory transaction. Technical report, Microsoft Research Cambridge (December 2004)

    Google Scholar 

  9. Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example. In: ICDCS 2003: Proceedings of the twenty-third International Conference on Distributed Computing Systems, p. 522. IEEE Computer Society, Los Alamitos (2003)

    Google Scholar 

  10. Herlihy, M., Luchangco, V., Moir, M., Scherer, W.: Software transactional memory for dynamic-sized data structures. In: PODC 2003: Proceedings of the twenty-second annual symposium on Principles of distributed computing, pp. 92–101. ACM Press, New York (2003)

    Chapter  Google Scholar 

  11. Herlihy, M., Moss, J.: Transactional memory: architectural support for lock-free data structures. In: ISCA 1993: Proceedings of the twentieth Annual International Symposium on Computer Architecture, pp. 289–300. ACM Press, New York (1993)

    Chapter  Google Scholar 

  12. Liskov, B.: Distributed programming in argus. Communication of ACM 31(3), 300–312 (1988)

    Article  MathSciNet  Google Scholar 

  13. Moss, J.E.: Nested Transactions: An Approach to Reliable Distributed Computing. PhD thesis, MIT (1981)

    Google Scholar 

  14. Papadimitriou, C.: The serializability of concurrent database updates. Journal of the ACM 26(4), 631–653 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  15. Microsoft Research. C# software transactional memory, http://research.microsoft.com/research/downloads/default.aspx

  16. Scherer, W., Scott, M.: Contention management in dynamic software transactional memory. In: Workshop on Concurrency and Synchronization in Java Programs (July 2004)

    Google Scholar 

  17. Scherer, W., Scott, M.: Advanced contention management for dynamic software transactional memory. In: PODC 2005: Proceedings of the twenty-fourth annual symposium on Principles of Distributed Computing. ACM Press, New York (2005)

    Google Scholar 

  18. Schwarz, P., Spector, A.: Synchronizing shared abstract types. ACM Transactions on Computer Systems 2(3), 223–250 (1984)

    Article  Google Scholar 

  19. Weihl, W.: Specification and Implementation of Atomic Data Types. PhD thesis, MIT (1984)

    Google Scholar 

  20. Weihl, W.: Local atomicity properties: modular concurrency control for abstract data types. ACM Transactions on Programming Languages and Systems 11(2), 249–282 (1989)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Guerraoui, R., Herlihy, M., Pochon, B. (2005). Polymorphic Contention Management. In: Fraigniaud, P. (eds) Distributed Computing. DISC 2005. Lecture Notes in Computer Science, vol 3724. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561927_23

Download citation

  • DOI: https://doi.org/10.1007/11561927_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29163-3

  • Online ISBN: 978-3-540-32075-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics