Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Static Analyses for Eliminating Unnecessary Synchronization from Java Programs

Summary: Static Analyses for Eliminating Unnecessary
Synchronization from Java Programs
Jonathan Aldrich, Craig Chambers, Emin Gun Sirer, and Susan Eggers
Department of Computer Science and Engineering
University of Washington
Box 352350
Seattle, WA 98195 USA
{jonal, chambers, egs, eggers}@cs.washington.edu
Abstract. This paper presents and evaluates a set of analyses designed to
reduce synchronization overhead in Java programs. Monitor-based
synchronization in Java often causes significant overhead, accounting for
5-10% of total execution time in our benchmark applications. To reduce this
overhead, programmers often try to eliminate unnecessary lock operations by
hand. Such manual optimizations are tedious, error-prone, and often result in
poorly structured and less reusable programs. Our approach replaces manual
optimizations with static analyses that automatically find and remove
unnecessary synchronization from Java programs. These analyses optimize
cases where a monitor is entered multiple times by a single thread, where one
monitor is nested within another, and where a monitor is accessible by only one
thread. A partial implementation of our analyses eliminates up to 70% of


Source: Aldrich, Jonathan - School of Computer Science, Carnegie Mellon University
Chambers, Craig - Department of Computer Science and Engineering, University of Washington at Seattle


Collections: Computer Technologies and Information Sciences