skip to main content
10.1145/1958746.1958795acmconferencesArticle/Chapter ViewAbstractPublication PagesicpeConference Proceedingsconference-collections
abstract

RMS-TM: a comprehensive benchmark suite for transactional memory systems

Published:30 September 2011Publication History

ABSTRACT

Transactional Memory (TM) has been proposed as an alternative concurrency mechanism for the shared memory parallel programming model. Its main goal is to make parallel programming for Chip Multiprocessors (CMPs) easier than using the traditional lock synchronization constructs, without compromising the performance and the scalability. This topic has received substantial research attention and several TM designs have been proposed using various TM benchmarks. We believe that the evaluation of TM proposals would be more solid if it included realistic applications, that address on-going TM research issues, and that provide the potential for straightforward comparison against locks.

In this paper, we introduce RMS-TM, a Transactional Memory benchmark suite composed of seven real-world applications from the Recognition, Mining and Synthesis (RMS) domain. In addition to featuring current TM research issues such as nesting and I/O and system calls inside transactions, the RMS-TM applications also provide a mix of short and long transactions with small/large read and write sets with low/medium/high contention rates. These characteristics, as well as providing lock-based versions of the applications, make RMS-TM a useful TM tool. Current TM benchmarks do not explore all these features. In our evaluation with selected STM and HTM systems, we find that our benchmark suite is also scalable, which is useful for evaluating TM designs on high core counts.

References

  1. K. Albayraktaroglu, A. Jaleel, Xue Wu, M. Franklin, B. Jacob, Chau-Wen Tseng, and D. Yeung. Biobench: A benchmark suite of bioinformatics applications. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software, 2005, Washington, DC, USA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Ansari, C. Kotselidis, I. Watson, C. Kirkham, M. Luján, and K. Jarvis. Lee-TM: A non-trivial benchmark suite for transactional memory. In Proceedings of the 8th International Conference on Algorithms and Architectures for Parallel Processing, pages 196-207, Agia Napa, Cyprus, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Baugh and C. Zilles. An analysis of I/O and syscalls in critical sections and their implications for transactional memory. In Proceedings of International Symposium on Performance Analysis of Systems and Software, pages 54-62, Washington, DC, USA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. C. Bienia, S. Kumar, J. P. Singh, and K. Li. The PARSEC benchmark suite: Characterization and architectural implications. In Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques, Toronto, ON, Canada, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. N. L. Binkert, R. G. Dreslinski, L. R. Hsu, K. T. Lim, A. G. Saidi, and S. K. Reinhardt. The M5 simulator: Modeling networked systems. IEEE Micro, 26(4):52-60, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. R. Butenhof. Programming with POSIX threads. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. Cao Minh, J. Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford transactional applications for multi-processing. In Proceedings of the IEEE International Symposium on Workload Characterization, Seattle, WA, USA, 2008.Google ScholarGoogle Scholar
  8. H. Chafi, J. Casper, B. D. Carlstrom, A. McDonald, C. Cao Minh, W. Baek, C. Kozyrakis, and K. Olukotun. A scalable, non-blocking approach to transactional memory. In Proceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture, pages 97-108, Washington, DC, USA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Chapman, G. Jost, and R. Van der Pas. Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation). The MIT Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. W. Chuang, S. Narayanasamy, G. Venkatesh, J. Sampson, M. Van Biesbrouck, G. Pokam, B. Calder, and O. Colavin. Unbounded page-based transactional memory. SIGPLAN Notices, 41(11):347-358, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Ennals, R. Adaptive Evaluation of Non-Strict Programs. PhD thesis. University of Cambridge, 2004.Google ScholarGoogle Scholar
  12. V. Gajinov, F. Zyulkyarov, O. S. Unsal, A. Cristal, E. Ayguade, T. Harris, and M. Valero. QuakeTM: parallelizing a complex sequential application using transactional memory. In Proceedings of the 23rd Int. conference on Supercomputing, ICS, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Guerraoui, M. Kapalka, and J. Vitek. STMBench7: A benchmark for software transactional memory. SIGOPS Operating Systems Review, 41(3), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. L. Hammond, V. Wong, M. Chen, B. D. Carlstrom, J. D. Davis, B. Hertzberg, M. K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional memory coherence and consistency. In Proceedings of the 31st Annual International Symposium on Computer Architecture, pages 102-113, New York, NY, USA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Herlihy, V. Luchangco, and M. Moir. A flexible framework for implementing software transactional memory. In Proceedings of the Object-Oriented Programming, Systems, Languages, and Applications, pages 253-262, Portland, OR, USA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture, pages 289-300, New York, NY, USA, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. C. Hughes, J. Poe, A. Qouneh, and T. Li. On the (dis)similarity of transactional memory workloads. In 2009 IEEE International Symposium on Workload Characterization, IISWC 2009, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. V. Joshi, G. Karypis, and V. Kumar. Scalparc: A new scalable and efficient parallel classification algorithm for mining large datasets. In Proceedings of the 12th International Parallel Processing Symposium on International Parallel Processing Symposium, pages 573-579, Washington, DC, USA, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. B. Liang and P. Dubey. Recognition, mining and synthesis moves computers to the era of tera. In Technology@Intel Magazine, pages 1-10, 2005.Google ScholarGoogle Scholar
  20. Y. Liu, W. Liao, and A. Choudhary. A fast high utility itemsets mining algorithm. In Proceedings of the 1st International Workshop on Utility-based Data Mining, pages 90-99, Chicago, IL, USA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. V. J. Marathe, M. F. Spear, C. Heriot, A. Acharya, D. Eisenstat, W. N. Scherer III, and M. L. Scott. Lowering the overhead of software transactional memory. In 1st ACM SIGPLAN Workshop on Transactional Computing, TRANSACT 2006. Ottawa, ON, Canada, 2006.Google ScholarGoogle Scholar
  22. K. E. Moore, J. Bobba, M. J. Moravan, M. D. Hill, and D. A. Wood. LogTM: Log-based transactional memory. In Proceedings of the 12th International Symposium on High-Performance Computer Architecture, pages 254-265, Austin, TX, USA, 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. J. Moravan, J. Bobba, K. E. Moore, L. Yen, M. D. Hill, B. Liblit, M. M. Swift, and D. A. Wood. Supporting nested transactional memory in LogTM. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 359-370, San Jose, CA, USA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Müller, D. Charypar, and M. Gross. Particle-based fluid simulation for interactive applications. In Proceedings of the 2003 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pages 154-159, San Diego, CA, USA, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. Narayanan, B. Özisikyilmaz, J. Zambreno, G. Memik, and A. Choudhary. Minebench: A benchmark suite for data mining workloads. In Proceedings of the International Symposium on Workload Characterization, pages 182-188, San Jose, CA, USA, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  26. Y. Ni, V. S. Menon, A.-R. Adl-Tabatabai, A. L. Hosking, R. L. Hudson, J. E. B. Moss, B. Saha, and T. Shpeisman. Open nesting in software transactional memory. In Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 68-78, San Jose, CA, USA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. OProfile - a system profiler for linux. Available at http://oprofile.sourceforge.net/.Google ScholarGoogle Scholar
  28. C. Perfumo, N. Sönmez, S. Stipic, O. Unsal, A. Cristal, T. Harris, and M. Valero. The limits of software transactional memory (STM): Dissecting Haskell STM applications on a many-core environment. In Proceedings of the 5th Conference on Computing Frontiers, pages 67-78, Ischia, Italy, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. Perfumo, O. Unsal, A. Cristal, and M. Valero. TxFS: Transactional file system. Technical Report UPC-DAC-RR-CAP-2010-12, Department of Computer Architecture, Universitat Politecnica de Catalunya, 2010.Google ScholarGoogle Scholar
  30. T. Riegel, P. Felber, and C. Fetzer. A lazy snapshot algorithm with eager validation. In Proceedings of the 20th International Symposiumon Distributed Computing, pages 284-298, Stockholm, Sweden, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. RMS-TM - BSC Microsoft Benchmark Suite for TM systems. Available at http://www.bscmsrc.eu/software/rms-tm.Google ScholarGoogle Scholar
  32. B. Saha, A.-R. Adl-tabatabai, R. L. Hudson, C. Cao Minh, and B. Hertzberg. McRT-STM: a high performance software transactional memory system for a multi-core runtime. In Proceedings of the 11th ACM Symposium on Principles and Practice of Parallel Programming, pages 187-197, New York City, NY, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. F. Spear, M. Silverman, L. Dalessandro, M. M. Michael, and M. L. Scott. Implementing and exploiting inevitability in software transactional memory. In Proceedings of the 37th International Conference on Parallel Processing, pages 59-66, Washington, DC, USA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. S. Tomic, C. Perfumo, C. Kulkarni, A. Armejach, A. Cristal, O. Unsal, T. Harris, and M. Valero. EazyHTM: Eager-lazy hardware transactional memory. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture, pages 145-155, New York, NY, USA, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The SPLASH-2 programs: Characterization and methodological considerations. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, pages 24-36, S. Margherita Ligure, Italy, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. M. J. Zaki, M. Ogihara, S. Parthasarathy, and W. Li. Parallel data mining for association rules on shared-memory multi-processors. In Proceedings of the ACM/IEEE Conference on Supercomputing, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. F. Zyulkyarov, A. Cristal, S. Cvijic, E. Ayguade, M. Valero, O. Unsal, and T. Harris. Wormbench: A configurable workload for evaluating transactional memory systems. In Proceedings of the 9th Workshop on Memory Performance, pages 61-68, Toronto, ON, Canada, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. F. Zyulkyarov, V. Gajinov, O. Unsal, A. Cristal, E. Ayguadé, T. Harris, and M. Valero. Atomic quake: Using transactional memory in an interactive multiplayer game server. In Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 25-34, Raleigh, NC, USA, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. RMS-TM: a comprehensive benchmark suite for transactional memory systems

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader