Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1272996.1273029acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
Article

STMBench7: a benchmark for software transactional memory

Published: 21 March 2007 Publication History

Abstract

Software transactional memory (STM) is a promising technique for controlling concurrency in modern multi-processor architectures. STM aims to be more scalable than explicit coarse-grained locking and easier to use than fine-grained locking. However, STM implementations have yet to demonstrate that their runtime overheads are acceptable. To date, empiric evaluations of these implementations have suffered from the lack of realistic benchmarks. Measuring performance of an STM in an overly simplified setting can be at best uninformative and at worst misleading as it may steer researchers to try to optimize irrelevant aspects of their implementations.
This paper presents STMBench7: a candidate benchmark for evaluating STM implementations. The underlying data structure consists of a set of graphs and indexes intended to be suggestive of many complex applications, e.g., CAD/CAM. A collection of operations is supported to model a wide range of workloads and concurrency patterns. Companion locking strategies serve as a baseline for STM performance comparisons. STMBench7 strives for simplicity. Users may choose a workload, number of threads, benchmark length, as well as the possibility of structure modification and the nature of traversals of shared data structures. We illustrate the use of STMBench7 with an evaluation of a well-known software transactional memory implementation.

References

[1]
The OO7 benchmark. ftp://ftp.cs.wisc.edu/oo7.
[2]
RSTM---the Rochester software transactional memory runtime. http://www.cs.rochester.edu/research/synchronization/rstm.
[3]
STMBench7 home page. http://lpd.epfl.ch/kapalka/stmbench7.php.
[4]
M. J. Carey, D. J. DeWitt, and J. F. Naughton. The OO7 benchmark. SIGMOD Record (ACM Special Interest Group on Management of Data), 22(2):12--21, 1993.
[5]
D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In Proceedings of the 20th International Symposium on Distributed Computing (DISC'06), 2006.
[6]
M. Herlihy. SXM software transactional memory package for C#. http://www.cs.brown.edu/~mph.
[7]
M. Herlihy, V. Luchangco, and M. Moir. A flexible framework for implementing software transactional memory. In Proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA'06), pages 253--262, 2006.
[8]
M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer III. Software transactional memory for dynamic-sized data structures. In Proceedings of the 22th Annual ACM Symposium on Principles of Distributed Computing (PODC), pages 92--101, 2003.
[9]
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. May 1993.
[10]
V. J. Maranthe, W. N. Scherer III, and M. L. Scott. Adaptive software transactional memory. In Proceedings of the 19th International Symposium on Distributed Computing (DISC'05), pages 354--368, 2005.
[11]
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 Proceedings of the 1st ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (Transact '06), 2006.
[12]
T. Riegel, P. Felber, and C. Fetzer. A lazy snapshot algorithm with eager validation. In Proceedings of the 20th International Symposium on Distributed Computing (DISC'06), 2006.
[13]
N. Shavit and D. Touitou. Software transactional memory. In Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing (PODC), pages 204213. Aug 1995.
[14]
M. F. Spear, V. J. Marathe, W. N. Scherer III, and M. L. Scott. Conflict detection and validation strategies for software transactional memory. In Proceedings of the 20th International Symposium on Distributed Computing (DISC'06), 2006.

Cited By

View all
  • (2024)GraalSP: Polyglot, efficient, and robust machine learning-based static profilerJournal of Systems and Software10.1016/j.jss.2024.112058213(112058)Online publication date: Jul-2024
  • (2024)FlexiGran: Flexible Granularity Locking in HierarchiesEuro-Par 2024: Parallel Processing10.1007/978-3-031-69577-3_1(3-17)Online publication date: 26-Aug-2024
  • (2023)STAMP-Rust: Language and Performance Comparison to C on Transactional BenchmarksBenchmarking, Measuring, and Optimizing10.1007/978-3-031-31180-2_10(160-175)Online publication date: 13-May-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EuroSys '07: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
March 2007
431 pages
ISBN:9781595936363
DOI:10.1145/1272996
  • cover image ACM SIGOPS Operating Systems Review
    ACM SIGOPS Operating Systems Review  Volume 41, Issue 3
    EuroSys'07 Conference Proceedings
    June 2007
    386 pages
    ISSN:0163-5980
    DOI:10.1145/1272998
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 March 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. benchmarks
  2. software transactional memory

Qualifiers

  • Article

Conference

EuroSys07
Sponsor:
EuroSys07: Eurosys 2007 Conference
March 21 - 23, 2007
Lisbon, Portugal

Acceptance Rates

Overall Acceptance Rate 241 of 1,308 submissions, 18%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)GraalSP: Polyglot, efficient, and robust machine learning-based static profilerJournal of Systems and Software10.1016/j.jss.2024.112058213(112058)Online publication date: Jul-2024
  • (2024)FlexiGran: Flexible Granularity Locking in HierarchiesEuro-Par 2024: Parallel Processing10.1007/978-3-031-69577-3_1(3-17)Online publication date: 26-Aug-2024
  • (2023)STAMP-Rust: Language and Performance Comparison to C on Transactional BenchmarksBenchmarking, Measuring, and Optimizing10.1007/978-3-031-31180-2_10(160-175)Online publication date: 13-May-2023
  • (2022)Multi-Interval DomLock: Toward Improving Concurrency in HierarchiesACM Transactions on Parallel Computing10.1145/35435439:3(1-27)Online publication date: 18-Aug-2022
  • (2019)An optimization-driven incremental inline substitution algorithm for just-in-time compilersProceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization10.5555/3314872.3314893(164-179)Online publication date: 16-Feb-2019
  • (2019)A Protein Structure Prediction Program Architecture Based on a Software Transactional MemoryProceedings of the 6th Conference on the Engineering of Computer Based Systems10.1145/3352700.3352701(1-9)Online publication date: 2-Sep-2019
  • (2019)Renaissance: benchmarking suite for parallel applications on the JVMProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314637(31-47)Online publication date: 8-Jun-2019
  • (2019)An Optimization-Driven Incremental Inline Substitution Algorithm for Just-in-Time Compilers2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)10.1109/CGO.2019.8661171(164-179)Online publication date: Feb-2019
  • (2019)Toggle: Contention-Aware Task Scheduler for Concurrent Hierarchical OperationsEuro-Par 2019: Parallel Processing10.1007/978-3-030-29400-7_11(142-155)Online publication date: 26-Aug-2019
  • (2018)NumLockProceedings of the 47th International Conference on Parallel Processing10.1145/3225058.3225141(1-10)Online publication date: 13-Aug-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media