Fine-grained Adaptive Biased Locking

dc.contributor.authorPizlo, Filip
dc.contributor.authorFrampton, Daniel
dc.contributor.authorHosking, Anthony
dc.coverage.spatialKongens Lyngb Denmark
dc.date.accessioned2015-12-10T22:14:00Z
dc.date.createdAugust 24-26 2011
dc.date.issued2011
dc.date.updated2016-02-24T11:30:18Z
dc.description.abstractMutual-exclusion locking is the prevailing technique for protecting shared resources in concurrent programs. Fine-grained locking maximizes the opportunities for concurrent execution while preserving correctness, but increases both the number of locks and the frequency of lock operations. Adding to the frequency of these operations is the practice of using locks defensively - such as in library code designed for use in both concurrent and single-threaded scenarios. If the library does not protect itself with locks, an engineering burden is placed on the library's users; if the library does use locks, it punishes those who use it only from a single thread. Biased locking is a dynamic protocol for eliminating this trade-off, in which the underlying run-time system optimizes lock operations by biasing a lock to a specific thread when the lock is dynamically found to be thread-local. Biased locking protocols are distinguished by how many opportunities for optimization are found, and what performance trade-offs for non-local locks are experienced. Of particular concern is the relatively high cost involved in revoking the bias of a lock, which makes existing biased locking protocols susceptible to performance pathologies for programs with specific patterns of contention. This work presents the biased locking protocol used in Jikes RVM, a high-throughput Java virtual machine. The protocol, dubbed FABLE, builds on prior work by adding per-object-instance dynamic adaptation and inexpensive bias revocation. We describe the protocol, detail how it was implemented, and use it in offering the most thorough evaluation of Java locking protocols to date. FABLE is shown to provide speed-ups over traditional Java locking across a broad spectrum of benchmarks while being robust to cases previous protocols handled poorly.
dc.identifier.isbn9781450309356
dc.identifier.urihttp://hdl.handle.net/1885/50043
dc.publisherAssociation for Computing Machinery Inc (ACM)
dc.relation.ispartofseriesInternational Conference on the Principles and Practice of Programming in Java (PPPJ 2011)
dc.sourceProceedings of International Conference on the Principles and Practice of Programming in Java (PPPJ 2011
dc.subjectKeywords: Broad spectrum; Concurrent execution; Concurrent program; Dynamic adaptations; High costs; High-throughput; Java virtual machines; Library codes; Locking protocols; Nonlocal; Performance trade-off; Runtime systems; Shared resources; Single-threaded; Econo
dc.titleFine-grained Adaptive Biased Locking
dc.typeConference paper
local.bibliographicCitation.startpage11
local.contributor.affiliationPizlo, Filip, Purdue University
local.contributor.affiliationFrampton, Daniel, College of Engineering and Computer Science, ANU
local.contributor.affiliationHosking, Anthony, Purdue University
local.contributor.authoruidFrampton, Daniel, u3293014
local.description.embargo2037-12-31
local.description.notesImported from ARIES
local.description.refereedYes
local.identifier.absfor080399 - Computer Software not elsewhere classified
local.identifier.absseo970108 - Expanding Knowledge in the Information and Computing Sciences
local.identifier.ariespublicationu4963866xPUB196
local.identifier.doi10.1145/2093157.2093184
local.identifier.scopusID2-s2.0-84856657384
local.type.statusPublished Version

Downloads

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
01_Pizlo_Fine-grained_Adaptive_Biased_2011.pdf
Size:
588.15 KB
Format:
Adobe Portable Document Format