Skip to main content

Good Programming in Transactional Memory

Game Theory Meets Multicore Architecture

  • Conference paper
Algorithms and Computation (ISAAC 2009)

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

Included in the following conference series:

Abstract

In a multicore transactional memory (TM) system, concurrent execution threads interact and interfere with each other through shared memory. The less interference a program provokes the better for the system. However, as a programmer is primarily interested in optimizing her individual code’s performance rather than the system’s overall performance, she does not have a natural incentive to provoke as little interference as possible. Hence, a TM system must be designed compatible with good programming incentives (GPI), i.e., writing efficient code for the overall system coincides with writing code that optimizes an individual program’s performance. We show that with most contention managers (CM) proposed in the literature so far, TM systems are not GPI compatible. We provide a generic framework for CMs that base their decisions on priorities and explain how to modify Timestamp-like CMs so as to feature GPI compatibility. In general, however, priority-based conflict resolution policies are prone to be exploited by selfish programmers. In contrast, a simple non-priority-based manager that resolves conflicts at random is GPI compatible.

A full version including all proofs, is available as TIK Report 310 at http://www.tik.ee.ethz.ch.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.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. Attiya, H., Epstein, L., Shachnai, H., Tamir, T.: Transactional contention management as a non-clairvoyant scheduling problem. In: PODC 2006: Proc. of the 25th annual ACM symposium on Principles of Distributed Computing, pp. 308–315 (2006)

    Google Scholar 

  2. Christodoulou, G., Koutsoupias, E.: The price of anarchy of finite congestion games. In: STOC 2005: Proc. of 37th annual symposium on Theory of computing, pp. 67–73 (2005)

    Google Scholar 

  3. Eidenbenz, R., Wattenhofer, R.: Brief announcement: Selfishness in transactional memory. In: SPAA 2009: Proc. of the 21st annual symposium on Parallelism in Algorithms and Architectures, pp. 41–42 (2009)

    Google Scholar 

  4. Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: PODC 2005: Proc. of the 24th annual ACM symposium on Principles of Distributed Computing, pp. 258–264 (2005)

    Google Scholar 

  5. Herlihy, M., Luchangco, V., Moir, M.: A flexible framework for implementing software transactional memory. SIGPLAN Not. 41(10), 253–262 (2006)

    Article  Google Scholar 

  6. Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21(2), 289–300 (1993)

    Article  Google Scholar 

  7. Roughgarden, T.: Selfish Routing and the Price of Anarchy. MIT Press, Cambridge (2005)

    Google Scholar 

  8. Scherer III, W.N., Scott, M.L.: Contention Management in Dynamic Software Transactional Memory. In: PODC Workshop on Concurrency and Synchronization in Java Programs (CSJP), St. John’s, NL, Canada (July 2004)

    Google Scholar 

  9. Scherer III, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: PODC 2005: Proc. of the 24th annual ACM symposium on Principles of Distributed Computing, pp. 240–248 (2005)

    Google Scholar 

  10. Schneider, J., Wattenhofer, R.: Bounds On Contention Management Algorithms. In: Dong, Y., Du, D.-Z., Ibarra, O. (eds.) ISAAC 2009. LNCS, vol. 5878, pp. 441–451. Springer, Heidelberg (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Eidenbenz, R., Wattenhofer, R. (2009). Good Programming in Transactional Memory. In: Dong, Y., Du, DZ., Ibarra, O. (eds) Algorithms and Computation. ISAAC 2009. Lecture Notes in Computer Science, vol 5878. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10631-6_52

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10631-6_52

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10630-9

  • Online ISBN: 978-3-642-10631-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics