• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

A runtime system for . . . (2009)

Cached

  • Download as a PDF

Download Links

  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Amitabha Roy , Steven Hand , Tim Harris
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Roy09aruntime,
    author = {Amitabha Roy and Steven Hand and Tim Harris},
    title = {A runtime system for . . . },
    year = {2009}
}

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

The advent of multi-core processors means that exploiting parallelism is key to increasing the performance of programs. Many researchers have studied the use of atomic blocks as a way to simplify the construction of scalable parallel programs. However, there is a large body of existing lock-based code, and typically it is incorrect to simply replace lock-based critical sections withatomic blocks. Some problems include the need to do IO within critical sections; the use of primitives such as condition variables; and the sometime reliance on underlying lock properties such as fairness or priority inheritance. In this paper we investigate an alternative: a software runtime system that allows threads to speculatively execute lock-based critical sections in parallel. Execution proceeds optimistically, dynamically detecting conflicts between accesses by concurrent threads. However, if there are frequent conflicts, or if there are attempts to perform operations that cannot be done speculatively, then execution can fall back to acquiring a lock. Conversely, implementations ofatomic blocks must typically serialise all operations that cannot be performed speculatively. Our runtime system has been designed with the requirements of systems code in mind: in particular it does not require that programs be written in type-safe languages, nor does it require any form of garbage collection. Furthermore, we never require a thread holding a lock to wait for a thread that has speculatively acquired it. This lets us retain any useful underlying properties of a given lock implementation, e.g. fairness or priority inheritance.

Citations

431 Cilk: an efficient multithreaded runtime system - Blumofe, Joerg, et al. - 1991
274 Software Transactional Memory for Dynamic-Sized Data Structures - Herlihy, Luchangco, et al. - 2003
224 Virtualizing Transactional Memory - Rajwar, Herlihy, et al. - 2005
176 Transactional locking ii - Shavit, Dice, et al. - 2006
173 LogTM: Log-Based Transactional Memory - Moore, Bobba, et al. - 2006
161 Speculative Lock Elision: Enabling highly concurrent multithreaded execution - Rajwar, Goodman - 2001
61 Foundations of the C++ concurrency memory model - Boehm, Adve - 2008
56 Semantics of Transactional Memory and Automatic Mutual Exclusion - Abadi, Birrell, et al. - 2008
50 Privatization Techniques for Software Transactional Memory - Spear, Marathe, et al. - 2007
45 Lowering the Overhead of Software Transactional Memory - Marathe, Spear, et al. - 2006
41 Pointers: Safe Memory Reclamation for Lock-Free Objects - Hazard
39 Concurrent manipulation of binary search trees - Kung, Lehman - 1980
29 JudoSTM: A Dynamic Binary-Rewriting Approach to Software Transactional Memory - Olszewski, Cutler, et al. - 2007
27 TxLinux: using and managing hardware transactional memory in an operating system - Rossbach, Hofmann, et al. - 2007
16 Gadara: Dynamic Deadlock Avoidance for Multithreaded Programs - Wang, Kelly, et al. - 2008
13 Lihu Rappoport. Disjoint-access-parallel implementations of strong shared memory primitives - Israeli - 1994
13 Inevitability mechanisms for software transactional memory - Spear, Michael, et al. - 2008
12 Revocable Locks for Non-Blocking Programming - Harris, Fraser - 2005
10 Toward High Performance Nonblocking Software Transactional Memory,” in PPoPP ’08 - Marathe, Moir
10 Single global lock semantics in a weakly atomic stm - Menon, Balensiefer, et al.
8 Kunle Olukotun. Stamp: Stanford transactional applications for multi-processing - Minh, Chung, et al. - 2008
8 Ali-Reza AdlTabatabai. Code generation and optimization for transactional memory constructs in an unmanaged language - Wang, Chen, et al.
7 Mojtaba Mehrara. Transactional memory with strong atomicity using off-the-shelf memory protection hardware - Abadi, Harris - 2009
4 de Brum. Making object-based stm practical in unmanaged environments - Riegel, Becker - 2008
4 General and efficient locking without blocking - Smaragdakis, Kay, et al. - 2008
4 Ali-Reza Adl-Tabatabai. Irrevocable transactions and their applications - Welc, Saha - 2008
3 Towards a lock-based semantics for Java STM - Menon, Balensiefer, et al. - 2007
3 Ali-Reza Adl-Tabatabai, Vijay Menon, Tatiana Shpeisman, and Suresh Jagannathan. A uniform transactional execution environment for Java - Ziarek, Welc - 2008
2 Exploring the limits of disjoint access parallelism - Roy, Hand, et al.
1 Also available as - freedom - 2003
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University