Advertisement

Abstract

We extend an existing analytic framework for modeling software transactional memory (STM) to an optimistic STM variant in which write locks are acquired lazily. Lazy locking requires a different calculation of the transition probabilities of the underlying discrete-time Markov chain (DTMC).

Based on few relevant input parameters, like the number of concurrent transactions, the transaction lengths, the share of writing operations and the number of accessible transactional data ojects, a fixed-point iteration over closed-form analytic expressions delivers key STM performance measures, e.g., the mean number of transaction restarts and the mean number of processed steps of a transaction.

In particular, the analytic model helps to predict STM performance trends as the number of cores on multi-processors increases, but other performance trends provide additional insight into system behavior.

Keywords

Data Object Transactional Memory Transactional Data Software Transactional Memory Transactional Memory System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: Proc. 20th Annual Int. Symposium on Computer Architecture (ISCA 1993), pp. 289–300. ACM Press, New York (1993)Google Scholar
  2. 2.
    Larus, J., Rajwar, R.: Transactional Memory. Morgan & Claypool Publishers, San Francisco (2007)Google Scholar
  3. 3.
    Herlihy, M., Luchangco, V., Moir, M., Scherer, W.N.: Software transactional memory for dynamic-sized data structures. In: Proc. 22nd ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC 2003), Boston, MA, USA, pp. 92–101 (2003)Google Scholar
  4. 4.
    Shavit, N., Touitou, D.: Software transactional memory. In: Proc. 14th ACM/SIGACT-SIGOPTS Symposium on Principles of Distributed Computing (PODC 1995), Ottawa, Canada, pp. 204–213 (1995)Google Scholar
  5. 5.
    Saha, B., Adl-Tabatabai, A.R., Hudson, R., Minh, C.C., Hertzberg, B.: McRT-STM: A high-performance software transactional memory system for a multi-core runtime. In: Proc. 11th ACM SIGPLAN Symposium of Principles and Practice of Parallel Programming (PPoPP 2006), New York, NY, USA, pp. 187–197 (2006)Google Scholar
  6. 6.
    Hammond, L., Carlstrom, B.D., Wong, V., Hertzberg, B., Chen, M., Kozyrakis, C., Olukotun, K.: Programming with transactional coherence and consistency (TCC). In: Proc. 11th Int. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2004), pp. 1–13. ACM Press, New York (2004)Google Scholar
  7. 7.
    Chuang, W., Narayanasamy, S., Venkatesh, G., Sampson, J., Biesbrouck, M.V., Pokam, G., Colavin, O., Calder, B.: Unbounded page-based transactional memory. In: Proc. 12th Int. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2006), Boston, MA, USA, pp. 347–358 (2006)Google Scholar
  8. 8.
    Ananian, C.S., Asanovic, K., Kuszmaul, B.C., Leiserson, C.E., Lie, S.: Unbounded transactional memory. In: Proc. 11th Int. Symposium on High-Performance Computer Architecture (HPCA 2005), Washington, DC, USA, pp. 316–327. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  9. 9.
    Moore, K.E., Bobba, J., Moravan, M.J., Hill, M.D., Wood, D.A.: LogTM: Log-based transactional memory. In: Proc. 12th Int. Symposium on High-Performance Computer Architecture (HPCA 2006), Washington, DC, USA, pp. 254–265. IEEE Computer Society, Los Alamitos (2006)Google Scholar
  10. 10.
    Damron, P., Fedorova, A., Lev, Y., Luchangco, V., Moir, M., Nussbaum, D.: Hybrid transactional memory. In: Proc. 12th Int. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2006), Boston, MA, USA, pp. 336–346 (2006)Google Scholar
  11. 11.
    Heindl, A., Pokam, G., Adl-Tabatabai, A.R.: An analytical performance model of software transactional memory. In: Proc. IEEE Int. Symposium on Performance Analysis of Systems and Software (ISPASS 2009), Boston, MA, USA (2009)Google Scholar
  12. 12.
    Heindl, A., Pokam, G.: An analytic framework for performance modeling of software transactional memory. Journal of Computer Networks (accepted for publication 2009)Google Scholar
  13. 13.
    von Praun, C., Bordawekar, R., Cascaval, C.: Modeling optimistic concurrency using quantitative dependence analysis. In: Proc. 13th ACM SIGPLAN Symposium of Principles and Practice of Parallel Programming (PPoPP 2008), Salt Lake City, Utah, USA, pp. 185–196 (2008)Google Scholar
  14. 14.
    Zilles, C., Rajwar, R.: Implications of false conflict rate trends for robust software transactional memory. In: Proc. IEEE Int. Symposium on Workload Characterization (IISWC 2007), Boston, MA, USA (2007)Google Scholar
  15. 15.
    Marathe, V.J., Spear, M.F., Heriot, C., Acharya, A., Eisenstat, D., Scherer, W.N., Scott, M.L.: Lowering the overhead of nonblocking software transactional memory. In: Proc. 1st ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (TRANSACT 2006), Ottawa, Canada (2006)Google Scholar
  16. 16.
    McKinney, E.: Generalized birthday problem. American Mathematical Monthly 73, 385–387 (1966)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Kemeny, J.G., Snell, J.L.: Finite Markov Chains. Springer, Heidelberg (1976)zbMATHGoogle Scholar
  18. 18.
    Maplesoft: Maple 12. Tool for mathematics and modeling, Waterloo, Ontario, Canada (2009), http://www.maplesoft.com/
  19. 19.
    Heindl, A., Pokam, G.: Modeling software transactional memory with AnyLogic. In: Proc. 2nd Int. Conf. on Simulation Tools and Techniques (SIMUTools 2009), Rome, Italy (2009)Google Scholar
  20. 20.
    XJ-Technologies: Anylogic 6.2.2. Multi-method simulation software, Petersburg, Russian Federation (2009), http://www.xjtek.com/
  21. 21.
    Minh, C.C., Chung, J.W., Kozyrakis, C., Olukotun, K.: STAMP: Stanford Transactional Applications for Multi-Processing. In: Proc. IEEE Int. Symposium on Workload Characterization (IISWC 2008), Seattle, WA, USA, pp. 35–46 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Armin Heindl
    • 1
  • Gilles Pokam
    • 2
  1. 1.Computer Networks and Communication SystemsUniversität Erlangen-NürnbergErlangenGermany
  2. 2.Intel Corporation Microprocessor Technology LabSanta ClaraUSA

Personalised recommendations