Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1582716.1582725acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

Preventing versus curing: avoiding conflicts in transactional memories

Published: 10 August 2009 Publication History

Abstract

Transactional memories are typically speculative and rely on contention managers to cure conflicts. This paper explores a complementary approach that prevents conflicts by scheduling transactions according to predictions on their access sets.
We first explore the theoretical boundaries of this approach and prove that (1) a TM scheduler with an accurate prediction can be 2-competitive with an optimal offline TM scheduler, but (2) even a slight inaccuracy in prediction makes the competitive ratio of the TM scheduler in the order of the number of transactions.
We then show that, in practice, there is room for a pragmatic approach with good average case performance. We present Shrink, a scheduler that (1) bases its prediction of transactional accesses on the access patterns of the past transactions from the same thread, and (2) uses a novel heuristic, which we call serialization affinity, to schedule transactions with a probability proportional to the current amount of contention. Shrink obtains roughly 70% accurate read and write access predictions on STMBench7 and STAMP. In our experimental evaluation, Shrink significantly improves STM performance in cases the number of executing threads is higher than the number of available CPU cores. For SwissTM, Shrink improves the performance by up to 55% on STMBench7, and up to 120% on STAMP. For TinySTM, Shrink drastically improves the performance on STMBench7 and STAMP benchmarks.

References

[1]
V. Almeida, A. Bestavros, M. Crovella, and A. de Oliveira. Characterizing reference locality in the WWW. In DIS, pages 92--107. IEEE Computer Society, 1996.
[2]
M. Ansari, M. Lujan, C. Kotselidis, K. Jarvis, C. Kirkham, and I. Watson. Steal-on-abort: Improving transactional memory performance through dynamic transaction reordering. In HIPEAC. Springer, January 2009.
[3]
H. Attiya, L. Epstein, H. Shachnai, and T. Tamir. Transactional contention management as a non-clairvoyant scheduling problem. In PODC, pages 308--315. ACM, 2006.
[4]
D. Dice, O. Shalev, and N. Shavit. Transactional Locking II. In DISC, pages 194--208. Springer, 2006.
[5]
S. Dolev, D. Hendler, and A. Suissa. CAR-STM: Scheduling-based collision avoidance and resolution for software transactional memory. In PODC, pages 125--134. ACM, 2008.
[6]
A. Dragojevic, R. Guerraoui, and M. Kapalka. Stretching transactional memory. In PLDI. ACM, 2009. (to appear).
[7]
R. Guerraoui, M. Herlihy, and B. Pochon. Polymorphic contention management. In DISC, pages 303--323. Springer, 2005.
[8]
R. Guerraoui, M. Herlihy, and B. Pochon. Towards a theory of transactional contention managers. In PODC, pages 316--317. ACM, 2006.
[9]
R. Guerraoui, M. Kapalka, and J. Vitek. STMBench7: A benchmark for software transactional memory. In EuroSys, pages 315--324. ACM, 2007.
[10]
M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer III. Software transactional memory for dynamic-sized data structures. In PODC, pages 92--101. ACM, 2003.
[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 TRANSACT. Jun 2006.
[12]
C. Cao Minh, J. Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford Transactional Applications for Multi-Processing. In IISWC. IEEE, 2008.
[13]
K. E. Moore, J. Bobba, M. J. Moravan, M.D. Hill, and D. A. Wood. LogTM: Log-based transactional memory. In HPCA, pages 254--265. IEEE Computer Society, Feb 2006.
[14]
R. Motwani, S. Phillips, and E. Torng. Non-clairvoyant scheduling. Theoretical Computer Science, 130(1):17--47, 1994.
[15]
T. Riegel, C. Fetzer, and P. Felber. Time-based transactional memory with scalable time bases. In SPAA. ACM, Jun 2007.
[16]
C. J. Rossbach, O. S. Hofmann, D. E. Porter, H. E. Ramadan, B. Aditya, and E. Witchel. TxLinux: Using and managing hardware transactional memory in an operating system. In SOSP, pages 87--102. ACM, 2007.
[17]
W. N. Scherer and M. L. Scott. Advanced contention management for dynamic software transactional memory. In PODC, pages 240--248. ACM, 2005.
[18]
A. J. Smith. Cache memories. ACM Computing Surveys, 14(3):473--530, 1982.
[19]
A. Tomar. Dynamic prediction based scheduling for tm. In Master Thesis, pages 169--178. EPFL, February 2009.
[20]
M. M. Waliullah and P. Stenstrom. Intermediate checkpointing with conflicting access prediction in transactional memory systems. In IPDPS, pages 1--11. IEEE Computer Society, 2008.
[21]
R. M. Yoo and H. S. Lee. Adaptive transaction scheduling for transactional memory systems. In SPAA, pages 169--178. ACM, 2008.

Cited By

View all
  • (2023)Flexible scheduling of transactional memory on treesTheoretical Computer Science10.1016/j.tcs.2023.114184(114184)Online publication date: Sep-2023
  • (2021)Dynamic scheduling in distributed transactional memoryDistributed Computing10.1007/s00446-021-00410-wOnline publication date: 20-Nov-2021
  • (2020)Adaptive Model-Based Scheduling in Software Transactional MemoryIEEE Transactions on Computers10.1109/TC.2019.295413969:5(621-632)Online publication date: 1-May-2020
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC '09: Proceedings of the 28th ACM symposium on Principles of distributed computing
August 2009
356 pages
ISBN:9781605583969
DOI:10.1145/1582716
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: 10 August 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. contention management
  2. scheduling
  3. software transactional memory

Qualifiers

  • Research-article

Conference

PODC '09

Acceptance Rates

PODC '09 Paper Acceptance Rate 27 of 110 submissions, 25%;
Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Flexible scheduling of transactional memory on treesTheoretical Computer Science10.1016/j.tcs.2023.114184(114184)Online publication date: Sep-2023
  • (2021)Dynamic scheduling in distributed transactional memoryDistributed Computing10.1007/s00446-021-00410-wOnline publication date: 20-Nov-2021
  • (2020)Adaptive Model-Based Scheduling in Software Transactional MemoryIEEE Transactions on Computers10.1109/TC.2019.295413969:5(621-632)Online publication date: 1-May-2020
  • (2020)Online Sharing-Aware Thread Mapping in Software Transactional Memory2020 IEEE 32nd International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)10.1109/SBAC-PAD49847.2020.00016(35-42)Online publication date: Sep-2020
  • (2020)Thread Affinity in Software Transactional Memory2020 19th International Symposium on Parallel and Distributed Computing (ISPDC)10.1109/ISPDC51135.2020.00033(180-187)Online publication date: Jul-2020
  • (2020)Dynamic Scheduling in Distributed Transactional Memory2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS47924.2020.00094(874-883)Online publication date: May-2020
  • (2020)Fast Scheduling in Distributed Transactional MemoryTheory of Computing Systems10.1007/s00224-020-10008-7Online publication date: 23-Oct-2020
  • (2019)HeTM: Transactional Memory for Heterogeneous Systems2019 28th International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT.2019.00026(232-244)Online publication date: Sep-2019
  • (2018)Transactional pre-abort handlers in hardware transactional memoryProceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques10.1145/3243176.3243186(1-11)Online publication date: 1-Nov-2018
  • (2017)SeerACM Transactions on Computer Systems10.1145/313203635:3(1-41)Online publication date: 14-Nov-2017
  • Show More Cited By

View Options

Get Access

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