Comprehensive Synchronization Elimination for Java (PREPRINT)

Abstract

In this paper, we describe three novel analyses for eliminating unnecessary synchronization that remove over 70% of dynamic synchronization operations on the majority of our 15 benchmarks and improve the bottom-line performance of three by 37-53%. Our analyses attack three frequent forms of unnecessary synchronization: thread-local synchronization, reentrant synchronization, and enclosed lock synchronization. We motivate the design of our analyses with a study of the kinds of unnecessary synchronization found in a suite of single- and multithreaded benchmarks of different sizes and drawn from a variety of domains. We analyze the performance of our optimizations in terms of dynamic operations removed and run-time speedup. We also show that our analyses may enable the use of simpler synchronization models than the model found in Java at little or no additional cost in execution time. The synchronization optimizations we describe enable programmers to design efficient, reusable and maintainable libraries and systems in Java without cumbersome manual code restructuring.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2003
Accession Number
ADA640221

Entities

People

  • Craig Chambers
  • Emin G. Sirer
  • Jonathan Erik Aldrich
  • Susan J. Eggers

Organizations

  • University of Washington

Tags

DTIC Thesaurus Topics

  • Algorithms
  • Compilers
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Elimination
  • Engineering
  • Hash Tables
  • Language
  • Lists (Data Structures)
  • Multithreading
  • Object Oriented Programming
  • Optimization
  • Programming Languages

Fields of Study

  • Computer science

Readers

  • Computer Science.
  • Parallel and Distributed Computing.