Low-overhead software transactional memory with progress guarantees and strong semantics

Minjia Zhang, Jipeng Huang, Man Cao, Michael D. Bond

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Software transactional memory offers an appealing alternative to locks by improving programmability, reliability, and scalability. However, existing STMs are impractical because they add high instrumentation costs and often provide weak progress guarantees and/or semantics. This paper introduces a novel STM called LarkTM that provides three significant features. (1) Its instrumentation adds low overhead except when accesses actually conflict, enabling low single-thread overhead and scaling well on low-contention workloads. (2) It uses eager concurrency control mechanisms, yet naturally supports flexible conflict resolution, enabling strong progress guarantees. (3) It naturally provides strong atomicity semantics at low cost. LarkTM's design works well for low-contention workloads, but adds significant overhead under higher contention, so we design an adaptive version of LarkTM that uses alternative concurrency control for high-contention objects. An implementation and evaluation in a Java virtual machine show that the basic and adaptive versions of LarkTM not only provide low single-thread overhead, but their multithreaded performance compares favorably with existing high-performance STMs.

Original languageEnglish (US)
Title of host publication20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings
PublisherAssociation for Computing Machinery
Pages97-108
Number of pages12
ISBN (Electronic)9781450332057
DOIs
StatePublished - Jan 24 2015
Externally publishedYes
Event20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - San Francisco, United States
Duration: Feb 7 2015Feb 11 2015

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
Volume2015-January

Conference

Conference20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015
Country/TerritoryUnited States
CitySan Francisco
Period2/7/152/11/15

Keywords

  • Biased reader-writer locks
  • Concurrency control
  • Managed languages
  • Software transactional memory
  • Strong atomicity

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Low-overhead software transactional memory with progress guarantees and strong semantics'. Together they form a unique fingerprint.

Cite this