• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Low-overhead Software Transactional Memory with Progress Guarantees and Strong Semantics (2015)

by M Zhang, J Huang, M Cao, M D Bond
Venue:In Proc. of PPoPP
Add To MetaCart

Tools

Sorted by:
Results 1 - 1 of 1

Techniques and Applications for Guest-Language Safepoints

by Benoit Daloze, Chris Seaton, Daniele Bonetta
"... Safepoints are a virtual machine mechanism that allows one thread to suspend other threads in a known state so that runtime actions can be performed without interruption and with data structures in a consistent state. Many virtual machines use safepoints as a mech-anism to provide services such as s ..."
Abstract - Add to MetaCart
Safepoints are a virtual machine mechanism that allows one thread to suspend other threads in a known state so that runtime actions can be performed without interruption and with data structures in a consistent state. Many virtual machines use safepoints as a mech-anism to provide services such as stop-the-world garbage collec-tion, debugging, and modification to running code such as installing or replacing classes. Languages implemented on these virtual ma-chines may have access to these services, but not directly to the safepoint mechanism itself. We show that safepoints have many useful applications for the implementation of guest languages run-ning on a virtual machine. We describe an API for using safepoints in languages that were implemented under the Truffle language im-plementation framework on the Java Virtual Machine and show several applications of the API to implement useful guest-language functionality. We present an efficient implementation of this API, when running in combination with the Graal dynamic compiler. We also demonstrate that our safepoints cause zero overhead with re-spect to peak performance and statistically insignificant overhead with respect to compilation time. We compare this to other tech-niques that could be used to implement the same functionality and demonstrate the large overhead that they incur.
(Show Context)

Citation Context

...r the techniques presented in the paper might be applicable to concurrency primitives in the guest language and their expression would be rather elegant our API. 6.5 Biased Reader-Writer locks LarkTM =-=[24]-=-, a Software Transactional Memory implementation uses VM safepoints for coordinating the resolution of lock conflicts with their biased reader-writer locks [2]. They partition the threads into two cat...

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

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

© 2007-2016 The Pennsylvania State University